Commit Graph
100 Commits
Author SHA1 Message Date
Stephan Aßmus 8c1a98d8d4 * there was a complete mixup of "drawing origin" and "scrolling offset" in the
BView implementation (client side)
* introduced some private methods for _Convert*(BPoint*) methods which avoid
  doing the check_lock() thing in the recursion, also Origin() would likely
  have communicated with the app_server all the time, since the origin bit
  was needlessly invalidated, so some speedup should be achieved
* this should fix ticket #98


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21900 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-12 09:52:25 +00:00
Stephan Aßmus 95baf31294 * view accepting bitmaps are now cleared to white
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21895 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-11 15:56:37 +00:00
Stephan Aßmus aadc09c665 * fix the mixup of charCount (glyphs) versus bytes. The new font cache
implementation takes the byte count, even though it looks like this is
  less efficient when the glyph count is already known (I tested to
  optimize it away but it was not faster)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21891 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-11 13:34:09 +00:00
Stephan Aßmus b595496d03 * minor cleanup
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21890 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-11 13:31:59 +00:00
Stephan Aßmus e4273662d2 * this function might be called with a NULL FontCacheEntry, handle that
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21889 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-11 13:16:07 +00:00
Stephan Aßmus fe914c98b4 * added a version of SetFont() that takes a DrawState* to DrawingEngine and
Painter, that is needed to be able to tell if anti-aliasing is to be used,
  since the flags in the font can be overruled by the flags in the view...
* fixes aliased fonts reliably, tested with FontDemo


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21869 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-09 09:48:28 +00:00
Stephan Aßmus 05357ae700 Fixed an interesting bug in the app_server, after beating my head against
this for a long time... what happens when the app_server has requested a
redraw, but the client sends some drawing commands before starting the
redraw session? This would be the case, for example, when TextViews got
notified of their parent window becomming active (they would invert the
selection outside of any update session). When there was an additional
expose event, the app_server would already have the background cleared, so
the lonely "invert" command would invert the freshly painted background. Then
the normal Draw() of the TextView would be called because of the expose event.
By the time the text was rendered, it was rendered on the inverted background,
then the normal Draw() contained another "invert" command to invert the
region of the selection. Thus inverting just the text, and the background
twice. Solution:
* introduced a special handling for drawing commands arriving between
  requested update session and beginning of that session: the pending
  update region is clipped from the region the client is allowed to draw in.
* fixes funny text rendering in the selected part of text views. For example
  ticket #908.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21867 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-09 00:33:50 +00:00
Stephan Aßmus e83f8dc9a0 Didn't I have a bad feeling because of code duplication?
* fixed a bug in the font cache, the signature was generated in one way
  (rendering type) while the initialization of the font engine could
  use another way
* should fix non-antialiased straight text
* weird non-transformed text in FontDemo
* generally not using vector glyphs when it was supposed to use them (rotated
  or sheared text, or non-antialiased text)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21866 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-09 00:25:52 +00:00
Stephan Aßmus ee5180067d * the black SVG version now includes the dropshadows as bitmaps, which, given
that they are blurry anyways, should give you a perfectly scalable version of
  the logo in SVG


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21859 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-08 20:33:36 +00:00
Stephan Aßmus bbc424771b * convert shape coordinates to screen at the time of playing the picture
(fixes ticket #1367, stefano I thought you knew that I meant this in an
  earlier mail)
* move_pen_by() looked wrong in ServerPicture, have not tested though
* make sure the pen location is adjusted after stroke_line() and draw_string()
  in ServerPicture
* set_pen_location() does not need to update the Painter drawing state
* ServerWindow AS_LAYER_SET_PEN_SIZE needs to set the resulting pen size of
  the drawing state stack, not the one set on the current state
* ServerWindow AS_LAYER_GET_PEN_SIZE needs to return the current state's
  size, not the result of the stack
