Commit Graph

19 Commits

Author SHA1 Message Date
Stephan Aßmus
359c905c57 offscreen bitmaps work, tested on Haiku as well, supports all colorspaces that BBitmap::ImportBits() supports. It uses a fallback for non-B_RGB(A)32 bitmaps. Added support for B_SUB_PIXEL_PRECISION view flags, though it is a bit hacky, since I had to add it to LayerData, even though it is not a true part of stack data. Added Layer::SetFlags() to enforce code path and update fLayerData. Cleaned up DisplayDriverPainter and DisplayDriver API (changed some const BRect& rect to simply BRect rect in order to be able to reuse it in the code), moved Painter.h, the test environment only draws the changed part of the frame buffer again - this causes a lot less CPU overhead, Painter special cases stroke width of 1.0 to use square caps, which is similar to R5 implementation and removes a lot of problems with non-straight line drawing, ServerWindow uses the DisplayDriver from it's WinBorder instead of the one from the Desktop (needed for offscreen windows, which have their own DisplayDriverPainter), it also checks for GetRootLayer() == NULL, because offscreen layers are not attached to a RootLayer, there was a fix for scrolling which worked at least in the test environment, it is now defunced, because Adi moved _CopyBits to Layer... I need to reenable it later, LayerData has no more fEscapementDelta, also fixed fFontAliasing (which was thought to overriding the font flags, and now works as such again), Desktop initialises the menu_info and scroll_bar_info stuff, which makes ScrollBars work actually... hope I didn't forget something.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13448 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-05 16:17:16 +00:00
Stephan Aßmus
2734243aca Preparation of more correct support for state stack.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13201 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-17 13:20:45 +00:00
Axel Dörfler
dd10337fd0 Renamed BAppServerLink to AppServerLink, BPortLink to PortLink, LinkMsgReader
to LinkReceiver, LinkMsgSender to LinkSender, and put everything into the
BPrivate namespace.
Made AppServerLink a cheap object - it will use the applications receiver/sender
and not create its own buffers.
Fixed broken communication stuff here and there (mostly Font.cpp).
Put the newly introduced set|get_system_colors() into the BPrivate namespace -
please don't introduce private functions into the public namespace!!!
Also fixed their broken communication use, as Darkwyrm obviously forgot about
it again: the sequence Flush(); GetNextMessage() without error checking is
purely wrong and can make the app hang and/or crash! :-)
Other minor cleanup.
The input_server used some test mode with the haiku build target which is
probably wrong.
Hopefully I did not forget anything this time.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13128 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-14 21:28:56 +00:00
Adi Oanca
9080b4b47c viewColor, background and overlay bitmaps are not part of a view graphics state anymore
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13050 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-10 16:05:34 +00:00
Stephan Aßmus
59345e264f huge cleanup, support for SetSizeLimits, support for truncating strings, numerous decorator bug fixes, Layer does not draw when view color is B_TRANSPARENT_COLOR, cleaner dispatching of mouse events to the WinBorder in RootLayer, commented the char map selection in the font server, as it seems glyph lookup by unicode index works much better with the default map
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12945 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-03 19:50:30 +00:00
Stephan Aßmus
db7226db9d work in progress to get scrolling working, so Adi can have a look, no changes to existing functionality, cleanup in Layer.cpp
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12481 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-27 17:26:57 +00:00
Stephan Aßmus
e742e3e106 refactoring and cleanup in LayerData and friends, it shows what I mean by "forced code paths" for example in coupled font size and view scale, added a couple TODOs, disabled decoupled frame buffer transfers, it is buggy and deadlocks for some reason...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12441 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-19 00:42:42 +00:00
DarkWyrm
66133bb5d9 s/OpenBeOS/Haiku/
Style fixes for ServerBitmap and ServerCursor
Assignment operator for GraphicsBuffer


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9018 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-20 22:46:37 +00:00
shadow303
225784b713 Minor tweaks to StrokePoint and StrokeSolidLine parameters.
Rename clippReg to clipReg


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7621 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-20 01:28:17 +00:00
Adi Oanca
254a8cc4a3 added PrintToStream method
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7147 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-04-03 15:03:57 +00:00
DarkWyrm
f9de45c608 Major overhaul of the DisplayDriver API
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6336 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-27 00:39:41 +00:00
Adi Oanca
2a006628cc small fix. removed 2 memebers.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5358 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-11-14 00:31:52 +00:00
shadow303
c01b1be5a0 Add visible region to layerdata
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5059 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-16 22:21:19 +00:00
DarkWyrm
ef56e590dd Speedup for color lookups
Prevent crashes when things other than the server utilize LayerData objects


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4949 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-05 17:40:20 +00:00
Adi Oanca
27e018e33c added support for picture clipping and state stack
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4800 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-25 12:12:58 +00:00
Adi Oanca
09c067b8e4 * modified 'font' member from '*font' to 'font'. '*font' was getting the pointer to system's plain font, and worse, it modified it. Now, it's all OK.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4682 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-15 18:58:06 +00:00
DarkWyrm
3bd752a3a3 Moved FontServer.h to private app_server headers - unbroke the build`
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4607 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-09 10:27:08 +00:00
Adi Oanca
e2dd24fc3c added new memebers
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4571 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-08 21:03:25 +00:00
DarkWyrm
9381d29b6f Massive reconfiguring to fix link problems with all things needing app_server so
urces


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3963 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-13 20:56:00 +00:00