| Index: include/gpu/GrTextContext.h
|
| diff --git a/include/gpu/GrTextContext.h b/include/gpu/GrTextContext.h
|
| deleted file mode 100644
|
| index c572d0d016e264e2eeee34b654972ba6addecb77..0000000000000000000000000000000000000000
|
| --- a/include/gpu/GrTextContext.h
|
| +++ /dev/null
|
| @@ -1,129 +0,0 @@
|
| -/*
|
| - * Copyright 2010 Google Inc.
|
| - *
|
| - * Use of this source code is governed by a BSD-style license that can be
|
| - * found in the LICENSE file.
|
| - */
|
| -
|
| -#ifndef GrTextContext_DEFINED
|
| -#define GrTextContext_DEFINED
|
| -
|
| -#include "GrPoint.h"
|
| -#include "GrGlyph.h"
|
| -#include "GrPaint.h"
|
| -#include "SkDeviceProperties.h"
|
| -
|
| -#include "SkPostConfig.h"
|
| -
|
| -class GrContext;
|
| -class GrDrawTarget;
|
| -class GrFontScaler;
|
| -
|
| -/*
|
| - * This class wraps the state for a single text render
|
| - */
|
| -class GrTextContext {
|
| -public:
|
| - virtual ~GrTextContext() {}
|
| - virtual void drawText(const char text[], size_t byteLength, SkScalar x, SkScalar y) = 0;
|
| - virtual void drawPosText(const char text[], size_t byteLength,
|
| - const SkScalar pos[], SkScalar constY,
|
| - int scalarsPerPosition) = 0;
|
| -
|
| -protected:
|
| - GrTextContext(GrContext*, const GrPaint&, const SkPaint&, const SkDeviceProperties&);
|
| -
|
| - static GrFontScaler* GetGrFontScaler(SkGlyphCache* cache);
|
| - static void MeasureText(SkGlyphCache* cache, SkDrawCacheProc glyphCacheProc,
|
| - const char text[], size_t byteLength, SkVector* stopVector);
|
| -
|
| - GrContext* fContext;
|
| - GrPaint fPaint;
|
| - SkPaint fSkPaint;
|
| - SkDeviceProperties fDeviceProperties;
|
| - GrDrawTarget* fDrawTarget;
|
| -
|
| - SkIRect fClipRect;
|
| -};
|
| -
|
| -/*
|
| - * These classes wrap the creation of a single text context for a given GPU device. The
|
| - * assumption is that we'll only be using one text context at a time for that device.
|
| - */
|
| -class GrTextContextManager {
|
| -public:
|
| - virtual ~GrTextContextManager() {}
|
| - virtual GrTextContext* create(GrContext* grContext, const GrPaint& grPaint,
|
| - const SkPaint& skPaint, const SkDeviceProperties& props) = 0;
|
| - virtual bool canDraw(const SkPaint& paint, const SkMatrix& ctm) = 0;
|
| -};
|
| -
|
| -template <class TextContextClass>
|
| -class GrTTextContextManager : public GrTextContextManager {
|
| -private:
|
| - class ManagedTextContext : public TextContextClass {
|
| - public:
|
| - virtual ~ManagedTextContext() {}
|
| -
|
| - ManagedTextContext(GrContext* grContext,
|
| - const GrPaint& grPaint,
|
| - const SkPaint& skPaint,
|
| - const SkDeviceProperties& properties,
|
| - GrTTextContextManager<TextContextClass>* manager) :
|
| - TextContextClass(grContext, grPaint, skPaint, properties) {
|
| - fManager = manager;
|
| - }
|
| -
|
| - static void operator delete(void* ptr) {
|
| - if (ptr == NULL) {
|
| - return;
|
| - }
|
| - ManagedTextContext* context = reinterpret_cast<ManagedTextContext*>(ptr);
|
| - context->fManager->recycle(context);
|
| - }
|
| -
|
| - static void operator delete(void*, void*) {
|
| - }
|
| -
|
| - GrTTextContextManager<TextContextClass>* fManager;
|
| - };
|
| -
|
| -public:
|
| - GrTTextContextManager() {
|
| - fAllocation = sk_malloc_throw(sizeof(ManagedTextContext));
|
| - fUsed = false;
|
| - }
|
| -
|
| - virtual ~GrTTextContextManager() {
|
| - SkASSERT(!fUsed);
|
| - sk_free(fAllocation);
|
| - }
|
| -
|
| - virtual GrTextContext* create(GrContext* grContext, const GrPaint& grPaint,
|
| - const SkPaint& skPaint, const SkDeviceProperties& properties)
|
| - SK_OVERRIDE {
|
| - // add check for usePath here?
|
| - SkASSERT(!fUsed);
|
| - ManagedTextContext* obj = SkNEW_PLACEMENT_ARGS(fAllocation, ManagedTextContext,
|
| - (grContext, grPaint, skPaint, properties,
|
| - this));
|
| - fUsed = true;
|
| - return obj;
|
| - }
|
| -
|
| - virtual bool canDraw(const SkPaint& paint, const SkMatrix& ctm) SK_OVERRIDE {
|
| - return TextContextClass::CanDraw(paint, ctm);
|
| - }
|
| -
|
| -private:
|
| - void recycle(GrTextContext* textContext) {
|
| - SkASSERT((void*)textContext == fAllocation);
|
| - SkASSERT(fUsed);
|
| - fUsed = false;
|
| - }
|
| -
|
| - void* fAllocation;
|
| - bool fUsed;
|
| -};
|
| -
|
| -#endif
|
|
|