* small cleanups


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21855 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-08 18:36:23 +00:00
Stephan Aßmus a748b927a5 * make sure that the pattern used for line arrays is B_SOLID_HIGH
and that the previous pattern is restored after execution


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21853 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-08 18:30:28 +00:00
Stephan Aßmus aaa42c7e22 * added a way to get the unscaled pensize (ie that of the current draw state
of a view)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21852 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-08 18:29:09 +00:00
Stephan Aßmus 7f8d0be06f * fix ticket #1365, isinf(x) -> isinf(value)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21849 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-08 09:14:38 +00:00
Stephan Aßmus fc0369ec27 * added the Haiku logo with white and black letters as SVG. This does not
have the nice drop shadows, so it's only meant to be helpful to reproduce
  the logo in other graphics packages, but it's not the real logo!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21844 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-06 18:54:20 +00:00
Stephan Aßmus 4971740e39 * in FillRegion(), check if the current drawing mode is B_OP_INVERT,
and then use hardware acceleration... found out this is what our
  BTextView is actually using, that's why it never used hardware
  acceleration for invert rect/region before. Have not tested this on
  real hardware yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21843 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-06 18:50:44 +00:00
Stephan Aßmus 90ad4da30d * small cleanup
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21842 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-06 18:49:11 +00:00
Stephan Aßmus fe80954c2d * patch by Andre Garzia to fix some coding style issues
* fixed a potential memory leak in EthernetSettingsView::_ShowConfiguration()
  when the ioctl didn't succeed


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21834 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-06 09:46:42 +00:00
Stephan Aßmus c9d2046fe5 * after my last changes to font rendering, it was about 15% slower than
before (although there should be much less lock contention)
* with this change, there is quite a bit of cleanup, text drawing is now
  about 20% faster than before the original changes to font caching,
  mostly due to turning off the kerning feature, which at the moment
  gives absolutely no benefit. The correct way of doing it might be to
  use kerning depending on the provided glyph spacing mode
* removed fPenLocation from Painter, the usage should be more correct now,
  since it is now consistently applied before the coordinate transformation
  from view to screen (also for DrawShape() now, before any view scaling
  and origin offset)
* Painter no longer has it's own instance of a ServerFont, instead it uses
  its AGGTextRenderer instance, which was per Painter again after the
  last change, and not global anymore, made _UpdateFont() useless
* When using GlyphLayoutEngine, it supports a second pass with the same
  FontCacheEntry through the introduction of a FontCacheReference. This
  speeds up DrawString a little, since it needs to calculate the bounding
  box for the string, and then draw the string in a second pass. This is
  now done with only one FontCacheEntry lookup
* I also tried to optimize the on-the-fly conversion of UTF8->CharCode away,
  since it was done four times per DrawString, but surprisingly, it proofed
  to be a slight slowdown.
* introduced a shortcut in DrawingEngine::DrawString() which avoids
  calculating the bounding box, we are now a tiny bit faster to figure
  out that we don't need to draw any string than Dano

In the test environment (drawing to offscreen bitmap and blitting to
screen eventually), text rendering is now about 3.7 times _faster_ than Dano
text rendering (directly to screen), for untransformed text. Unfortunately
I cannot test on the same machine in accelerant using version of the test
environment.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21822 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-04 11:37:16 +00:00
Stephan Aßmus 94a48ae276 * use a different message code for DrawString() with escapement delta
and DrawString() without
* this change also includes adding the penlocation to the shape to-screem
  coordinate conversion (temporarily breaks shape rendering, will be fixed
  in next commit)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21821 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-04 11:22:47 +00:00
Stephan Aßmus c68e76bc26 * if there is any app actually using suggest_thread_priority() it won't
no longer use idle priority, even if an actual implementation is still
  missing


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21820 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-04 11:19:56 +00:00
Stephan Aßmus 7c1cb28850 * cache the tab highlight and shadow color
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21819 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-04 11:18:21 +00:00
Stephan Aßmus a4dcea7870 * remove dos newlines
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21818 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-04 11:16:22 +00:00
Stephan Aßmus 25a7061652 * moved AGGTextRenderer alongside it's pal, Painter, it felt lonely,
removed font_support folder
* ServerApp can use ServerFont::StringWidth() directly again
* more ServerFont functions implemented via GlyphLayoutEngine and
  custom consumer
* extended GlyphCache data structure to hole the left/right insets
  of the glyph shape between its advance width, took it from the earlier
  ServerFont implementation, have not tested if that gives same result
  as R5
