OLD | NEW |
---|---|
1 /* | 1 /* |
2 * Copyright 2006 The Android Open Source Project | 2 * Copyright 2006 The Android Open Source Project |
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 SkCanvas_DEFINED | 8 #ifndef SkCanvas_DEFINED |
9 #define SkCanvas_DEFINED | 9 #define SkCanvas_DEFINED |
10 | 10 |
(...skipping 426 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
437 | 437 |
438 /** Replace the current matrix with a copy of the specified matrix. | 438 /** Replace the current matrix with a copy of the specified matrix. |
439 @param matrix The matrix that will be copied into the current matrix. | 439 @param matrix The matrix that will be copied into the current matrix. |
440 */ | 440 */ |
441 void setMatrix(const SkMatrix& matrix); | 441 void setMatrix(const SkMatrix& matrix); |
442 | 442 |
443 /** Helper for setMatrix(identity). Sets the current matrix to identity. | 443 /** Helper for setMatrix(identity). Sets the current matrix to identity. |
444 */ | 444 */ |
445 void resetMatrix(); | 445 void resetMatrix(); |
446 | 446 |
447 /** Set the current draw depth of the canvas. | |
448 @param z The integer depth, intended between 0 - 255 inclusive | |
449 0 is lowest (into screen), 255 is highest (out of screen) | |
450 */ | |
451 void setZ(uint32_t z); | |
452 | |
453 /** Returns the current draw depth of the canvas. | |
454 */ | |
455 uint32_t getZ() const; | |
456 | |
447 /** | 457 /** |
448 * Modify the current clip with the specified rectangle. | 458 * Modify the current clip with the specified rectangle. |
449 * @param rect The rect to combine with the current clip | 459 * @param rect The rect to combine with the current clip |
450 * @param op The region op to apply to the current clip | 460 * @param op The region op to apply to the current clip |
451 * @param doAntiAlias true if the clip should be antialiased | 461 * @param doAntiAlias true if the clip should be antialiased |
452 */ | 462 */ |
453 void clipRect(const SkRect& rect, | 463 void clipRect(const SkRect& rect, |
454 SkRegion::Op op = SkRegion::kIntersect_Op, | 464 SkRegion::Op op = SkRegion::kIntersect_Op, |
455 bool doAntiAlias = false); | 465 bool doAntiAlias = false); |
456 | 466 |
(...skipping 843 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1300 | 1310 |
1301 virtual void willSave() {} | 1311 virtual void willSave() {} |
1302 // Overriders should call the corresponding INHERITED method up the inherita nce chain. | 1312 // Overriders should call the corresponding INHERITED method up the inherita nce chain. |
1303 virtual SaveLayerStrategy getSaveLayerStrategy(const SaveLayerRec&) { | 1313 virtual SaveLayerStrategy getSaveLayerStrategy(const SaveLayerRec&) { |
1304 return kFullLayer_SaveLayerStrategy; | 1314 return kFullLayer_SaveLayerStrategy; |
1305 } | 1315 } |
1306 virtual void willRestore() {} | 1316 virtual void willRestore() {} |
1307 virtual void didRestore() {} | 1317 virtual void didRestore() {} |
1308 virtual void didConcat(const SkMatrix&) {} | 1318 virtual void didConcat(const SkMatrix&) {} |
1309 virtual void didSetMatrix(const SkMatrix&) {} | 1319 virtual void didSetMatrix(const SkMatrix&) {} |
1320 virtual void didSetZ(const uint32_t) {} | |
1310 | 1321 |
1311 virtual void onDrawAnnotation(const SkRect&, const char key[], SkData* value ); | 1322 virtual void onDrawAnnotation(const SkRect&, const char key[], SkData* value ); |
1312 virtual void onDrawDRRect(const SkRRect&, const SkRRect&, const SkPaint&); | 1323 virtual void onDrawDRRect(const SkRRect&, const SkRRect&, const SkPaint&); |
1313 | 1324 |
1314 virtual void onDrawText(const void* text, size_t byteLength, SkScalar x, | 1325 virtual void onDrawText(const void* text, size_t byteLength, SkScalar x, |
1315 SkScalar y, const SkPaint& paint); | 1326 SkScalar y, const SkPaint& paint); |
1316 | 1327 |
1317 virtual void onDrawPosText(const void* text, size_t byteLength, | 1328 virtual void onDrawPosText(const void* text, size_t byteLength, |
1318 const SkPoint pos[], const SkPaint& paint); | 1329 const SkPoint pos[], const SkPaint& paint); |
1319 | 1330 |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1378 virtual SkCanvas* canvasForDrawIter(); | 1389 virtual SkCanvas* canvasForDrawIter(); |
1379 | 1390 |
1380 // Clip rectangle bounds. Called internally by saveLayer. | 1391 // Clip rectangle bounds. Called internally by saveLayer. |
1381 // returns false if the entire rectangle is entirely clipped out | 1392 // returns false if the entire rectangle is entirely clipped out |
1382 // If non-NULL, The imageFilter parameter will be used to expand the clip | 1393 // If non-NULL, The imageFilter parameter will be used to expand the clip |
1383 // and offscreen bounds for any margin required by the filter DAG. | 1394 // and offscreen bounds for any margin required by the filter DAG. |
1384 bool clipRectBounds(const SkRect* bounds, SaveLayerFlags, SkIRect* intersect ion, | 1395 bool clipRectBounds(const SkRect* bounds, SaveLayerFlags, SkIRect* intersect ion, |
1385 const SkImageFilter* imageFilter = NULL); | 1396 const SkImageFilter* imageFilter = NULL); |
1386 | 1397 |
1387 private: | 1398 private: |
1399 uint32_t curDrawDepth = 0; | |
jvanverth1
2016/07/07 18:43:02
Member variables need to start with 'f', so this s
vjiaoblack
2016/07/07 19:04:10
Done.
| |
1400 | |
1388 static bool BoundsAffectsClip(SaveLayerFlags); | 1401 static bool BoundsAffectsClip(SaveLayerFlags); |
1389 static SaveLayerFlags LegacySaveFlagsToSaveLayerFlags(uint32_t legacySaveFla gs); | 1402 static SaveLayerFlags LegacySaveFlagsToSaveLayerFlags(uint32_t legacySaveFla gs); |
1390 | 1403 |
1391 enum ShaderOverrideOpacity { | 1404 enum ShaderOverrideOpacity { |
1392 kNone_ShaderOverrideOpacity, //!< there is no overriding shader ( bitmap or image) | 1405 kNone_ShaderOverrideOpacity, //!< there is no overriding shader ( bitmap or image) |
1393 kOpaque_ShaderOverrideOpacity, //!< the overriding shader is opaque | 1406 kOpaque_ShaderOverrideOpacity, //!< the overriding shader is opaque |
1394 kNotOpaque_ShaderOverrideOpacity, //!< the overriding shader may not b e opaque | 1407 kNotOpaque_ShaderOverrideOpacity, //!< the overriding shader may not b e opaque |
1395 }; | 1408 }; |
1396 | 1409 |
1397 // notify our surface (if we have one) that we are about to draw, so it | 1410 // notify our surface (if we have one) that we are about to draw, so it |
(...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1585 | 1598 |
1586 class SkCanvasClipVisitor { | 1599 class SkCanvasClipVisitor { |
1587 public: | 1600 public: |
1588 virtual ~SkCanvasClipVisitor(); | 1601 virtual ~SkCanvasClipVisitor(); |
1589 virtual void clipRect(const SkRect&, SkRegion::Op, bool antialias) = 0; | 1602 virtual void clipRect(const SkRect&, SkRegion::Op, bool antialias) = 0; |
1590 virtual void clipRRect(const SkRRect&, SkRegion::Op, bool antialias) = 0; | 1603 virtual void clipRRect(const SkRRect&, SkRegion::Op, bool antialias) = 0; |
1591 virtual void clipPath(const SkPath&, SkRegion::Op, bool antialias) = 0; | 1604 virtual void clipPath(const SkPath&, SkRegion::Op, bool antialias) = 0; |
1592 }; | 1605 }; |
1593 | 1606 |
1594 #endif | 1607 #endif |
OLD | NEW |