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 "GrTextureProvider.h" | 16 #include "GrTextureProvider.h" |
17 #include "SkMatrix.h" | 17 #include "SkMatrix.h" |
18 #include "SkMutex.h" | |
19 #include "SkPathEffect.h" | 18 #include "SkPathEffect.h" |
20 #include "SkTypes.h" | 19 #include "SkTypes.h" |
21 | 20 |
22 struct GrBatchAtlasConfig; | 21 struct GrBatchAtlasConfig; |
23 class GrBatchFontCache; | 22 class GrBatchFontCache; |
24 class GrCaps; | 23 class GrCaps; |
25 struct GrContextOptions; | 24 struct GrContextOptions; |
26 class GrDrawContext; | 25 class GrDrawContext; |
27 class GrDrawTarget; | 26 class GrDrawTarget; |
28 class GrFragmentProcessor; | 27 class GrFragmentProcessor; |
(...skipping 345 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
374 SkAutoTDelete<GrTextBlobCache> fTextBlobCache; | 373 SkAutoTDelete<GrTextBlobCache> fTextBlobCache; |
375 | 374 |
376 GrPathRendererChain* fPathRendererChain; | 375 GrPathRendererChain* fPathRendererChain; |
377 GrSoftwarePathRenderer* fSoftwarePathRenderer; | 376 GrSoftwarePathRenderer* fSoftwarePathRenderer; |
378 | 377 |
379 // Set by OverbudgetCB() to request that GrContext flush before exiting a dr
aw. | 378 // Set by OverbudgetCB() to request that GrContext flush before exiting a dr
aw. |
380 bool fFlushToReduceCacheSize; | 379 bool fFlushToReduceCacheSize; |
381 bool fDidTestPMConversions; | 380 bool fDidTestPMConversions; |
382 int fPMToUPMConversion; | 381 int fPMToUPMConversion; |
383 int fUPMToPMConversion; | 382 int fUPMToPMConversion; |
384 // The sw backend may call GrContext::readSurfacePixels on multiple threads | |
385 // We may transfer the responsibilty for using a mutex to the sw backend | |
386 // when there are fewer code paths that lead to a readSurfacePixels call | |
387 // from the sw backend. | |
388 SkMutex fReadPixelsMutex; | |
389 | 383 |
390 struct CleanUpData { | 384 struct CleanUpData { |
391 PFCleanUpFunc fFunc; | 385 PFCleanUpFunc fFunc; |
392 void* fInfo; | 386 void* fInfo; |
393 }; | 387 }; |
394 | 388 |
395 SkTDArray<CleanUpData> fCleanUpData; | 389 SkTDArray<CleanUpData> fCleanUpData; |
396 | 390 |
397 const uint32_t fUniqueID; | 391 const uint32_t fUniqueID; |
398 | 392 |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
468 /** | 462 /** |
469 * A callback similar to the above for use by the TextBlobCache | 463 * A callback similar to the above for use by the TextBlobCache |
470 * TODO move textblob draw calls below context so we can use the call above. | 464 * TODO move textblob draw calls below context so we can use the call above. |
471 */ | 465 */ |
472 static void TextBlobCacheOverBudgetCB(void* data); | 466 static void TextBlobCacheOverBudgetCB(void* data); |
473 | 467 |
474 typedef SkRefCnt INHERITED; | 468 typedef SkRefCnt INHERITED; |
475 }; | 469 }; |
476 | 470 |
477 #endif | 471 #endif |
OLD | NEW |