* TODO: implement GetGylphShapes via GlyphCache, although it might not
  look as clean as it does now


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21805 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-03 01:11:27 +00:00
Stephan Aßmus 4389b7028c * TransformBounds() takes a const BRect&
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21801 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-02 21:05:34 +00:00
Stephan Aßmus 1a6914c517 * fixes the build, forgot to include in r21797
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21800 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-02 21:05:01 +00:00
Stephan Aßmus 2222864eed * complete overhaul of the font/glyph caching
* the previous AGG implementation is superfluous
* the new implementation is based on that one, but in a way that allows
  read/write locking to the list of cache entries (fonts) as well as
  read/write locking to the cached glyphs per individual font cache entry
* new GlyphLayoutEngine.h, which is to be the central place for layouting
  glyphs along the baseline.
  It handles the locking for getting the font cache entries.
  It works by giving it a template class GlyphConsumer which does the
  actual work.
* changed AGGTextRenderer to use the new font cache
* changed ServerFont::StringWidth(), and the bounding box stuff to use it
* changed DrawingEngine, it doesn't need the global font lock anymore
* our BFont thought that GetBoundingBoxesAsGlyphs and GetBoundingBoxesAsString
  is the same, which of course it isn't, hence the two separate functions...
  AsGlyphs just gets the bounding box of each glyph in a string, not treating
  the string as an actual word
  AsString adds the offset of the glyph in the word to the bounding box
* changed ServerProtocol.h accordingly for the different bounding box meaning


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21797 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-02 19:10:38 +00:00
Stephan Aßmus 693c7a1eaa * I was trying to debug my new font stuff in the app_server for about an hour
before I realized that it was FontDemo which was broken. It was easy to tell
  once I ran it on R5 for comparison... :-\


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21796 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-02 18:32:00 +00:00
Stephan Aßmus 075430faf4 * put some more useful utility classes into "shared". I tried to make sure
that OpenHashTable.h does not collide with all the other places that this
  is used, it seems everything still builds fine. Most problematic could be
  the OpenHashTable.h at kernel/util, but it seems it the target using
  that are not affected.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21792 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-02 16:28:34 +00:00
