| 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 "GrCaps.h" | 11 #include "GrCaps.h" |
| 12 #include "GrClip.h" | 12 #include "GrClip.h" |
| 13 #include "GrColor.h" | 13 #include "GrColor.h" |
| 14 #include "GrPaint.h" | 14 #include "GrPaint.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 "SkPathEffect.h" | 18 #include "SkPathEffect.h" |
| 19 #include "SkTypes.h" | 19 #include "SkTypes.h" |
| 20 #include "../private/GrAuditTrail.h" | 20 #include "../private/GrAuditTrail.h" |
| 21 #include "../private/GrSingleOwner.h" | 21 #include "../private/GrSingleOwner.h" |
| 22 #include "../private/SkMutex.h" | 22 #include "../private/SkMutex.h" |
| 23 | 23 |
| 24 struct GrBatchAtlasConfig; | 24 struct GrBatchAtlasConfig; |
| 25 class GrBatchFontCache; | 25 class GrBatchFontCache; |
| 26 struct GrContextOptions; | 26 struct GrContextOptions; |
| 27 class GrContextPriv; |
| 27 class GrContextThreadSafeProxy; | 28 class GrContextThreadSafeProxy; |
| 28 class GrDrawingManager; | 29 class GrDrawingManager; |
| 29 class GrDrawContext; | 30 class GrDrawContext; |
| 30 class GrFragmentProcessor; | 31 class GrFragmentProcessor; |
| 31 class GrGpu; | 32 class GrGpu; |
| 32 class GrIndexBuffer; | 33 class GrIndexBuffer; |
| 33 class GrOvalRenderer; | 34 class GrOvalRenderer; |
| 34 class GrPath; | 35 class GrPath; |
| 35 class GrPipelineBuilder; | 36 class GrPipelineBuilder; |
| 36 class GrResourceEntry; | 37 class GrResourceEntry; |
| (...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 173 * @param config the configuration of the render target. | 174 * @param config the configuration of the render target. |
| 174 * @param dpi the display density in dots per inch. | 175 * @param dpi the display density in dots per inch. |
| 175 * | 176 * |
| 176 * @return sample count that should be perform well and have good enough | 177 * @return sample count that should be perform well and have good enough |
| 177 * rendering quality for the display. Alternatively returns 0 if | 178 * rendering quality for the display. Alternatively returns 0 if |
| 178 * MSAA is not supported or recommended to be used by default. | 179 * MSAA is not supported or recommended to be used by default. |
| 179 */ | 180 */ |
| 180 int getRecommendedSampleCount(GrPixelConfig config, SkScalar dpi) const; | 181 int getRecommendedSampleCount(GrPixelConfig config, SkScalar dpi) const; |
| 181 | 182 |
| 182 /** | 183 /** |
| 183 * Returns a helper object to orchestrate draws. | |
| 184 * Callers assume the creation ref of the drawContext | |
| 185 * NULL will be returned if the context has been abandoned. | |
| 186 * | |
| 187 * @param rt the render target receiving the draws | |
| 188 * @param surfaceProps the surface properties (mainly defines text drawing) | |
| 189 * | |
| 190 * @return a draw context | |
| 191 */ | |
| 192 sk_sp<GrDrawContext> makeDrawContext(sk_sp<GrRenderTarget> rt, sk_sp<SkColor
Space> colorSpace, | |
| 193 const SkSurfaceProps* = nullptr); | |
| 194 | |
| 195 /** | |
| 196 * Create both a GrRenderTarget and a matching GrDrawContext to wrap it. | 184 * Create both a GrRenderTarget and a matching GrDrawContext to wrap it. |
| 197 * We guarantee that "asTexture" will succeed for drawContexts created | 185 * We guarantee that "asTexture" will succeed for drawContexts created |
| 198 * via this entry point. | 186 * via this entry point. |
| 199 */ | 187 */ |
| 200 sk_sp<GrDrawContext> makeDrawContext(SkBackingFit fit, | 188 sk_sp<GrDrawContext> makeDrawContext(SkBackingFit fit, |
| 201 int width, int height, | 189 int width, int height, |
| 202 GrPixelConfig config, | 190 GrPixelConfig config, |
| 203 sk_sp<SkColorSpace> colorSpace, | 191 sk_sp<SkColorSpace> colorSpace, |
| 204 int sampleCnt = 0, | 192 int sampleCnt = 0, |
| 205 GrSurfaceOrigin origin = kDefault_GrSur
faceOrigin, | 193 GrSurfaceOrigin origin = kDefault_GrSur
faceOrigin, |
| (...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 372 void dumpMemoryStatistics(SkTraceMemoryDump* traceMemoryDump) const; | 360 void dumpMemoryStatistics(SkTraceMemoryDump* traceMemoryDump) const; |
| 373 | 361 |
| 374 /** Get pointer to atlas texture for given mask format */ | 362 /** Get pointer to atlas texture for given mask format */ |
| 375 GrTexture* getFontAtlasTexture(GrMaskFormat format); | 363 GrTexture* getFontAtlasTexture(GrMaskFormat format); |
| 376 | 364 |
| 377 GrAuditTrail* getAuditTrail() { return &fAuditTrail; } | 365 GrAuditTrail* getAuditTrail() { return &fAuditTrail; } |
| 378 | 366 |
| 379 /** This is only useful for debug purposes */ | 367 /** This is only useful for debug purposes */ |
| 380 SkDEBUGCODE(GrSingleOwner* debugSingleOwner() const { return &fSingleOwner;
} ) | 368 SkDEBUGCODE(GrSingleOwner* debugSingleOwner() const { return &fSingleOwner;
} ) |
| 381 | 369 |
| 370 // Provides access to functions that aren't part of the public API. |
| 371 GrContextPriv contextPriv(); |
| 372 const GrContextPriv contextPriv() const; |
| 373 |
| 382 private: | 374 private: |
| 383 GrGpu* fGpu; | 375 GrGpu* fGpu; |
| 384 const GrCaps* fCaps; | 376 const GrCaps* fCaps; |
| 385 GrResourceCache* fResourceCache; | 377 GrResourceCache* fResourceCache; |
| 386 // this union exists because the inheritance of GrTextureProvider->GrResourc
eProvider | 378 // this union exists because the inheritance of GrTextureProvider->GrResourc
eProvider |
| 387 // is in a private header. | 379 // is in a private header. |
| 388 union { | 380 union { |
| 389 GrResourceProvider* fResourceProvider; | 381 GrResourceProvider* fResourceProvider; |
| 390 GrTextureProvider* fTextureProvider; | 382 GrTextureProvider* fTextureProvider; |
| 391 }; | 383 }; |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 427 | 419 |
| 428 const uint32_t fUniqueID; | 420 const uint32_t fUniqueID; |
| 429 | 421 |
| 430 SkAutoTDelete<GrDrawingManager> fDrawingManager; | 422 SkAutoTDelete<GrDrawingManager> fDrawingManager; |
| 431 | 423 |
| 432 GrAuditTrail fAuditTrail; | 424 GrAuditTrail fAuditTrail; |
| 433 | 425 |
| 434 // TODO: have the CMM use drawContexts and rm this friending | 426 // TODO: have the CMM use drawContexts and rm this friending |
| 435 friend class GrClipMaskManager; // the CMM is friended just so it can call '
drawingManager' | 427 friend class GrClipMaskManager; // the CMM is friended just so it can call '
drawingManager' |
| 436 friend class GrDrawingManager; // for access to drawingManager for ProgramU
nitTest | 428 friend class GrDrawingManager; // for access to drawingManager for ProgramU
nitTest |
| 429 friend class GrContextPriv; |
| 437 GrDrawingManager* drawingManager() { return fDrawingManager; } | 430 GrDrawingManager* drawingManager() { return fDrawingManager; } |
| 438 | 431 |
| 439 GrContext(); // init must be called after the constructor. | 432 GrContext(); // init must be called after the constructor. |
| 440 bool init(GrBackend, GrBackendContext, const GrContextOptions& options); | 433 bool init(GrBackend, GrBackendContext, const GrContextOptions& options); |
| 441 | 434 |
| 442 void initMockContext(); | 435 void initMockContext(); |
| 443 void initCommon(const GrContextOptions&); | 436 void initCommon(const GrContextOptions&); |
| 444 | 437 |
| 445 /** | 438 /** |
| 446 * These functions create premul <-> unpremul effects if it is possible to g
enerate a pair | 439 * These functions create premul <-> unpremul effects if it is possible to g
enerate a pair |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 487 SkAutoTUnref<const GrCaps> fCaps; | 480 SkAutoTUnref<const GrCaps> fCaps; |
| 488 uint32_t fContextUniqueID; | 481 uint32_t fContextUniqueID; |
| 489 | 482 |
| 490 friend class GrContext; | 483 friend class GrContext; |
| 491 friend class SkImage; | 484 friend class SkImage; |
| 492 | 485 |
| 493 typedef SkRefCnt INHERITED; | 486 typedef SkRefCnt INHERITED; |
| 494 }; | 487 }; |
| 495 | 488 |
| 496 #endif | 489 #endif |
| OLD | NEW |