Stephan Aßmus
|
74994d1307
|
added license headers
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12817 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
2005-05-25 23:47:05 +00:00 |
|
Stephan Aßmus
|
55d6f1b792
|
Many efficiency improvements to text rendering. Moved stuff from Painter into AGGTextRenderer which didn't belong in Painter. AGGTextRenderer now has an embedded transformation, which expresses the font rotation and (in future) shear settings. Removed direct support for BBitmaps from Painter (supposed to draw ServerBitmaps). Tested drawing of bitmaps other than B_RGB32. (only B_CMAP8 and B_GRAY8 so far, but they work). Right now, these colorspaces are supported by on the fly conversion. So every colorspace supported by BBitmap::ImportBits() should work, which are a lot more than the R5 app_server can display.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12815 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
2005-05-25 18:20:45 +00:00 |
|
Stephan Aßmus
|
3f513bbafe
|
Font rendering code should be cleaner, maybe a little more efficient and better documented. Rotated text is supported again.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12748 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
2005-05-20 23:26:15 +00:00 |
|
Stephan Aßmus
|
2762b0cecd
|
Work in progress... improvements on font stuff, reverted to using Painter to get the string width. Since it actually uses glyph caching, it is about 20 times faster than the implementation in ServerFont (and a about twice the time as R5). I added a StringWidth method to Painter and AGGTextRenderer which works as correct as ServerFont::StringWidth, which btw was broken, because I mixed up glyph count and byte count...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12745 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
2005-05-20 19:52:38 +00:00 |
|
Stephan Aßmus
|
fbf48e6437
|
Enabled HW acceleration for CopyRegion(). Tested on Haiku and it works. I also implemented FillRegion and InvertRegion. But using different acceleration hooks after one another freezes Haiku, app_server, the accelerant or whatever. I have no clue about accelerants, so if a knowledgable someone would have a look at AccelerantHWInterface.cpp, that'd be great. The software cursor stuff has a cosmetical bug with regards to CopyRegion() too, I don't understand it yet. I also tried to improve StringWidth() and DrawString() preformance. I confirmed that the glyph cache is actually used, but AGGTextRenderer::RenderString() is a dog.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12573 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
2005-05-04 23:48:19 +00:00 |
|
Stephan Aßmus
|
924b7ab22c
|
the clipping BRegion is now always allocated, added shortcut for determining if there is a valid clipping
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12555 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
2005-05-03 21:39:03 +00:00 |
|
Stephan Aßmus
|
0c926a191f
|
reuse DrawingMode instances
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12412 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
2005-04-15 12:25:25 +00:00 |
|
Stephan Aßmus
|
18f3859aed
|
cosmetical change
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12411 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
2005-04-15 11:53:22 +00:00 |
|
Stephan Aßmus
|
4da1508aa9
|
added convenience functions to PatternHandler and refactored the setting of the DrawingMode in Painter
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12408 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
2005-04-15 10:20:53 +00:00 |
|
Stephan Aßmus
|
3d16cf4bce
|
Painter drawing functions now return the BRect enclosing all pixels that have changed, use this for invalidating the correct area in the backbuffer
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12407 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
2005-04-15 09:55:15 +00:00 |
|
Stephan Aßmus
|
5e33f6e551
|
pattern is not passed to the drawing functions anymore, it is expected to be set in SetDrawData
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12403 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
2005-04-15 08:53:28 +00:00 |
|
Stephan Aßmus
|
026470a78c
|
no more fOrigin and fScale in Painter, everything is now expected in absolute (screen) coordinates
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12402 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
2005-04-15 08:37:52 +00:00 |
|
Stephan Aßmus
|
17360617d2
|
fixed a really lame bug in the StrokeLine call that caused all these problems with line drawing and or invalidation afterwards, avoid transforming the clipping region into another format used by AGG by using a special BRegion based renderer
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12400 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
2005-04-15 08:15:04 +00:00 |
|
Stephan Aßmus
|
643d10bb64
|
Added a big TODO comment, StrokeLine takes now non-const DrawData.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12341 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
2005-04-12 08:28:25 +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 |
|
Michael Lotz
|
bb72ccac74
|
The Painter now uses a special version of the agg_font_engine that uses the FontServer ftlib and the already loaded FT_Facees from ServerFont/FontStyle instead of doing it all again.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12177 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
2005-03-31 06:08:37 +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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
30fd3eb18a
|
line profile is now cached by being a member of Painter, as was suggested by Maxim, it's too heavy an object for being created on the fly
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10905 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
2005-01-20 15:23:23 +00:00 |
|
Stephan Aßmus
|
85ba22e47d
|
on the way of integrating Painter into build system, suppose this is where this file belongs
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10890 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
2005-01-20 12:38:41 +00:00 |
|