Stephan Aßmus d22f48c908 * fix the build of the app_server test environment (libbe_test) after
the change to the nodemonitor syscall


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21791 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-02 16:23:49 +00:00
Stephan Aßmus 78f1b0e97c * added IsLocked() method to AutoWriteLocker
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21789 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-02 13:04:27 +00:00
Stephan Aßmus 5286819920 * last commit broke rendering dots (though it should have been just more
work and no visual change... don't know why) -> fixed


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21686 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-22 20:04:14 +00:00
Stephan Aßmus 38287e02af * completed my changes to DrawState handling, the current DrawingState
of the active ViewLayer is now always mirrored in the Painter instance
  of a ServerWindow, so that it doesn't need to be synced on every drawing
  command, this was previously incomplete for font handling
* removed the DrawState parameter from all the DrawingEngine functions
* adjusted ServerWindow and ServerPicture accordingly
* made sure that string related functions used by non-drawing related
  parts (ServerApp, Decorator) don't interfere with the current drawing
  state
* moved AS_SYNC handling from _DispatchViewMessage to _DispatchMessage,
  it is actually a window message and doesn't require fCurrentLayer to
  be valid
* fixed bug #1300, fCurrentLayer was not updated when a ViewLayer was
  deleted by client request which happened to be fCurrentLayer (I am now
  handling it so that the parent becomes the current layer, could be
  wrong)
* AGGTextRenderer is no longer using it's own scanline, which should save
  a few bytes RAM, the Painter already had such an object
* StringWidth() in AGGTextRenderer is now taking the escapement_delta into
  account
* Painter::StrokeLine() doesn't need to check the clipping as much, since
  that is already done in DrawingEngine
* if a ServerWindow message is not handled because fCurrentLayer is NULL,
  a reply is sent in case the messages needs it (client window could
  freeze otherwise, waiting for the reply for ever)
* removed unused AS_SET_FONT and AS_SET_FONT_SIZE
* added automatic RGBColor -> rgb_color conversion to RGBColor.h
* minor cleanup for 80 char/line limit



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21685 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-22 19:48:27 +00:00
Stephan Aßmus d069bd6917 * small correction in error handling code path
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21684 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-22 19:33:08 +00:00
Stephan Aßmus 6f867cc1de * rearranged includes
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21683 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-22 19:29:56 +00:00
Stephan Aßmus 7223defe3f * removed unused function
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21682 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-22 13:34:54 +00:00
Stephan Aßmus 779b52e5d0 * fix some issues with line placement, now it should be as close to R5
as possible without unacceptable overhead.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21676 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-21 16:06:22 +00:00
Stephan Aßmus 1255bc6988 * added copyright for BRegion backend implementation
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21675 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-20 11:16:04 +00:00
Stephan Aßmus 93a30169f3 * fix the build, forgot to commit this...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21667 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-19 17:22:53 +00:00
Stephan Aßmus ed2254308b * just realized a bug already when reading over the commit log...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21666 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-19 17:16:54 +00:00
Stephan Aßmus 582da17386 * complete reimplementation of BRegion and it's backend
I "ported" the region implementation from XOrg to work on BRegion data.

This resulted in pretty much the same code structure as before, with 
RegionSupport.cpp containing the messy details. Only now it _is_ really messy
from a code beauty point of view. I didn't exactly feel like cleaning it
up right now... but I guess I will have to.

So what does this mean - our BRegion implementation was very slow (no offense!),
and on top of that it scaled very badly with more and more rects. The new
implementation seems to be on par with the very fast R5 implementation and
the data looks exactly the same too. BRegion is very performance critical
for the app_server, and I cannot wait to try this on my slow computer...

Some changes are noteworthy: The right and bottom coordinates of
BRegion internal data are now exclusive! I inherited that from the
XOrg implementation and didn't feel like changing the code, seeing it
is probably tested quite well. The conversion is handled transparently.

Secondly, constructing a BRegion with just one rect is not invoking
malloc anymore for the member data, this makes it much more efficient
to use temporary BRegions with just one rect, both externally and internally
in the BRegion implementation.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21665 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-19 17:06:28 +00:00
Stephan Aßmus eb9f93f347 * cleanup, removed use of pointers and allocations
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21650 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-18 17:02:44 +00:00
Stephan Aßmus 6369b909b2 * fix comment
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21649 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-18 17:02:03 +00:00
Stephan Aßmus 33ab66d539 * check the overlay of the child being removed, instead of the view's own
overlay (Axel please review)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21648 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-18 17:01:34 +00:00
Stephan Aßmus 41b487e43c * accidentally left the profiling on in last commit
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21647 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-18 13:22:26 +00:00
Stephan Aßmus 67f3be42b0 * added ProfileMessageSupport.h/cpp to translate server message codes to
a string
* fixed profiling of message processsing in ServerWindow (didn't take batch
  processing into account)
* accelerated ViewLayer::RebuildClipping() by a factor of two by avoiding
  BRegion::Exclude(clipping_rect) for each child, and instead building
  one region with all children, and excluding that. RebuildClipping() is
  quite a common operation and is quite slow for views with many children


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21646 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-18 12:59:05 +00:00
Stephan Aßmus da819d069e * performance optimization, getting the bounding box of a text is about 10%
faster


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21644 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-18 12:29:44 +00:00
Stephan Aßmus 0896fce5fb * since every window has it's own Painter instance, the drawing state does
not need to be "set" (transfered from the "current" view to the painter)
  for each singly drawing command. Now, painter is synchronized whenever
  the client changes the drawing state of the current view, or when the
  current view changes.
* the screen offset of the current view has become part of the Painter state,
  in the PatternHandler. This fixes a bug in which moving or scrolling a view
  which used patterns for drawing, resulted in visual glitches (seams in the
  pattern).

NOTE: this patch is a bit work in progress, most importantly, it is not
complete with regards to text rendering. More specifically, the server
applications and other parts of the appserver might set a font on the Painter
and this might mess up the synchronization. But this happens on the Desktop's
Painter instance (only?), and so it is not a problem. I did observe some
drawing bugs with this patch though, so bug reports are welcome, particularily
how to reproduce these bugs reliably.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21643 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-18 09:35:40 +00:00
Stephan Aßmus 0794971822 * one can now specify and "offset" which will be taken into account when
looking up the color in the pattern, this is needed because before,
  patterns were always drawn with the virtual origin in screen coordinate
  space, but they need to be drawn with view coordinate origin taken into
  account (will be implemented in a forthcomming commit)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21639 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-17 20:52:47 +00:00
Stephan Aßmus 5fdc05c105 * make sure that the 80 chars per line limit is not exceeded
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21638 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-17 20:48:54 +00:00
Stephan Aßmus fd5d46e099 * separated FontStyle and FontFamily into different .h/cpp, before they shared
FontFamily.h/cpp (just for the reason that this is how we do it mostly
  everywhere)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21637 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-17 20:48:06 +00:00
Stephan Aßmus c65e90b36c * fixed build of libbe_haiku.so on BONE compatible hosts
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21635 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-17 19:54:38 +00:00
Stephan Aßmus 4d4ee928bf * work in progress new Network preflet by Andre Garzia (GSoC student)
- can currently display the configuration of a chosen ethernet device


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21588 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-09 09:14:25 +00:00
Stephan Aßmus 7b6156a275 * moved network to network_old to make room for new preflet by Andre Garzia
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21587 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-09 09:09:33 +00:00
Stephan Aßmus 560e5dfccc * compile fix for ZETA, provided by Ingo
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21575 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-05 21:00:27 +00:00
Stephan Aßmus 7a90948b20 * this should fix BWindow::FindChild(BPoint)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21537 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-01 14:57:41 +00:00
Stephan Aßmus 028e368c21 * added C-Media CMI8338/8738-based sound card device driver, it originates
from C-Media itself, and was later improved upon by Marko Koscak
* includes some fixes by Dr. Hartmut Reh
* uses old audio driver API
* builds, but I don't know if it works yet. I do have such a card, but
  on another computer... will check if it works and add it to the image if
  it does


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21536 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-01 13:15:01 +00:00
Stephan Aßmus c1071005c9 * moved R3 audio driver interface definition to private headers along
with R3MediaDefs.h


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21535 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-01 13:09:27 +00:00
Stephan Aßmus 880e4292a1 * implemented an xvid based decoder plugin
-> It is currently disabled, because it won't link.
   I would need to add xvid to the tree, but that would add nasm
   as a build dependency. I need to talk this over with Ingo. However,
   it is quite easy to build xvid yourself and link the decoder, should
   you want to test it. It works fine under ZETA when compiled to use
   the undocumented R5 Decoder API.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21504 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-25 21:11:55 +00:00
Stephan Aßmus 0f5e6b41e7 * remove QuitRequested() implementation again, because the bug that MediaPlayer
didn't quit was really in BApplication (the fix there also fixes other apps
  not quitting, like Icon-O-Matic and probably others)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21502 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-24 11:45:50 +00:00
