| 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 GrDrawTarget_DEFINED | 8 #ifndef GrDrawTarget_DEFINED |
| 9 #define GrDrawTarget_DEFINED | 9 #define GrDrawTarget_DEFINED |
| 10 | 10 |
| (...skipping 12 matching lines...) Expand all Loading... |
| 23 | 23 |
| 24 #include "SkClipStack.h" | 24 #include "SkClipStack.h" |
| 25 #include "SkMatrix.h" | 25 #include "SkMatrix.h" |
| 26 #include "SkPath.h" | 26 #include "SkPath.h" |
| 27 #include "SkStrokeRec.h" | 27 #include "SkStrokeRec.h" |
| 28 #include "SkTArray.h" | 28 #include "SkTArray.h" |
| 29 #include "SkTLazy.h" | 29 #include "SkTLazy.h" |
| 30 #include "SkTypes.h" | 30 #include "SkTypes.h" |
| 31 #include "SkXfermode.h" | 31 #include "SkXfermode.h" |
| 32 | 32 |
| 33 class GrBatch; |
| 33 class GrClip; | 34 class GrClip; |
| 34 class GrCaps; | 35 class GrCaps; |
| 35 class GrPath; | 36 class GrPath; |
| 36 class GrPathRange; | 37 class GrPathRange; |
| 37 class GrDrawBatch; | 38 class GrDrawBatch; |
| 38 | 39 |
| 39 class GrDrawTarget : public SkRefCnt { | 40 class GrDrawTarget : public SkRefCnt { |
| 40 public: | 41 public: |
| 41 | 42 |
| 42 | 43 |
| (...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 148 /** | 149 /** |
| 149 * Clear the passed in render target. Ignores the GrPipelineBuilder and clip
. Clears the whole | 150 * Clear the passed in render target. Ignores the GrPipelineBuilder and clip
. Clears the whole |
| 150 * thing if rect is NULL, otherwise just the rect. If canIgnoreRect is set t
hen the entire | 151 * thing if rect is NULL, otherwise just the rect. If canIgnoreRect is set t
hen the entire |
| 151 * render target can be optionally cleared. | 152 * render target can be optionally cleared. |
| 152 */ | 153 */ |
| 153 void clear(const SkIRect* rect, | 154 void clear(const SkIRect* rect, |
| 154 GrColor color, | 155 GrColor color, |
| 155 bool canIgnoreRect, | 156 bool canIgnoreRect, |
| 156 GrRenderTarget* renderTarget); | 157 GrRenderTarget* renderTarget); |
| 157 | 158 |
| 158 /** | 159 /** Discards the contents render target. */ |
| 159 * Discards the contents render target. | 160 void discard(GrRenderTarget*); |
| 160 **/ | |
| 161 virtual void discard(GrRenderTarget*) = 0; | |
| 162 | 161 |
| 163 /** | 162 /** |
| 164 * Called at start and end of gpu trace marking | 163 * Called at start and end of gpu trace marking |
| 165 * GR_CREATE_GPU_TRACE_MARKER(marker_str, target) will automatically call th
ese at the start | 164 * GR_CREATE_GPU_TRACE_MARKER(marker_str, target) will automatically call th
ese at the start |
| 166 * and end of a code block respectively | 165 * and end of a code block respectively |
| 167 */ | 166 */ |
| 168 void addGpuTraceMarker(const GrGpuTraceMarker* marker); | 167 void addGpuTraceMarker(const GrGpuTraceMarker* marker); |
| 169 void removeGpuTraceMarker(const GrGpuTraceMarker* marker); | 168 void removeGpuTraceMarker(const GrGpuTraceMarker* marker); |
| 170 | 169 |
| 171 /** | 170 /** |
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 235 const GrProcOptInfo& colorPOI, | 234 const GrProcOptInfo& colorPOI, |
| 236 const GrProcOptInfo& coveragePOI, | 235 const GrProcOptInfo& coveragePOI, |
| 237 GrXferProcessor::DstTexture*, | 236 GrXferProcessor::DstTexture*, |
| 238 const SkRect* drawBounds); | 237 const SkRect* drawBounds); |
| 239 | 238 |
| 240 private: | 239 private: |
| 241 virtual void onReset() = 0; | 240 virtual void onReset() = 0; |
| 242 | 241 |
| 243 virtual void onFlush() = 0; | 242 virtual void onFlush() = 0; |
| 244 | 243 |
| 245 virtual void onDrawBatch(GrDrawBatch*) = 0; | 244 virtual void onDrawBatch(GrBatch*) = 0; |
| 246 virtual void onStencilPath(const GrPipelineBuilder&, | 245 virtual void onStencilPath(const GrPipelineBuilder&, |
| 247 const GrPathProcessor*, | 246 const GrPathProcessor*, |
| 248 const GrPath*, | 247 const GrPath*, |
| 249 const GrScissorState&, | 248 const GrScissorState&, |
| 250 const GrStencilSettings&) = 0; | 249 const GrStencilSettings&) = 0; |
| 251 virtual void onDrawPath(const GrPathProcessor*, | 250 virtual void onDrawPath(const GrPathProcessor*, |
| 252 const GrPath*, | 251 const GrPath*, |
| 253 const GrStencilSettings&, | 252 const GrStencilSettings&, |
| 254 const PipelineInfo&) = 0; | 253 const PipelineInfo&) = 0; |
| 255 virtual void onDrawPaths(const GrPathProcessor*, | 254 virtual void onDrawPaths(const GrPathProcessor*, |
| 256 const GrPathRange*, | 255 const GrPathRange*, |
| 257 const void* indices, | 256 const void* indices, |
| 258 PathIndexType, | 257 PathIndexType, |
| 259 const float transformValues[], | 258 const float transformValues[], |
| 260 PathTransformType, | 259 PathTransformType, |
| 261 int count, | 260 int count, |
| 262 const GrStencilSettings&, | 261 const GrStencilSettings&, |
| 263 const PipelineInfo&) = 0; | 262 const PipelineInfo&) = 0; |
| 264 | 263 |
| 265 virtual void onClear(const SkIRect& rect, GrColor color, GrRenderTarget* ren
derTarget) = 0; | |
| 266 | |
| 267 /** The subclass's copy surface implementation. It should assume that any cl
ipping has already | 264 /** The subclass's copy surface implementation. It should assume that any cl
ipping has already |
| 268 been performed on the rect and point and that the GrGpu supports the cop
y. */ | 265 been performed on the rect and point and that the GrGpu supports the cop
y. */ |
| 269 virtual void onCopySurface(GrSurface* dst, | 266 virtual void onCopySurface(GrSurface* dst, |
| 270 GrSurface* src, | 267 GrSurface* src, |
| 271 const SkIRect& srcRect, | 268 const SkIRect& srcRect, |
| 272 const SkIPoint& dstPoint) = 0; | 269 const SkIPoint& dstPoint) = 0; |
| 273 | 270 |
| 274 // Check to see if this set of draw commands has been sent out | 271 // Check to see if this set of draw commands has been sent out |
| 275 virtual bool isIssued(uint32_t drawID) { return true; } | 272 virtual bool isIssued(uint32_t drawID) { return true; } |
| 276 void getPathStencilSettingsForFilltype(GrPathRendering::FillType, | 273 void getPathStencilSettingsForFilltype(GrPathRendering::FillType, |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 332 bool setupClip(const GrPipelineBuilder&, | 329 bool setupClip(const GrPipelineBuilder&, |
| 333 GrPipelineBuilder::AutoRestoreFragmentProcessorState*, | 330 GrPipelineBuilder::AutoRestoreFragmentProcessorState*, |
| 334 GrPipelineBuilder::AutoRestoreStencil*, | 331 GrPipelineBuilder::AutoRestoreStencil*, |
| 335 GrScissorState* scissorState, | 332 GrScissorState* scissorState, |
| 336 const SkRect* devBounds) override; | 333 const SkRect* devBounds) override; |
| 337 | 334 |
| 338 typedef GrDrawTarget INHERITED; | 335 typedef GrDrawTarget INHERITED; |
| 339 }; | 336 }; |
| 340 | 337 |
| 341 #endif | 338 #endif |
| OLD | NEW |