Commit Graph

11 Commits

Author SHA1 Message Date
Stephan Aßmus
59e13a3f06 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
2008-08-03 13:40:41 +00:00
Stephan Aßmus
3a0814fdae patch by Andrej Spielmann (GSOC):
* Prepared the AGG base_renderer code with two more functions needed to
  handle subpixel scanline coverage values.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26356 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-10 08:11:04 +00:00
Stephan Aßmus
e39da397f5 * 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
2006-06-14 14:30:17 +00:00
Stephan Aßmus
9d35303f63 added a "reset()" function so that kerning can start clean
and has no left overs from a previous text run


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17216 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-23 21:45:20 +00:00
Stephan Aßmus
f6f44f5538 incorporated fix from AGG mailing list, the problem only showed on Sun hardware though...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12620 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-10 11:34:26 +00:00
Stephan Aßmus
547fd34504 compile fix, changed member to be declared const
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10896 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-20 13:49:15 +00:00
DarkWyrm
d1d811ec70 sync to tree to support stippi's Painter classes
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10694 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-12 11:09:33 +00:00
DarkWyrm
abd0030237 Sync to AGG tree to support stippi's Painter classes
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10693 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-12 11:05:58 +00:00
DarkWyrm
e57e5a53a9 A couple more files to include with AGG
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10316 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-30 22:22:58 +00:00
DarkWyrm
328b390762 Invariably, I forget to add *something* to the tree. :(
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9947 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-12 22:29:39 +00:00
DarkWyrm
39241fe228 Initial checkin
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9933 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-12 02:02:58 +00:00