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 |
11 #include "GrClip.h" | 11 #include "GrClip.h" |
12 #include "GrColor.h" | 12 #include "GrColor.h" |
13 #include "GrPaint.h" | 13 #include "GrPaint.h" |
14 #include "GrPathRendererChain.h" | 14 #include "GrPathRendererChain.h" |
15 #include "GrRenderTarget.h" | 15 #include "GrRenderTarget.h" |
16 #include "GrTexture.h" | 16 #include "GrTexture.h" |
17 #include "SkMatrix.h" | 17 #include "SkMatrix.h" |
18 #include "SkPathEffect.h" | 18 #include "SkPathEffect.h" |
19 #include "SkTypes.h" | 19 #include "SkTypes.h" |
20 | 20 |
21 class GrAARectRenderer; | 21 class GrAARectRenderer; |
22 class GrBatchFontCache; | 22 class GrBatchFontCache; |
23 class GrDrawTarget; | 23 class GrDrawTarget; |
24 class GrFontCache; | |
25 class GrFragmentProcessor; | 24 class GrFragmentProcessor; |
26 class GrGpu; | 25 class GrGpu; |
27 class GrGpuTraceMarker; | 26 class GrGpuTraceMarker; |
28 class GrIndexBuffer; | 27 class GrIndexBuffer; |
29 class GrIndexBufferAllocPool; | 28 class GrIndexBufferAllocPool; |
30 class GrInOrderDrawBuffer; | 29 class GrInOrderDrawBuffer; |
31 class GrLayerCache; | 30 class GrLayerCache; |
32 class GrOvalRenderer; | 31 class GrOvalRenderer; |
33 class GrPath; | 32 class GrPath; |
34 class GrPathRenderer; | 33 class GrPathRenderer; |
(...skipping 605 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
640 * surface or using it as a texture. | 639 * surface or using it as a texture. |
641 */ | 640 */ |
642 void prepareSurfaceForExternalRead(GrSurface*); | 641 void prepareSurfaceForExternalRead(GrSurface*); |
643 | 642 |
644 /** | 643 /** |
645 * Provides a perfomance hint that the render target's contents are allowed | 644 * Provides a perfomance hint that the render target's contents are allowed |
646 * to become undefined. | 645 * to become undefined. |
647 */ | 646 */ |
648 void discardRenderTarget(GrRenderTarget*); | 647 void discardRenderTarget(GrRenderTarget*); |
649 | 648 |
650 #ifdef SK_DEVELOPER | |
651 void dumpFontCache() const; | |
652 #endif | |
653 | |
654 /////////////////////////////////////////////////////////////////////////// | 649 /////////////////////////////////////////////////////////////////////////// |
655 // Functions intended for internal use only. | 650 // Functions intended for internal use only. |
656 GrGpu* getGpu() { return fGpu; } | 651 GrGpu* getGpu() { return fGpu; } |
657 const GrGpu* getGpu() const { return fGpu; } | 652 const GrGpu* getGpu() const { return fGpu; } |
658 GrBatchFontCache* getBatchFontCache() { return fBatchFontCache; } | 653 GrBatchFontCache* getBatchFontCache() { return fBatchFontCache; } |
659 GrFontCache* getFontCache() { return fFontCache; } | |
660 GrLayerCache* getLayerCache() { return fLayerCache.get(); } | 654 GrLayerCache* getLayerCache() { return fLayerCache.get(); } |
661 GrTextBlobCache* getTextBlobCache() { return fTextBlobCache; } | 655 GrTextBlobCache* getTextBlobCache() { return fTextBlobCache; } |
662 GrDrawTarget* getTextTarget(); | 656 GrDrawTarget* getTextTarget(); |
663 const GrIndexBuffer* getQuadIndexBuffer() const; | 657 const GrIndexBuffer* getQuadIndexBuffer() const; |
664 GrAARectRenderer* getAARectRenderer() { return fAARectRenderer; } | 658 GrAARectRenderer* getAARectRenderer() { return fAARectRenderer; } |
665 GrResourceCache* getResourceCache() { return fResourceCache; } | 659 GrResourceCache* getResourceCache() { return fResourceCache; } |
666 | 660 |
667 // Called by tests that draw directly to the context via GrDrawTarget | 661 // Called by tests that draw directly to the context via GrDrawTarget |
668 void getTestTarget(GrTestTarget*); | 662 void getTestTarget(GrTestTarget*); |
669 | 663 |
(...skipping 22 matching lines...) Expand all Loading... |
692 | 686 |
693 /** Prints GPU stats to the string if GR_GPU_STATS == 1. */ | 687 /** Prints GPU stats to the string if GR_GPU_STATS == 1. */ |
694 void dumpGpuStats(SkString*) const; | 688 void dumpGpuStats(SkString*) const; |
695 void printGpuStats() const; | 689 void printGpuStats() const; |
696 | 690 |
697 private: | 691 private: |
698 GrGpu* fGpu; | 692 GrGpu* fGpu; |
699 | 693 |
700 GrResourceCache* fResourceCache; | 694 GrResourceCache* fResourceCache; |
701 GrBatchFontCache* fBatchFontCache; | 695 GrBatchFontCache* fBatchFontCache; |
702 GrFontCache* fFontCache; | |
703 SkAutoTDelete<GrLayerCache> fLayerCache; | 696 SkAutoTDelete<GrLayerCache> fLayerCache; |
704 SkAutoTDelete<GrTextBlobCache> fTextBlobCache; | 697 SkAutoTDelete<GrTextBlobCache> fTextBlobCache; |
705 | 698 |
706 GrPathRendererChain* fPathRendererChain; | 699 GrPathRendererChain* fPathRendererChain; |
707 GrSoftwarePathRenderer* fSoftwarePathRenderer; | 700 GrSoftwarePathRenderer* fSoftwarePathRenderer; |
708 | 701 |
709 GrVertexBufferAllocPool* fDrawBufferVBAllocPool; | 702 GrVertexBufferAllocPool* fDrawBufferVBAllocPool; |
710 GrIndexBufferAllocPool* fDrawBufferIBAllocPool; | 703 GrIndexBufferAllocPool* fDrawBufferIBAllocPool; |
711 GrInOrderDrawBuffer* fDrawBuffer; | 704 GrInOrderDrawBuffer* fDrawBuffer; |
712 | 705 |
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
792 */ | 785 */ |
793 static void TextBlobCacheOverBudgetCB(void* data); | 786 static void TextBlobCacheOverBudgetCB(void* data); |
794 | 787 |
795 // TODO see note on createTextContext | 788 // TODO see note on createTextContext |
796 friend class SkGpuDevice; | 789 friend class SkGpuDevice; |
797 | 790 |
798 typedef SkRefCnt INHERITED; | 791 typedef SkRefCnt INHERITED; |
799 }; | 792 }; |
800 | 793 |
801 #endif | 794 #endif |
OLD | NEW |