Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(333)

Side by Side Diff: include/gpu/GrContext.h

Issue 196133014: Implement text rendering with NVPR (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: remove path drawing from the patch Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright 2010 Google Inc. 2 * Copyright 2010 Google Inc.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license that can be 4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file. 5 * found in the LICENSE file.
6 */ 6 */
7 7
8 #ifndef GrContext_DEFINED 8 #ifndef GrContext_DEFINED
9 #define GrContext_DEFINED 9 #define GrContext_DEFINED
10 10
(...skipping 17 matching lines...) Expand all
28 class GrIndexBuffer; 28 class GrIndexBuffer;
29 class GrIndexBufferAllocPool; 29 class GrIndexBufferAllocPool;
30 class GrInOrderDrawBuffer; 30 class GrInOrderDrawBuffer;
31 class GrOvalRenderer; 31 class GrOvalRenderer;
32 class GrPath; 32 class GrPath;
33 class GrPathRenderer; 33 class GrPathRenderer;
34 class GrResourceEntry; 34 class GrResourceEntry;
35 class GrResourceCache; 35 class GrResourceCache;
36 class GrStencilBuffer; 36 class GrStencilBuffer;
37 class GrTestTarget; 37 class GrTestTarget;
38 class GrTextContext;
38 class GrTextureParams; 39 class GrTextureParams;
39 class GrVertexBuffer; 40 class GrVertexBuffer;
40 class GrVertexBufferAllocPool; 41 class GrVertexBufferAllocPool;
41 class GrSoftwarePathRenderer; 42 class GrSoftwarePathRenderer;
42 class SkStrokeRec; 43 class SkStrokeRec;
43 44
44 class SK_API GrContext : public SkRefCnt { 45 class SK_API GrContext : public SkRefCnt {
45 public: 46 public:
46 SK_DECLARE_INST_COUNT(GrContext) 47 SK_DECLARE_INST_COUNT(GrContext)
47 48
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
109 /** 110 /**
110 * Returns the number of bytes of GPU memory hosted by the texture cache. 111 * Returns the number of bytes of GPU memory hosted by the texture cache.
111 */ 112 */
112 size_t getGpuTextureCacheBytes() const; 113 size_t getGpuTextureCacheBytes() const;
113 114
114 /** 115 /**
115 * Returns the number of resources hosted by the texture cache. 116 * Returns the number of resources hosted by the texture cache.
116 */ 117 */
117 int getGpuTextureCacheResourceCount() const; 118 int getGpuTextureCacheResourceCount() const;
118 119
120 /**
121 * Creates a new text rendering context that is optimal for the
122 * render target and the context. Caller assumes the ownership
123 * of the returned object. The returned object must be deleted
124 * before the context is destroyed.
125 */
126 GrTextContext* createTextContext(GrRenderTarget*,
127 const SkDeviceProperties&);
128
119 /////////////////////////////////////////////////////////////////////////// 129 ///////////////////////////////////////////////////////////////////////////
120 // Textures 130 // Textures
121 131
122 /** 132 /**
123 * Creates a new entry, based on the specified key and texture and returns i t. The caller owns a 133 * Creates a new entry, based on the specified key and texture and returns i t. The caller owns a
124 * ref on the returned texture which must be balanced by a call to unref. 134 * ref on the returned texture which must be balanced by a call to unref.
125 * 135 *
126 * @param params The texture params used to draw a texture may help deter mine 136 * @param params The texture params used to draw a texture may help deter mine
127 * the cache entry used. (e.g. different versions may exist 137 * the cache entry used. (e.g. different versions may exist
128 * for different wrap modes on GPUs with limited NPOT 138 * for different wrap modes on GPUs with limited NPOT
(...skipping 811 matching lines...) Expand 10 before | Expand all | Expand 10 after
940 GrTexture* createResizedTexture(const GrTextureDesc& desc, 950 GrTexture* createResizedTexture(const GrTextureDesc& desc,
941 const GrCacheID& cacheID, 951 const GrCacheID& cacheID,
942 void* srcData, 952 void* srcData,
943 size_t rowBytes, 953 size_t rowBytes,
944 bool filter); 954 bool filter);
945 955
946 // Needed so GrTexture's returnToCache helper function can call 956 // Needed so GrTexture's returnToCache helper function can call
947 // addExistingTextureToCache 957 // addExistingTextureToCache
948 friend class GrTexture; 958 friend class GrTexture;
949 friend class GrStencilAndCoverPathRenderer; 959 friend class GrStencilAndCoverPathRenderer;
960 friend class GrStencilAndCoverTextContext;
950 961
951 // Add an existing texture to the texture cache. This is intended solely 962 // Add an existing texture to the texture cache. This is intended solely
952 // for use with textures released from an GrAutoScratchTexture. 963 // for use with textures released from an GrAutoScratchTexture.
953 void addExistingTextureToCache(GrTexture* texture); 964 void addExistingTextureToCache(GrTexture* texture);
954 965
955 /** 966 /**
956 * These functions create premul <-> unpremul effects if it is possible to g enerate a pair 967 * These functions create premul <-> unpremul effects if it is possible to g enerate a pair
957 * of effects that make a readToUPM->writeToPM->readToUPM cycle invariant. O therwise, they 968 * of effects that make a readToUPM->writeToPM->readToUPM cycle invariant. O therwise, they
958 * return NULL. 969 * return NULL.
959 */ 970 */
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
1062 } 1073 }
1063 1074
1064 GrTexture* texture() { return fTexture; } 1075 GrTexture* texture() { return fTexture; }
1065 1076
1066 private: 1077 private:
1067 GrContext* fContext; 1078 GrContext* fContext;
1068 GrTexture* fTexture; 1079 GrTexture* fTexture;
1069 }; 1080 };
1070 1081
1071 #endif 1082 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698