Stephan Aßmus 82d0e2c2b5 * do not ask hidden windows if they want to quit (not to be confused with
minimized windows, those need to be asked of course)
* added some comments about why this code is a little flawed but works anyways

NOTE: I really wonder wether traversing the window list in reverse is correct


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21501 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-24 11:43:48 +00:00
Stephan Aßmus 6af4da5dcb * added MediaConverter, the improved version by Jun Suzuki, to the source tree
* I completely rearranged the source and fixed a few bugs, one of which
  prevented me to use this tool to convert some XViD encoded AVIs that had
  sound to PJPEG encoding.
* it is currently agreed to have this in the source, but not on the image yet,
  the MediaKit doesn't support writing anyways as of now


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21489 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-21 22:19:02 +00:00
Stephan Aßmus b69827d9b5 * fixed ScrollView framework to support data rects with negative left/top
coordinate correctly


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21488 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-21 22:14:44 +00:00
Stephan Aßmus 45f929b494 * added BCommandPipe class (currently private API) kindly provided by
Ramshankar
* adopted to Haiku coding style


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21463 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-19 12:38:29 +00:00
Stephan Aßmus 13526fae69 * compile fix provided by Michael Berg
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21449 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-18 08:39:37 +00:00
Stephan Aßmus 2cb637f4b9 * compile fix provided by Michael Berg
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21448 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-18 08:38:01 +00:00
Stephan Aßmus 033bb29d51 * compile fix provided by Michael Berg
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21447 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-18 08:35:50 +00:00
Stephan Aßmus 8ec143c887 * compile fix provided by Michael Berg
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21446 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-18 08:34:20 +00:00
Stephan Aßmus dba332c353 * compile fix provided by Michael Berg
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21445 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-18 08:32:11 +00:00
Stephan Aßmus 3227f93fb2 with Ingo's help:
* fixed the build of netfs under BONE/Dano by using
  the already existing build system defines instead of wrong checks
  for wether to use BONE headers
