| Index: include/gpu/GrContext.h
|
| diff --git a/include/gpu/GrContext.h b/include/gpu/GrContext.h
|
| index acd7b1ad911ee3e1ce92d5f40a8e846fdc66f243..dfecf44abcf36ff5260ace3688a02f8f91c1bd44 100644
|
| --- a/include/gpu/GrContext.h
|
| +++ b/include/gpu/GrContext.h
|
| @@ -43,7 +43,6 @@ class GrTextureParams;
|
| class GrVertexBuffer;
|
| class GrStrokeInfo;
|
| class GrSoftwarePathRenderer;
|
| -class SkGpuDevice;
|
|
|
| class SK_API GrContext : public SkRefCnt {
|
| public:
|
| @@ -177,8 +176,8 @@ public:
|
| *
|
| * @return a draw context
|
| */
|
| - GrDrawContext* drawContext() {
|
| - return fDrawingMgr.drawContext();
|
| + GrDrawContext* drawContext(const SkDeviceProperties* devProps = NULL, bool useDFT = false) {
|
| + return fDrawingMgr.drawContext(devProps, useDFT);
|
| }
|
|
|
| ///////////////////////////////////////////////////////////////////////////
|
| @@ -396,9 +395,8 @@ private:
|
| // the DAG.
|
| class DrawingMgr {
|
| public:
|
| - DrawingMgr()
|
| - : fDrawTarget(NULL)
|
| - , fDrawContext(NULL) {
|
| + DrawingMgr() : fDrawTarget(NULL) {
|
| + sk_bzero(fDrawContext, sizeof(fDrawContext));
|
| }
|
|
|
| ~DrawingMgr();
|
| @@ -414,14 +412,17 @@ private:
|
|
|
| // Callers should take a ref if they rely on the GrDrawContext sticking around.
|
| // NULL will be returned if the context has been abandoned.
|
| - GrDrawContext* drawContext();
|
| + GrDrawContext* drawContext(const SkDeviceProperties* devProps, bool useDFT);
|
|
|
| private:
|
| friend class GrContext; // for access to fDrawTarget for testing
|
|
|
| + static const int kNumContextFlavors = 5;
|
| +
|
| + GrContext* fContext;
|
| GrDrawTarget* fDrawTarget;
|
|
|
| - GrDrawContext* fDrawContext;
|
| + GrDrawContext* fDrawContext[kNumContextFlavors][2];
|
| };
|
|
|
| DrawingMgr fDrawingMgr;
|
| @@ -430,18 +431,6 @@ private:
|
| void initCommon();
|
|
|
| /**
|
| - * Creates a new text rendering context that is optimal for the
|
| - * render target and the context. Caller assumes the ownership
|
| - * of the returned object. The returned object must be deleted
|
| - * before the context is destroyed.
|
| - * TODO bury this behind context!
|
| - */
|
| - GrTextContext* createTextContext(GrRenderTarget*,
|
| - const SkDeviceProperties&,
|
| - bool enableDistanceFieldFonts);
|
| -
|
| -
|
| - /**
|
| * These functions create premul <-> unpremul effects if it is possible to generate a pair
|
| * of effects that make a readToUPM->writeToPM->readToUPM cycle invariant. Otherwise, they
|
| * return NULL.
|
| @@ -461,9 +450,6 @@ private:
|
| */
|
| static void TextBlobCacheOverBudgetCB(void* data);
|
|
|
| - // TODO see note on createTextContext
|
| - friend class SkGpuDevice;
|
| -
|
| typedef SkRefCnt INHERITED;
|
| };
|
|
|
|
|