Author: stippi Date: 2010-09-28 12:33:51 +0200 (Tue, 28 Sep 2010) New Revision: 38831 Changeset: http://dev.haiku-os.org/changeset/38831 Modified: haiku/trunk/src/servers/app/drawing/Painter/AGGTextRenderer.cpp Log: * Removed a line of long-dead code. * Make sure that turning off anti-aliased font rendering also works when subpixel-anti-aliasing is used. Modified: haiku/trunk/src/servers/app/drawing/Painter/AGGTextRenderer.cpp =================================================================== --- haiku/trunk/src/servers/app/drawing/Painter/AGGTextRenderer.cpp 2010-09-27 20:44:17 UTC (rev 38830) +++ haiku/trunk/src/servers/app/drawing/Painter/AGGTextRenderer.cpp 2010-09-28 10:33:51 UTC (rev 38831) @@ -88,7 +88,6 @@ AGGTextRenderer::SetHinting(bool hinting) { fHinted = hinting; -// fFontEngine.hinting(fEmbeddedTransformation.IsIdentity() && fHinted); } @@ -97,6 +96,8 @@ { if (fAntialias != antialiasing) { fAntialias = antialiasing; + // NOTE: The fSubpixRasterizer is not used when anti-aliasing is + // disbaled. if (!fAntialias) fRasterizer.gamma(agg::gamma_threshold(0.5)); else @@ -116,6 +117,7 @@ class AGGTextRenderer::StringRenderer { public: StringRenderer(const IntRect& clippingFrame, bool dryRun, + bool subpixelAntiAliased, FontCacheEntry::TransformedOutline& transformedGlyph, FontCacheEntry::TransformedContourOutline& transformedContour, const Transformable& transform, @@ -127,9 +129,10 @@ fTransformOffset(transformOffset), fClippingFrame(clippingFrame), fDryRun(dryRun), + fSubpixelAntiAliased(subpixelAntiAliased), + fVector(false), fBounds(LONG_MAX, LONG_MAX, LONG_MIN, LONG_MIN), fNextCharPos(nextCharPos), - fVector(false), fTransformedGlyph(transformedGlyph), fTransformedContour(transformedContour), @@ -146,7 +149,7 @@ void Finish(double x, double y) { if (fVector) { - if (gSubpixelAntialiasing) { + if (fSubpixelAntiAliased) { agg::render_scanlines(fRenderer.fSubpixRasterizer, fRenderer.fSubpixScanline, fRenderer.fSubpixRenderer); } else { @@ -242,7 +245,7 @@ case glyph_data_outline: { fVector = true; - if (gSubpixelAntialiasing) { + if (fSubpixelAntiAliased) { if (fRenderer.fContour.width() == 0.0) { fRenderer.fSubpixRasterizer.add_path( fTransformedGlyph); @@ -268,7 +271,7 @@ p.close_polygon(); agg::conv_stroke<agg::path_storage> ps(p); ps.width(1.0); - if (gSubpixelAntialiasing) { + if (fSubpixelAntiAliased) { fRenderer.fSubpixRasterizer.add_path(ps); } else { fRenderer.fRasterizer.add_path(ps); @@ -295,9 +298,10 @@ const BPoint& fTransformOffset; const IntRect& fClippingFrame; bool fDryRun; + bool fSubpixelAntiAliased; + bool fVector; IntRect fBounds; BPoint* fNextCharPos; - bool fVector; FontCacheEntry::TransformedOutline& fTransformedGlyph; FontCacheEntry::TransformedContourOutline& fTransformedContour; @@ -331,6 +335,7 @@ transform.Transform(&transformOffset); StringRenderer renderer(clippingFrame, dryRun, + gSubpixelAntialiasing && fAntialias, transformedOutline, transformedContourOutline, transform, transformOffset, nextCharPos, *this); @@ -365,6 +370,7 @@ transform.Transform(&transformOffset); StringRenderer renderer(clippingFrame, dryRun, + gSubpixelAntialiasing && fAntialias, transformedOutline, transformedContourOutline, transform, transformOffset, nextCharPos, *this);