summaryrefslogtreecommitdiff
path: root/gfx/2d
diff options
context:
space:
mode:
authorPale Moon <git-repo@palemoon.org>2014-08-02 16:05:22 +0200
committerPale Moon <git-repo@palemoon.org>2014-08-02 16:05:22 +0200
commit67d03d574817e7b2619a0313f13e8736f46217b4 (patch)
tree3b8aa03912f87db2146e097f481fc9d4c8227a06 /gfx/2d
parent0328ec5aaee764599c3817d59769e8efda28e0bd (diff)
downloadpalemoon-gre-67d03d574817e7b2619a0313f13e8736f46217b4.tar.gz
Fix Overdraw layer text rendering.
Diffstat (limited to 'gfx/2d')
-rw-r--r--gfx/2d/DrawTargetD2D.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/gfx/2d/DrawTargetD2D.cpp b/gfx/2d/DrawTargetD2D.cpp
index c4d1ee6f9..a6f6af2a2 100644
--- a/gfx/2d/DrawTargetD2D.cpp
+++ b/gfx/2d/DrawTargetD2D.cpp
@@ -953,6 +953,16 @@ DrawTargetD2D::FillGlyphs(ScaledFont *aFont,
aaMode = aOptions.mAntialiasMode;
}
+ if (mFormat == FORMAT_B8G8R8A8 && mPermitSubpixelAA &&
+ aOptions.mCompositionOp == OP_OVER && aPattern.GetType() == PATTERN_COLOR &&
+ aaMode == AA_SUBPIXEL) {
+ if (FillGlyphsManual(font, aBuffer,
+ static_cast<const ColorPattern*>(&aPattern)->mColor,
+ params, aOptions)) {
+ return;
+ }
+ }
+
ID2D1RenderTarget *rt = GetRTForOperation(aOptions.mCompositionOp, aPattern);
PrepareForDrawing(rt);