* the client tried to bind to a non existing address for receiving
  broadcasts from the server (but the broadcasts are still not received,
  which will be worked on next)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21409 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-14 14:40:58 +00:00
Stephan Aßmus e31380534b * GCC4 compile fix by Fredrik Ekdahl
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21387 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-10 20:29:44 +00:00
Stephan Aßmus a9c2d6b320 * compile fix, thanks to Fredrik Ekdahl
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21386 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-10 20:24:48 +00:00
Stephan Aßmus f32e3a29b0 * implemented default buttons
* window size limits are correctly set
* one can now chose between horizontal and vertical layout
  (brilliantly simple with the new layout system :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21385 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-10 19:58:16 +00:00
Stephan Aßmus 943ef65ef4 * cleanup in the Leaf menu: Applications is no longer a link to
/boot/beos/apps, but a folder containing links to _selected_
  apps in that folder
* a new entry "Desktop Applets" has been added, which contains
  all the apps that you either do or do not start at system boot,
  but don't need frequent access to
* some apps have been hidden:
  - ShowImage and Expander are usually not
    directly started on their own, but through double clicking documents
  - AboutSystem is invoked elsewhere from the Leaf menu, so it doesn't need
    to clutter the Applications menu
* we almost introduced a third category for rarely used apps, but in the
  end it would only have contained Installer, Icon-O-Matic and Diskprobe,
  and we felt that it is ok to leave these in the Applications menu, as long
  as their number is small


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21374 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-09 12:07:55 +00:00
Stephan Aßmus 25648ff020 * added LaunchBox, an application launcher with drag&drop support
* it has been rewritten from using liblayout to use the new Haiku
  layout framework
* TODO: it should come with default settings
* TODO: the minimum window size is not yet set by the layout framework (?)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21373 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-09 12:01:39 +00:00
Stephan Aßmus a5a90db701 * move include of SupportDefs.h to header, since the types are used there
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21371 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-09 11:58:59 +00:00
Stephan Aßmus 333a5985cf * vector icon, work mostly by zuMi and tweaks myself
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21370 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-09 11:58:08 +00:00
Stephan Aßmus 8812976dce * implemented icon size and layout to depend on the system plain font size
(currently, a font size above 16pt will make the icon 64x64, TODO: some
  of the other insets could depend on that value too)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21369 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-09 11:37:13 +00:00
Stephan Aßmus 2a72b9fead * re-enabled the InfoWin
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21335 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-05 23:23:44 +00:00
Stephan Aßmus 7d6047f97c * moved Pulse from Apps to Demos
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21325 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-05 09:50:21 +00:00
Stephan Aßmus 415ef601df * probably fixed the build, did I forget some files before?
* implemented full undo/redo for any playlist operations


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21317 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-04 01:00:03 +00:00
Stephan Aßmus cc2fbed22d * implemented infrastructure for undo/redo of playlist operations,
everything regarding playlist modification is now tunneled through
  the playlist window


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21312 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-03 21:24:47 +00:00
Stephan Aßmus 7d7550a04b * by popular request, you have to hold shift down in the playlist window
when you want to replace the playlist by the stuff you are dragging,
  the default behaviour is now to insert/append it to the existing items



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21309 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-03 20:18:55 +00:00
Stephan Aßmus 708491da60 * fix stupid bug that prevented the playlist to be seen at all in Haiku
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21306 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-03 15:18:31 +00:00
Stephan Aßmus 09464bc90b * extraced PlaylistListView into it's own files
* lots of changes, besically these make the Playlist window usable
  - drag sorting works (hold shift to copy instead of move items)
  - removing items with the delete key works
  - dragging files/folders from Tracker works (hold shift to insert
    them in the existing playlist, othewise the new files replace
    the playlist)
* some refactoring and bug fixes in previously unused functionality
* Playlist can now be locked (needed to be), and is in ControllerView,
  MainWin and PlaylistListView


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21305 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-03 14:35:48 +00:00
Stephan Aßmus 1ad1713ad2 * applied patch by Jonas Sundström,
makes the Escape key cancel the restart/shutdown dialog


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21303 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-03 08:18:34 +00:00
Stephan Aßmus 0d9c65d558 * applied patch by Jonas Sundström, the draggable icon in the Find window
will be drawn with alpha channel


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21302 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-03 08:16:13 +00:00
Stephan Aßmus d329f1d6c1 * cleanup in MainWin, better grouping of functions in .h and
moved functions in .cpp accordingly, prepended private methods with _
* disabled InfoWin, because it accessed members of MainWin directly, 
  will be reimplemented with notification mechanism
* fixed the bug with the multiple error alerts for an unsupported file,
  the window should use the current file index from the notification
  itself


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21300 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-02 23:22:30 +00:00
Stephan Aßmus b2d0e81723 * as an observer, the view needs to handle all observer notification messages,
or else these messages end up in the window MessageReceived()
  (since the MainWindow was observing the same notifier, it received some
  notifications twice, which was part of the reason that unrecognized files
  produced multiple error messages as reported by Marcus)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21298 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-02 22:53:09 +00:00
Stephan Aßmus 1518e4101b * Icon-O-Matic prepends a magic number when writing native files, this way
we can associate these native files with Icon-O-Matic (they also get their
  own mime type)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21295 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-02 18:35:29 +00:00
Stephan Aßmus b52415cc2e * added Ithamar R. Adema to the list of active developers
* moved Siarzhuk Zharski and François Revol from contributors
  to the list of active developers
* moved Thomas Kurschel to the list of contributors
* added Michele aka zuMi to the list of contributors
Disclaimer:
* I might have forgotten someone who should be in active developers
* I didn't mean to discourage anyone
* I am against having three separate lists anyways... :-)
* Please take it as what this is: I wanted to put Ithamar and zuMi in there
  and did some cleanup along the way...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21293 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-02 11:17:38 +00:00
