OLD | NEW |
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 11 matching lines...) Expand all Loading... |
22 class GrAutoScratchTexture; | 22 class GrAutoScratchTexture; |
23 class GrDrawState; | 23 class GrDrawState; |
24 class GrDrawTarget; | 24 class GrDrawTarget; |
25 class GrEffect; | 25 class GrEffect; |
26 class GrFontCache; | 26 class GrFontCache; |
27 class GrGpu; | 27 class GrGpu; |
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 GrPathRenderer; | 33 class GrPathRenderer; |
33 class GrResourceEntry; | 34 class GrResourceEntry; |
34 class GrResourceCache; | 35 class GrResourceCache; |
35 class GrStencilBuffer; | 36 class GrStencilBuffer; |
36 class GrTestTarget; | 37 class GrTestTarget; |
37 class GrTextureParams; | 38 class GrTextureParams; |
38 class GrVertexBuffer; | 39 class GrVertexBuffer; |
39 class GrVertexBufferAllocPool; | 40 class GrVertexBufferAllocPool; |
40 class GrSoftwarePathRenderer; | 41 class GrSoftwarePathRenderer; |
41 class SkStrokeRec; | 42 class SkStrokeRec; |
(...skipping 875 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
917 | 918 |
918 GrTexture* createResizedTexture(const GrTextureDesc& desc, | 919 GrTexture* createResizedTexture(const GrTextureDesc& desc, |
919 const GrCacheID& cacheID, | 920 const GrCacheID& cacheID, |
920 void* srcData, | 921 void* srcData, |
921 size_t rowBytes, | 922 size_t rowBytes, |
922 bool filter); | 923 bool filter); |
923 | 924 |
924 // Needed so GrTexture's returnToCache helper function can call | 925 // Needed so GrTexture's returnToCache helper function can call |
925 // addExistingTextureToCache | 926 // addExistingTextureToCache |
926 friend class GrTexture; | 927 friend class GrTexture; |
| 928 friend class GrStencilAndCoverPathRenderer; |
927 | 929 |
928 // Add an existing texture to the texture cache. This is intended solely | 930 // Add an existing texture to the texture cache. This is intended solely |
929 // for use with textures released from an GrAutoScratchTexture. | 931 // for use with textures released from an GrAutoScratchTexture. |
930 void addExistingTextureToCache(GrTexture* texture); | 932 void addExistingTextureToCache(GrTexture* texture); |
931 | 933 |
932 /** | 934 /** |
933 * These functions create premul <-> unpremul effects if it is possible to g
enerate a pair | 935 * These functions create premul <-> unpremul effects if it is possible to g
enerate a pair |
934 * of effects that make a readToUPM->writeToPM->readToUPM cycle invariant. O
therwise, they | 936 * of effects that make a readToUPM->writeToPM->readToUPM cycle invariant. O
therwise, they |
935 * return NULL. | 937 * return NULL. |
936 */ | 938 */ |
937 const GrEffectRef* createPMToUPMEffect(GrTexture* texture, | 939 const GrEffectRef* createPMToUPMEffect(GrTexture* texture, |
938 bool swapRAndB, | 940 bool swapRAndB, |
939 const SkMatrix& matrix); | 941 const SkMatrix& matrix); |
940 const GrEffectRef* createUPMToPMEffect(GrTexture* texture, | 942 const GrEffectRef* createUPMToPMEffect(GrTexture* texture, |
941 bool swapRAndB, | 943 bool swapRAndB, |
942 const SkMatrix& matrix); | 944 const SkMatrix& matrix); |
943 | 945 |
944 /** | 946 /** |
945 * This callback allows the resource cache to callback into the GrContext | 947 * This callback allows the resource cache to callback into the GrContext |
946 * when the cache is still overbudget after a purge. | 948 * when the cache is still overbudget after a purge. |
947 */ | 949 */ |
948 static bool OverbudgetCB(void* data); | 950 static bool OverbudgetCB(void* data); |
949 | 951 |
| 952 /** Creates a new gpu path, based on the specified path and stroke and retur
ns it. |
| 953 * The caller owns a ref on the returned path which must be balanced by a ca
ll to unref. |
| 954 * |
| 955 * @param skPath the path geometry. |
| 956 * @param stroke the path stroke. |
| 957 * @return a new path or NULL if the operation is not supported by the backe
nd. |
| 958 */ |
| 959 GrPath* createPath(const SkPath& skPath, const SkStrokeRec& stroke); |
| 960 |
950 typedef SkRefCnt INHERITED; | 961 typedef SkRefCnt INHERITED; |
951 }; | 962 }; |
952 | 963 |
953 /** | 964 /** |
954 * Gets and locks a scratch texture from a descriptor using either exact or appr
oximate criteria. | 965 * Gets and locks a scratch texture from a descriptor using either exact or appr
oximate criteria. |
955 * Unlocks texture in the destructor. | 966 * Unlocks texture in the destructor. |
956 */ | 967 */ |
957 class GrAutoScratchTexture : public ::SkNoncopyable { | 968 class GrAutoScratchTexture : public ::SkNoncopyable { |
958 public: | 969 public: |
959 GrAutoScratchTexture() | 970 GrAutoScratchTexture() |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1030 } | 1041 } |
1031 | 1042 |
1032 GrTexture* texture() { return fTexture; } | 1043 GrTexture* texture() { return fTexture; } |
1033 | 1044 |
1034 private: | 1045 private: |
1035 GrContext* fContext; | 1046 GrContext* fContext; |
1036 GrTexture* fTexture; | 1047 GrTexture* fTexture; |
1037 }; | 1048 }; |
1038 | 1049 |
1039 #endif | 1050 #endif |
OLD | NEW |