#
d56beda4 |
|
22-Jul-2015 |
Julian Harnath <julian.harnath@rwth-aachen.de> |
app_server: optional coordinate shifting in renderer_region * agg::renderer_region gets an extra feature which allows to optionally shift the coordinates by a specified offset. * This allows to shift coordinates at the lowest level, even below the transformations done by BAffineTransform (which happen in the painter, right before rasterization). Needed for layers support: shifts the origin of the layer bitmaps to their position in the view while keeping all transformations (BView origin/scale transforms as well as BAffineTransforms) intact. The offset for the layer bitmaps within their parent view is determined by the bounding box and is then fixed, it must not be altered while the layer's BPicture is played into the bitmap. If this offset were added to the BView origin or as translation in the BAffineTransform, it would be further transformed by the BView scale or the other affine transform parameters. Thus, we need another low-level offset mechanism which is even below BAffineTransform's transformations.
|
#
59e13a3f |
|
03-Aug-2008 |
Stephan Aßmus <superstippi@gmx.de> |
Patch by Andrej Spielmann (GSoC): * Simplified the subpixel related methods for the AGG "pixel format" template interface, the ones for the solid cover simply pass through the existing methods, so only one subpixel blending function is left which does the actual work (this removes a lot of the previously added code) * Implemented a new rasterizer based on the original AGG rasterizer which implements subpixel anti-aliasing for any generic AGG vector pipelines. It is now optionally used in Painter and AGGTextRenderer (for vector fonts, ie rotated, sheared or big enough fonts) depending on the global subpixel setting. * Put all subpixel variables into the new GlobalSubpixelSettings.h|cpp * Simplified DesktopSettings related classes a bit and renamed previous FontSubpixelAntialiasing to just SubpixelAntialiasing. * The private libbe functions for subpixel related settings moved from Font.cpp to InterfaceDefs.cpp where other such functions live. They are not related to fonts only anymore. * Removed the subpixel related settings again from the Fonts preflet and added them to the Appearance preflet instead. All of the above implements subpixel anti-aliasing on a global scale, which to my knowledge no other OS is doing at the moment. Any vector rendering can optionally use subpixel anti-aliasing in Haiku now. The bitmap cached fonts are still affected by the Freetype complile time #define to enable the patented subpixel rasterization (three times wide glyphs). Vector fonts and shapes are not affected though at the moment. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26755 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
73b44a6a |
|
10-Jul-2008 |
Stephan Aßmus <superstippi@gmx.de> |
Patch by Andrej Spielmann (GSOC): * Extend the existing agg_renderer_region with the two new subpixel methods. * Remove trailing whitespace. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26360 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e39da397 |
|
14-Jun-2006 |
Stephan Aßmus <superstippi@gmx.de> |
* long overdue update to AGG 2.4 * removed the useless parts of AGG (which are only needed for the interactive examples) * make sure to jam -a libagg.a to solve any linking issues git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17838 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
74994d13 |
|
25-May-2005 |
Stephan Aßmus <superstippi@gmx.de> |
added license headers git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12817 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
55d6f1b7 |
|
25-May-2005 |
Stephan Aßmus <superstippi@gmx.de> |
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
|
#
48c03350 |
|
03-May-2005 |
Stephan Aßmus <superstippi@gmx.de> |
added a small safety check git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12556 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
519c5573 |
|
15-Apr-2005 |
Stephan Aßmus <superstippi@gmx.de> |
an agg renderer that uses a (reference to a) BRegion for storing clipping information, this avoids transforming the clipping from Painter to the agg world git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12399 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
59e13a3f06eedbc797f797da71c6810634b22cd4 |
|
03-Aug-2008 |
Stephan Aßmus <superstippi@gmx.de> |
Patch by Andrej Spielmann (GSoC): * Simplified the subpixel related methods for the AGG "pixel format" template interface, the ones for the solid cover simply pass through the existing methods, so only one subpixel blending function is left which does the actual work (this removes a lot of the previously added code) * Implemented a new rasterizer based on the original AGG rasterizer which implements subpixel anti-aliasing for any generic AGG vector pipelines. It is now optionally used in Painter and AGGTextRenderer (for vector fonts, ie rotated, sheared or big enough fonts) depending on the global subpixel setting. * Put all subpixel variables into the new GlobalSubpixelSettings.h|cpp * Simplified DesktopSettings related classes a bit and renamed previous FontSubpixelAntialiasing to just SubpixelAntialiasing. * The private libbe functions for subpixel related settings moved from Font.cpp to InterfaceDefs.cpp where other such functions live. They are not related to fonts only anymore. * Removed the subpixel related settings again from the Fonts preflet and added them to the Appearance preflet instead. All of the above implements subpixel anti-aliasing on a global scale, which to my knowledge no other OS is doing at the moment. Any vector rendering can optionally use subpixel anti-aliasing in Haiku now. The bitmap cached fonts are still affected by the Freetype complile time #define to enable the patented subpixel rasterization (three times wide glyphs). Vector fonts and shapes are not affected though at the moment. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26755 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
73b44a6aaebd94c6c1fd61b4b639475cf0a8e2a5 |
|
10-Jul-2008 |
Stephan Aßmus <superstippi@gmx.de> |
Patch by Andrej Spielmann (GSOC): * Extend the existing agg_renderer_region with the two new subpixel methods. * Remove trailing whitespace. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26360 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e39da397f5ff79f2db9f9a3ddf1852b6710578af |
|
14-Jun-2006 |
Stephan Aßmus <superstippi@gmx.de> |
* long overdue update to AGG 2.4 * removed the useless parts of AGG (which are only needed for the interactive examples) * make sure to jam -a libagg.a to solve any linking issues git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17838 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
74994d1307d9898fcc7c52ac176911895d837901 |
|
25-May-2005 |
Stephan Aßmus <superstippi@gmx.de> |
added license headers git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12817 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
55d6f1b792f86ba5529b5ec311e84a1bfd6e15ea |
|
25-May-2005 |
Stephan Aßmus <superstippi@gmx.de> |
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
|
#
48c03350555d766b6c9c01a4c145b698e3cf6775 |
|
03-May-2005 |
Stephan Aßmus <superstippi@gmx.de> |
added a small safety check git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12556 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
519c55739f29dabeb5ddd85846fbd2d92da3f651 |
|
15-Apr-2005 |
Stephan Aßmus <superstippi@gmx.de> |
an agg renderer that uses a (reference to a) BRegion for storing clipping information, this avoids transforming the clipping from Painter to the agg world git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12399 a95241bf-73f2-0310-859d-f6bbb57e9c96
|