Commit Graph
100 Commits
Author SHA1 Message Date
Stephan Aßmus 30f5afc8a9 I'm keeping the version which can be used as a BView replacement here. The API for the one used in app_server will change for it to be come more efficient.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12236 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-04 17:47:41 +00:00
Stephan Aßmus 8940f93c1d AccelerantHWInterface now uses a MallocBuffer as RenderingBuffer for the back buffer instead of a BitmapBuffer, which under Haiku does not work.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12217 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-01 10:36:23 +00:00
Stephan Aßmus a356096dba massive performance improvements. On my ancient 2xPII 350, the DisplayDriverPainter with the ViewHWInteface is pretty much usable now. It could be even better if app_server culmulated update requests more.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12180 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-31 10:46:02 +00:00
Stephan Aßmus 89b3c19c8a ViewHWInterface updates are a bit smoother now
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12175 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-30 23:02:44 +00:00
Stephan Aßmus 15b391f607 more correct implementation, forgot header again
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12173 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-30 22:24:40 +00:00
Stephan Aßmus fbdc6c450d ups, forgot this one, but it doesn't help. views seem to have no clipping applied to them at all now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12171 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-30 22:11:48 +00:00
Stephan Aßmus 03339b3565 added Adis changes, started to return BRect in Painter drawing functions, this will be the area enclosing all pixels that were touched by an operation, so that the DisplayDriverPainter knows exactly what region to copy from back to front buffer, it calculates that by itself for all other functions, which is not as robust.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12170 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-30 22:10:42 +00:00
Stephan Aßmus e18f9c5e67 with the optimization for solid horizontal and vertical one pixel wide lines, and for solid rectangles, the performs gap between Painter and original BView closes, with BView being 0.12 times faster drawing lines and 1.4 times faster drawing rectangles... into a BBitmap
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12169 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-30 22:05:22 +00:00
Stephan Aßmus 45c0cd28d8 scrolling BViews now works, tested with MiniTerminal, added lots of TODO stuff, maybe Adi or DarkWyrm should have a look, maybe they can clear some stuff up for me.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12161 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-30 16:05:05 +00:00
Stephan Aßmus 6283b1c6dd removed leftover code
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12157 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-30 11:11:17 +00:00
Stephan Aßmus d324aa8386 fixed MiniTerminal rendering, for real now
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12151 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-30 00:12:24 +00:00
Stephan Aßmus bf72c9e259 fixed MiniTerminal rendering
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12149 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-29 23:56:42 +00:00
Stephan Aßmus d01b623805 some improvements to font handling, but Miniterminal still renders only black blocks
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12148 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-29 23:42:52 +00:00
Stephan Aßmus 0cabce17c3 fixed some font related problems, Painter should now rely on the app_server font manager. maybe I fixed some compile problems too. Sorry if that was the case.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12145 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-29 22:58:09 +00:00
Stephan Aßmus d3b0b7b979 fixed some font related problems, Painter should now rely on the app_server font manager. maybe I fixed some compile problems too. Sorry if that was the case.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12144 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-29 22:57:43 +00:00
Stephan Aßmus 127b4b0a4b moved more of the old stuff from DisplayDriver into DisplayDriverImpl
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12142 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-29 22:22:44 +00:00
Stephan Aßmus 3f537e5fa7 moved more of the old stuff from DisplayDriver into DisplayDriverImpl
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12141 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-29 22:22:28 +00:00
Stephan Aßmus 13066bfea1 it belongs here
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12140 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-29 22:01:21 +00:00
Stephan Aßmus e33b8950a0 removed const declaration to allow locking in DisplayDriverPainter, as I think access to this needs to be serialized
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12139 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-29 22:00:48 +00:00
Stephan Aßmus a91f954cd8 this does not belong here
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12138 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-29 22:00:21 +00:00
Stephan Aßmus b3b4f48527 removed const declaration to allow locking in DisplayDriverPainter, as I think access to this needs to be serialized
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12137 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-29 21:45:52 +00:00
Stephan Aßmus 7ad3536bb5 remove some views, the more we use, the more problems...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12136 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-29 21:27:35 +00:00
Stephan Aßmus 7940a07172 DisplayDriverPainter should now use the new AccelerantHWInterface when compiled for Haiku, added locking to the rest of the functions which access HWInterface instance
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12135 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-29 21:26:58 +00:00
Stephan Aßmus 9c59f2f207 fixed app_server build, though I don't exactly know why that fixes it
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12130 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-29 18:32:43 +00:00
Stephan Aßmus d3db964ed0 code refactoring, moved common stuff into the base class
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12129 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-29 17:36:38 +00:00
Stephan Aßmus 0985210969 added this very useful compare function
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12122 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-29 16:30:46 +00:00
Stephan Aßmus 1a7fc52717 added some functions with optimized implementation, optimizes most frequent usage
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12113 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-29 01:43:04 +00:00
Stephan Aßmus 74516f2ac3 added some functions with optimized implementation
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12112 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-29 01:40:38 +00:00
Stephan Aßmus e33b90ea35 implemented cursor support in the DisplayDriverPainter
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12107 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-28 18:03:45 +00:00
Stephan Aßmus 31f3fbc45c moved original cursor stuff into DisplayDriverImpl, now DisplayDriver is pretty much all abstract
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12106 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-28 18:03:04 +00:00
Stephan Aßmus e0bb2421ea whoa - how did this even work?
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12094 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-28 14:29:18 +00:00
Stephan Aßmus 197f82a8fe sorry, forgot to commit the move of the locking implementation
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12093 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-28 13:43:39 +00:00
Stephan Aßmus 181a984e2a implemented the rest of the drawing calls save for Stroke/FillShape, since I would have to ask what kind of data this function is being passed
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12092 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-28 13:39:35 +00:00
Stephan Aßmus 02ec6ae825 Implemented and tested the color spaces B_RGB16, B_RGB15, B_CMAP8 and B_GRAY8. The trick is this: The Painter based implementation will most likely always use a double buffered approach. I simply made the back buffer, into which Painter draws, always B_RGBA32, while the front buffer can have any other format the drawing backend is supposed to support. In CopyBackToFront, the format conversion is handled. This gets us pretty far without actually doing very much, and I am not even sure if there should/can be a better implementation.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12091 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-28 13:38:11 +00:00
Stephan Aßmus c3bfa6fec9 avoid a crash if used without attached buffer
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12090 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-28 13:33:15 +00:00
Stephan Aßmus 9543470f44 RootLayer thread can busy loop, and with this change, its easier to shoot app_server whereever it hurts most
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12089 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-28 11:13:19 +00:00
Stephan Aßmus f6939eb1e1 more correct implementation, but still exhibits problems, usage turned off in ViewHWInterface::Invalidate
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12088 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-28 11:11:33 +00:00
Stephan Aßmus 94b3e6bfd0 ignore the pattern passed to the drawing functions, keep using the one from SetDrawData
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12087 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-28 11:08:10 +00:00
Stephan Aßmus 55a56d8b0e added fake_input_server.cpp to the build
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12086 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-28 11:04:44 +00:00
Stephan Aßmus 022badfd34 extracted the fake input_server communication into an extra file used by ViewDriver and ViewHWInterface
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12085 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-28 11:04:00 +00:00
Stephan Aßmus 53115c9920 moved the place of implementation of locking in DisplayDriver, because the Painter version has it elsewhere. the DisplayDriver locking API is now abstract, the same locking is now in DisplayDriverImpl, Painter version uses HWInterface for locking
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12084 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-27 22:02:19 +00:00
Stephan Aßmus c3314ff5eb added DPMS functions to HWInterface as well as Initatialze and Shutdown, added a couple of TODO comments
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12058 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 23:23:40 +00:00
Stephan Aßmus 4594032d1a got this added\?
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12057 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 22:26:42 +00:00
Stephan Aßmus 3294d07b15 abstract base class and implementation using BView and BWindow of an interface to a graphics card, UpdateQueue doesn't work yet, it was going to be used to decouple frame buffer transfers to the front buffer from the drawing in the back buffer
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12056 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 22:16:29 +00:00
Stephan Aßmus 5cdd702901 use a DisplayDriverPainter version if config says so
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12055 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 22:13:23 +00:00
Stephan Aßmus 1b52d7cf9c include my new stuff in the build
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12054 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 22:12:37 +00:00
Stephan Aßmus 3d07835f2a init display mode
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12053 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 22:11:52 +00:00
Stephan Aßmus 517e54d0d9 added more support functions
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12052 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 22:10:54 +00:00
Stephan Aßmus 80547db1f2 added some support functions for string bounding box
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12051 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 22:09:58 +00:00
Stephan Aßmus 4157339be2 started to implement stuff, it can actually be used and renders my test app almost like the old implementation, plus clipping
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12050 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 22:09:02 +00:00
Stephan Aßmus e56d7bd374 fixed type in RootLayer, which I found because I triggered a bug
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12049 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 22:05:40 +00:00
Stephan Aßmus f21a56fe4f added Painter version of DisplayDriver
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12048 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 22:04:29 +00:00
Stephan Aßmus 97dba15f78 more support functions
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12047 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 22:03:49 +00:00
Stephan Aßmus 7814396f35 moved two rather important functions up in the header
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12046 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 22:03:19 +00:00
Stephan Aßmus f1aa29756b declared some functions "inline"
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12045 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 22:02:19 +00:00
Stephan Aßmus b1456ac915 the BViews in the test windows draw something
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12044 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 22:00:50 +00:00
Stephan Aßmus ffc01863ba BitmapBuffer moved into app_server
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12043 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 22:00:19 +00:00
Stephan Aßmus e2408620c3 disable the build of agg_font_freetype.cpp for now
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12041 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 16:49:40 +00:00
Stephan Aßmus 7a54109e1b moved BitmapBuffer, because it comes in handy in app_server
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12040 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 16:47:37 +00:00
Stephan Aßmus c6d265aa15 allow access to bitmap
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12039 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 16:46:50 +00:00
Stephan Aßmus 612b27513a libagg is now build as static, excluded the build of the GUI controls for the interactive examples
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12014 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-25 23:35:32 +00:00
Stephan Aßmus 80141c9fc5 libagg is now build as static
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12013 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-25 23:34:35 +00:00
Stephan Aßmus 4e9146ad6a removed agg_font_freetype.cpp from the build, as it is already included with libagg.a
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12012 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-25 23:33:45 +00:00
Stephan Aßmus 1fc2bd8922 the beginnings of the Painter version of DisplayDriver, I don't know what I'm doing yet, so just ignore this for now
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12011 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-25 22:46:10 +00:00
Stephan Aßmus a850bd1d8f added Painter to the app_server build and fixed the Jamfile to include the drawing subfolder for header search path
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12010 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-25 22:44:18 +00:00
Stephan Aßmus fa3717f73c updated, because Painter now lives in app_server subfolder drawing
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11990 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-25 17:56:50 +00:00
Stephan Aßmus c0fe8a07c9 moved Painter into drawing
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11989 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-25 17:55:49 +00:00
Stephan Aßmus 3ddd2fc70f started to move files arround for better source structure, app_server still builds and runs fine, in case you were worried...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11988 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-25 17:48:49 +00:00
Stephan Aßmus 1f154920f6 step 3, exracted code from DisplayDriver into DisplayDriverImpl, adjusted the existing implementations to derive from the new class, got rid of some "friend" stuff along the way, essentially I made room for the new Painter based DisplayDriver implementation.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11987 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-25 17:29:45 +00:00
Stephan Aßmus 10612543aa step 3, exracted code from DisplayDriver into DisplayDriverImpl, adjusted the existing implementations to derive from the new class, got rid of some "friend" stuff along the way, essentially I made room for the new Painter based DisplayDriver implementation.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11986 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-25 17:29:20 +00:00
Stephan Aßmus f0a0f2a462 second step, all unused stuff is actually removed from DisplayDriver.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11984 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-25 13:28:12 +00:00
Stephan Aßmus cd9401a70b second step, all unused stuff is actually removed from DisplayDriver.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11983 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-25 13:27:20 +00:00
Stephan Aßmus f3b44aede9 as a first step, all appearently unused calls are commented outfrom DisplayDriver and derived classes
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11981 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-25 13:15:33 +00:00
Stephan Aßmus f595ecf898 as a first step, all appearently unused calls are commented outfrom DisplayDriver and derived classes, I moved many implementations arround to match the order of the declaration in the header, makes it easier to find stuff
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11980 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-25 13:14:59 +00:00
Stephan Aßmus 8490b97156 I just realized I called it "windows", so now the app creates two windows...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11978 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-24 17:44:53 +00:00
Stephan Aßmus 1a6138742b a simple test that runs a Haiku BApplication connecting with Haiku app_server, comes with a script that launches app_server too
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11977 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-24 17:36:50 +00:00
Stephan Aßmus 5f0b72b37b updated to app server move
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11975 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-24 15:51:56 +00:00
Stephan Aßmus bdef3a8ede spotted some potetial segfault bugs
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11969 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-24 12:59:13 +00:00
Stephan Aßmus 592bc7d4a3 updated
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11968 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-23 23:13:29 +00:00
Stephan Aßmus a0ee6395cd updated
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11967 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-23 23:10:43 +00:00
Stephan Aßmus 50ffaefd89 added missing string rendering functions, for testing purposes mainly
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11966 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-23 22:35:38 +00:00
Stephan Aßmus 6fb68b835c added missing string rendering functions, on Haiku, there should be support for drawing bitmaps in all colorspaces that BBitmap::ImportBits knows how to convert to B_RGB32
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11965 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-23 22:34:45 +00:00
Stephan Aßmus 8df0e71d06 support rendering strings up to a certain length, ie less then strlen
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11964 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-23 22:33:06 +00:00
Stephan Aßmus 5df6611a26 link with the objects needed for ServerFont
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11963 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-23 22:32:11 +00:00
Stephan Aßmus 2fc1fe2098 corrected code for general test
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11962 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-23 22:31:32 +00:00
Stephan Aßmus f6e20515b3 refactored DrawBitmap to support a version BBitmaps and one for ServerBitmaps, implemented InvertRect, but that was a while ago, and I didn't test it
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11961 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-23 20:32:04 +00:00
Stephan Aßmus a0c67cdb39 refactored DrawBitmap to support a version BBitmaps and one for ServerBitmaps, implemented InvertRect, but that was a while ago, and I didn't test it
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11960 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-23 20:31:33 +00:00
Stephan Aßmus 6c1ebb0fcb huge cleanup and more style guide conformance, removed agg namespace, used marcos for inlined blending functions to avoid dereferencing, which gives a small speedup
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11249 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-04 15:52:46 +00:00
Stephan Aßmus 2902c1573a a little clean up, usage of unpacked scanline container gives a small speedup
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11248 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-04 15:45:12 +00:00
Stephan Aßmus 033e1e690c DrawingMode is no longer in agg namespace, an ellipse is drawn with a minimum of 12 sections
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11247 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-04 15:43:23 +00:00
Stephan Aßmus 2ad954608f clean up, ellipse comparison test
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11246 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-04 15:40:37 +00:00
Stephan Aßmus aaea96798d the version for B_OP_COPY that ignores the pattern and uses the color from the AGG renderer directly, thus the renderer color needs to be set up correctly, which Painter does take care of
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11113 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-28 21:49:00 +00:00
Stephan Aßmus 884e8bc6b5 flag for using a solid version of a DrawingMode, currently only B_OP_COPY actually has an implementation
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11112 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-28 21:45:59 +00:00
Stephan Aßmus 597841da50 trying to optimize for B_SOLID_XXXX, implemented separate _SetPattern function, which encourages usage of a special DrawinMode instance, but it is currently not used, because it didn't give much speedup.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11111 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-28 21:44:38 +00:00
Stephan Aßmus 1dd7c68f7a more refactoring and separating tests, currently it tests straight line performance
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11110 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-28 21:40:09 +00:00
Stephan Aßmus 41ce67c0f6 refactoring, but there's going to be even more of it
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11104 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-28 13:14:54 +00:00
Stephan Aßmus 70443ebf5a automatically uses alpha blending for B_RGBA32 bitmaps
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11103 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-28 13:13:28 +00:00
Stephan Aßmus 6f2b941acf added some convenience functions, mainly used by the test app
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11102 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-28 13:11:40 +00:00
Stephan Aßmus 4f6cd6ef55 some additional status information
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11101 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-28 13:10:06 +00:00
Stephan Aßmus d4734e04d1 support for switching the alpha drawing mode when the blending mode changes
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11100 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-28 13:07:21 +00:00