Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6)

Side by Side Diff: src/gpu/GrDrawTarget.h

Issue 441623005: Remove unused matrix param from GrContext/GrDrawTarget rect drawing functions. (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Address comment Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/gpu/GrDefaultPathRenderer.cpp ('k') | src/gpu/GrDrawTarget.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 371 matching lines...) Expand 10 before | Expand all | Expand 10 after
382 SkFAIL("Unknown path transform type"); 382 SkFAIL("Unknown path transform type");
383 return 0; 383 return 0;
384 } 384 }
385 } 385 }
386 386
387 /** 387 /**
388 * Helper function for drawing rects. It performs a geometry src push and po p 388 * Helper function for drawing rects. It performs a geometry src push and po p
389 * and thus will finalize any reserved geometry. 389 * and thus will finalize any reserved geometry.
390 * 390 *
391 * @param rect the rect to draw 391 * @param rect the rect to draw
392 * @param matrix optional matrix applied to rect (before viewMatrix)
393 * @param localRect optional rect that specifies local coords to map onto 392 * @param localRect optional rect that specifies local coords to map onto
394 * rect. If NULL then rect serves as the local coords. 393 * rect. If NULL then rect serves as the local coords.
395 * @param localMatrix optional matrix applied to localRect. If 394 * @param localMatrix optional matrix applied to localRect. If
396 * srcRect is non-NULL and srcMatrix is non-NULL 395 * srcRect is non-NULL and srcMatrix is non-NULL
397 * then srcRect will be transformed by srcMatrix. 396 * then srcRect will be transformed by srcMatrix.
398 * srcMatrix can be NULL when no srcMatrix is desired. 397 * srcMatrix can be NULL when no srcMatrix is desired.
399 */ 398 */
400 void drawRect(const SkRect& rect, 399 void drawRect(const SkRect& rect,
401 const SkMatrix* matrix,
402 const SkRect* localRect, 400 const SkRect* localRect,
403 const SkMatrix* localMatrix) { 401 const SkMatrix* localMatrix) {
404 AutoGeometryPush agp(this); 402 AutoGeometryPush agp(this);
405 this->onDrawRect(rect, matrix, localRect, localMatrix); 403 this->onDrawRect(rect, localRect, localMatrix);
406 } 404 }
407 405
408 /** 406 /**
409 * Helper for drawRect when the caller doesn't need separate local rects or matrices. 407 * Helper for drawRect when the caller doesn't need separate local rects or matrices.
410 */ 408 */
411 void drawSimpleRect(const SkRect& rect, const SkMatrix* matrix = NULL) { 409 void drawSimpleRect(const SkRect& rect) {
412 this->drawRect(rect, matrix, NULL, NULL); 410 this->drawRect(rect, NULL, NULL);
413 } 411 }
414 void drawSimpleRect(const SkIRect& irect, const SkMatrix* matrix = NULL) { 412 void drawSimpleRect(const SkIRect& irect) {
415 SkRect rect = SkRect::Make(irect); 413 SkRect rect = SkRect::Make(irect);
416 this->drawRect(rect, matrix, NULL, NULL); 414 this->drawRect(rect, NULL, NULL);
417 } 415 }
418 416
419 /** 417 /**
420 * This call is used to draw multiple instances of some geometry with a 418 * This call is used to draw multiple instances of some geometry with a
421 * given number of vertices (V) and indices (I) per-instance. The indices in 419 * given number of vertices (V) and indices (I) per-instance. The indices in
422 * the index source must have the form i[k+I] == i[k] + V. Also, all indices 420 * the index source must have the form i[k+I] == i[k] + V. Also, all indices
423 * i[kI] ... i[(k+1)I-1] must be elements of the range kV ... (k+1)V-1. As a 421 * i[kI] ... i[(k+1)I-1] must be elements of the range kV ... (k+1)V-1. As a
424 * concrete example, the following index buffer for drawing a series of 422 * concrete example, the following index buffer for drawing a series of
425 * quads each as two triangles each satisfies these conditions with V=4 and 423 * quads each as two triangles each satisfies these conditions with V=4 and
426 * I=6: 424 * I=6:
(...skipping 495 matching lines...) Expand 10 before | Expand all | Expand 10 after
922 virtual void geometrySourceWillPop(const GeometrySrcState& restoredState) = 0; 920 virtual void geometrySourceWillPop(const GeometrySrcState& restoredState) = 0;
923 // subclass called to perform drawing 921 // subclass called to perform drawing
924 virtual void onDraw(const DrawInfo&) = 0; 922 virtual void onDraw(const DrawInfo&) = 0;
925 // Implementation of drawRect. The geometry src and vertex attribs will alre ady 923 // Implementation of drawRect. The geometry src and vertex attribs will alre ady
926 // be saved before this is called and restored afterwards. A subclass may ov erride 924 // be saved before this is called and restored afterwards. A subclass may ov erride
927 // this to perform more optimal rect rendering. Its draws should be funneled through 925 // this to perform more optimal rect rendering. Its draws should be funneled through
928 // one of the public GrDrawTarget draw methods (e.g. drawNonIndexed, 926 // one of the public GrDrawTarget draw methods (e.g. drawNonIndexed,
929 // drawIndexedInstances, ...). The base class draws a two triangle fan using 927 // drawIndexedInstances, ...). The base class draws a two triangle fan using
930 // drawNonIndexed from reserved vertex space. 928 // drawNonIndexed from reserved vertex space.
931 virtual void onDrawRect(const SkRect& rect, 929 virtual void onDrawRect(const SkRect& rect,
932 const SkMatrix* matrix,
933 const SkRect* localRect, 930 const SkRect* localRect,
934 const SkMatrix* localMatrix); 931 const SkMatrix* localMatrix);
935 932
936 virtual void onStencilPath(const GrPath*, SkPath::FillType) = 0; 933 virtual void onStencilPath(const GrPath*, SkPath::FillType) = 0;
937 virtual void onDrawPath(const GrPath*, SkPath::FillType, 934 virtual void onDrawPath(const GrPath*, SkPath::FillType,
938 const GrDeviceCoordTexture* dstCopy) = 0; 935 const GrDeviceCoordTexture* dstCopy) = 0;
939 virtual void onDrawPaths(const GrPathRange*, 936 virtual void onDrawPaths(const GrPathRange*,
940 const uint32_t indices[], int count, 937 const uint32_t indices[], int count,
941 const float transforms[], PathTransformType, 938 const float transforms[], PathTransformType,
942 SkPath::FillType, const GrDeviceCoordTexture*) = 0; 939 SkPath::FillType, const GrDeviceCoordTexture*) = 0;
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
980 GrContext* fContext; 977 GrContext* fContext;
981 // To keep track that we always have at least as many debug marker adds as r emoves 978 // To keep track that we always have at least as many debug marker adds as r emoves
982 int fGpuTraceMar kerCount; 979 int fGpuTraceMar kerCount;
983 GrTraceMarkerSet fActiveTrace Markers; 980 GrTraceMarkerSet fActiveTrace Markers;
984 GrTraceMarkerSet fStoredTrace Markers; 981 GrTraceMarkerSet fStoredTrace Markers;
985 982
986 typedef SkRefCnt INHERITED; 983 typedef SkRefCnt INHERITED;
987 }; 984 };
988 985
989 #endif 986 #endif
OLDNEW
« no previous file with comments | « src/gpu/GrDefaultPathRenderer.cpp ('k') | src/gpu/GrDrawTarget.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698