42a895730f
The blend mode for LCD text was not set up correctly when using colors with alpha. This takes the color's alpha value into account when setting up the blending function. BUG=Skia:1728 R=bsalomon@google.com Author: jvanverth@google.com Review URL: https://codereview.chromium.org/45363002 git-svn-id: http://skia.googlecode.com/svn/trunk@11980 2bbb7eff-a529-9590-31e7-b0007b416f81
47 lines
1.2 KiB
C++
Executable File
47 lines
1.2 KiB
C++
Executable File
/*
|
|
* Copyright 2013 Google Inc.
|
|
*
|
|
* Use of this source code is governed by a BSD-style license that can be
|
|
* found in the LICENSE file.
|
|
*/
|
|
|
|
#ifndef GrBitmapTextContext_DEFINED
|
|
#define GrBitmapTextContext_DEFINED
|
|
|
|
#include "GrTextContext.h"
|
|
|
|
class GrTextStrike;
|
|
|
|
/*
|
|
* This class implements GrTextContext using standard bitmap fonts
|
|
*/
|
|
class GrBitmapTextContext : public GrTextContext {
|
|
public:
|
|
GrBitmapTextContext(GrContext*, const GrPaint&, SkColor);
|
|
virtual ~GrBitmapTextContext();
|
|
|
|
virtual void drawPackedGlyph(GrGlyph::PackedID, GrFixed left, GrFixed top,
|
|
GrFontScaler*) SK_OVERRIDE;
|
|
|
|
private:
|
|
GrContext::AutoMatrix fAutoMatrix;
|
|
GrTextStrike* fStrike;
|
|
|
|
void flushGlyphs(); // automatically called by destructor
|
|
|
|
enum {
|
|
kMinRequestedGlyphs = 1,
|
|
kDefaultRequestedGlyphs = 64,
|
|
kMinRequestedVerts = kMinRequestedGlyphs * 4,
|
|
kDefaultRequestedVerts = kDefaultRequestedGlyphs * 4,
|
|
};
|
|
|
|
SkColor fSkPaintColor;
|
|
SkPoint* fVertices;
|
|
int32_t fMaxVertices;
|
|
GrTexture* fCurrTexture;
|
|
int fCurrVertex;
|
|
};
|
|
|
|
#endif
|