Stephan Aßmus 7a883ee67a * new video icon, based very much on icon submitted by zuMi
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21292 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-02 11:05:57 +00:00
Stephan Aßmus 1dde2ccb3e * added bookmark and volume mimetimes, don't know about bookmark, but I think
it should be reused by whatever browser we end up with



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21291 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-01 21:32:50 +00:00
Stephan Aßmus b31d4c4373 * messed up the build... ICON->VICN
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21289 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-01 17:32:55 +00:00
Stephan Aßmus 6bcb391782 * added icons for Devices, Joystick and Printers
-> done by zuMi with very minor modifications by myself


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21288 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-01 16:37:03 +00:00
Stephan Aßmus 9f566fb9c2 * added modem icon done by zuMi
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21287 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-01 16:32:30 +00:00
Stephan Aßmus df50d6f79d * added query, query-template, printer, generic printer, floppy and bookmark icons.
-> all done by zuMi sometimes with minor modifications by myself


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21286 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-01 16:28:39 +00:00
Stephan Aßmus 61e7b772ea * added the symlink type, icon is also based on work by zuMi
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21285 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-01 16:26:04 +00:00
Stephan Aßmus fe2d08af25 * added mimetypes for query and query-template
-> icons were done by zuMi, thanks!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21284 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-01 16:23:07 +00:00
Stephan Aßmus 8c113568ce * fixed GCC 4 build, thanks Fredrik Ekdahl
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21278 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-30 17:39:26 +00:00
Stephan Aßmus 7d3aade673 * added two autoheader and gawk to the list of dependencies
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21277 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-30 16:55:47 +00:00