OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2015 Google Inc. | 2 * Copyright 2015 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 GrDrawContext_DEFINED | 8 #ifndef GrDrawContext_DEFINED |
9 #define GrDrawContext_DEFINED | 9 #define GrDrawContext_DEFINED |
10 | 10 |
(...skipping 260 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
271 * | 271 * |
272 * TODO: Figure out a better model that allows us to roll this method into d
rawBatch. | 272 * TODO: Figure out a better model that allows us to roll this method into d
rawBatch. |
273 */ | 273 */ |
274 void drawPathBatch(const GrPipelineBuilder&, GrDrawPathBatchBase*); | 274 void drawPathBatch(const GrPipelineBuilder&, GrDrawPathBatchBase*); |
275 | 275 |
276 int width() const { return fRenderTarget->width(); } | 276 int width() const { return fRenderTarget->width(); } |
277 int height() const { return fRenderTarget->height(); } | 277 int height() const { return fRenderTarget->height(); } |
278 int numColorSamples() const { return fRenderTarget->numColorSamples(); } | 278 int numColorSamples() const { return fRenderTarget->numColorSamples(); } |
279 bool isGammaCorrect() const { return fSurfaceProps.isGammaCorrect(); } | 279 bool isGammaCorrect() const { return fSurfaceProps.isGammaCorrect(); } |
280 | 280 |
281 GrRenderTarget* accessRenderTarget() { return fRenderTarget; } | 281 GrRenderTarget* accessRenderTarget() { return fRenderTarget.get(); } |
| 282 |
| 283 sk_sp<GrRenderTarget> renderTarget() { return fRenderTarget; } |
| 284 |
| 285 sk_sp<GrTexture> asTexture() { return sk_ref_sp(fRenderTarget->asTexture());
} |
282 | 286 |
283 // Provides access to functions that aren't part of the public API. | 287 // Provides access to functions that aren't part of the public API. |
284 GrDrawContextPriv drawContextPriv(); | 288 GrDrawContextPriv drawContextPriv(); |
285 const GrDrawContextPriv drawContextPriv() const; | 289 const GrDrawContextPriv drawContextPriv() const; |
286 | 290 |
287 protected: | 291 protected: |
288 GrDrawContext(GrContext*, GrDrawingManager*, GrRenderTarget*, | 292 GrDrawContext(GrContext*, GrDrawingManager*, sk_sp<GrRenderTarget>, |
289 const SkSurfaceProps* surfaceProps, GrAuditTrail*, GrSingleOwn
er*); | 293 const SkSurfaceProps* surfaceProps, GrAuditTrail*, GrSingleOwn
er*); |
290 | 294 |
291 GrDrawingManager* drawingManager() { return fDrawingManager; } | 295 GrDrawingManager* drawingManager() { return fDrawingManager; } |
292 GrAuditTrail* auditTrail() { return fAuditTrail; } | 296 GrAuditTrail* auditTrail() { return fAuditTrail; } |
293 const SkSurfaceProps& surfaceProps() const { return fSurfaceProps; } | 297 const SkSurfaceProps& surfaceProps() const { return fSurfaceProps; } |
294 | 298 |
295 SkDEBUGCODE(GrSingleOwner* singleOwner() { return fSingleOwner; }) | 299 SkDEBUGCODE(GrSingleOwner* singleOwner() { return fSingleOwner; }) |
296 SkDEBUGCODE(void validate() const;) | 300 SkDEBUGCODE(void validate() const;) |
297 | 301 |
298 private: | 302 private: |
(...skipping 17 matching lines...) Expand all Loading... |
316 const SkPath& path, | 320 const SkPath& path, |
317 const GrStrokeInfo& strokeInfo); | 321 const GrStrokeInfo& strokeInfo); |
318 | 322 |
319 // This entry point allows the GrTextContext-derived classes to add their ba
tches to | 323 // This entry point allows the GrTextContext-derived classes to add their ba
tches to |
320 // the drawTarget. | 324 // the drawTarget. |
321 void drawBatch(GrPipelineBuilder* pipelineBuilder, GrDrawBatch* batch); | 325 void drawBatch(GrPipelineBuilder* pipelineBuilder, GrDrawBatch* batch); |
322 | 326 |
323 GrDrawTarget* getDrawTarget(); | 327 GrDrawTarget* getDrawTarget(); |
324 | 328 |
325 GrDrawingManager* fDrawingManager; | 329 GrDrawingManager* fDrawingManager; |
326 GrRenderTarget* fRenderTarget; | 330 sk_sp<GrRenderTarget> fRenderTarget; |
327 | 331 |
328 // In MDB-mode the drawTarget can be closed by some other drawContext that h
as picked | 332 // In MDB-mode the drawTarget can be closed by some other drawContext that h
as picked |
329 // it up. For this reason, the drawTarget should only ever be accessed via '
getDrawTarget'. | 333 // it up. For this reason, the drawTarget should only ever be accessed via '
getDrawTarget'. |
330 GrDrawTarget* fDrawTarget; | 334 GrDrawTarget* fDrawTarget; |
331 SkAutoTDelete<GrAtlasTextContext> fAtlasTextContext; | 335 SkAutoTDelete<GrAtlasTextContext> fAtlasTextContext; |
332 GrContext* fContext; | 336 GrContext* fContext; |
333 | 337 |
334 SkSurfaceProps fSurfaceProps; | 338 SkSurfaceProps fSurfaceProps; |
335 GrAuditTrail* fAuditTrail; | 339 GrAuditTrail* fAuditTrail; |
336 | 340 |
337 // In debug builds we guard against improper thread handling | 341 // In debug builds we guard against improper thread handling |
338 SkDEBUGCODE(mutable GrSingleOwner* fSingleOwner;) | 342 SkDEBUGCODE(mutable GrSingleOwner* fSingleOwner;) |
339 }; | 343 }; |
340 | 344 |
341 #endif | 345 #endif |
OLD | NEW |