Index: include/core/SkPatch.h |
diff --git a/include/core/SkPatch.h b/include/core/SkPatch.h |
deleted file mode 100644 |
index 698b1cbf306e14dcddb0ce48aad2e886c63f3077..0000000000000000000000000000000000000000 |
--- a/include/core/SkPatch.h |
+++ /dev/null |
@@ -1,182 +0,0 @@ |
-/* |
- * Copyright 2014 Google Inc. |
- * |
- * Use of this source code is governed by a BSD-style license that can be |
- * found in the LICENSE file. |
- */ |
- |
-#ifndef SkPatch_DEFINED |
-#define SkPatch_DEFINED |
- |
-#include "SkColor.h" |
-#include "SkPreConfig.h" |
-#include "SkPoint.h" |
- |
-/** |
- * Class that represents a coons patch. |
- */ |
-class SK_API SkPatch { |
- |
-public: |
- /** |
- * Structure that holds the vertex data related to the tessellation of a SkPatch. It is passed |
- * as a parameter to the function getVertexData which sets the points, colors and texture |
- * coordinates of the vertices and the indices for them to be drawn as triangles. |
- */ |
- struct VertexData { |
- int fVertexCount, fIndexCount; |
- SkPoint* fPoints; |
- SkPoint* fTexCoords; |
- uint32_t* fColors; |
- uint16_t* fIndices; |
- |
- VertexData() |
- : fVertexCount(0) |
- , fIndexCount(0) |
- , fPoints(NULL) |
- , fTexCoords(NULL) |
- , fColors(NULL) |
- , fIndices(NULL) { } |
- |
- ~VertexData() { |
- SkDELETE_ARRAY(fPoints); |
- SkDELETE_ARRAY(fTexCoords); |
- SkDELETE_ARRAY(fColors); |
- SkDELETE_ARRAY(fIndices); |
- } |
- }; |
- |
- // Enums for control points based on the order specified in the constructor (clockwise). |
- enum CubicCtrlPts { |
- kTopP0_CubicCtrlPts = 0, |
- kTopP1_CubicCtrlPts = 1, |
- kTopP2_CubicCtrlPts = 2, |
- kTopP3_CubicCtrlPts = 3, |
- |
- kRightP0_CubicCtrlPts = 3, |
- kRightP1_CubicCtrlPts = 4, |
- kRightP2_CubicCtrlPts = 5, |
- kRightP3_CubicCtrlPts = 6, |
- |
- kBottomP0_CubicCtrlPts = 9, |
- kBottomP1_CubicCtrlPts = 8, |
- kBottomP2_CubicCtrlPts = 7, |
- kBottomP3_CubicCtrlPts = 6, |
- |
- kLeftP0_CubicCtrlPts = 0, |
- kLeftP1_CubicCtrlPts = 11, |
- kLeftP2_CubicCtrlPts = 10, |
- kLeftP3_CubicCtrlPts = 9, |
- }; |
- |
- // Enum for corner colors also clockwise. |
- enum CornerColors { |
- kTopLeft_CornerColors = 0, |
- kTopRight_CornerColors, |
- kBottomRight_CornerColors, |
- kBottomLeft_CornerColors |
- }; |
- |
- enum { |
- kNumCtrlPts = 12, |
- kNumColors = 4, |
- kNumPtsCubic = 4 |
- }; |
- |
- /** |
- * Points are in the following order: |
- * (top curve) |
- * 0 1 2 3 |
- * (left curve) 11 4 (right curve) |
- * 10 5 |
- * 9 8 7 6 |
- * (bottom curve) |
- */ |
- SkPatch() { } |
- SkPatch(const SkPoint points[12], const SkColor colors[4]); |
- |
- /** |
- * Function that evaluates the coons patch interpolation. |
- * data refers to the pointer of the PatchData struct in which the tessellation data is set. |
- * lod refers the level of detail for each axis. |
- */ |
- bool getVertexData(SkPatch::VertexData* data, int lodX, int lodY) const; |
- |
- void getTopPoints(SkPoint points[4]) const { |
- points[0] = fCtrlPoints[kTopP0_CubicCtrlPts]; |
- points[1] = fCtrlPoints[kTopP1_CubicCtrlPts]; |
- points[2] = fCtrlPoints[kTopP2_CubicCtrlPts]; |
- points[3] = fCtrlPoints[kTopP3_CubicCtrlPts]; |
- } |
- |
- void getBottomPoints(SkPoint points[4]) const { |
- points[0] = fCtrlPoints[kBottomP0_CubicCtrlPts]; |
- points[1] = fCtrlPoints[kBottomP1_CubicCtrlPts]; |
- points[2] = fCtrlPoints[kBottomP2_CubicCtrlPts]; |
- points[3] = fCtrlPoints[kBottomP3_CubicCtrlPts]; |
- } |
- |
- void getLeftPoints(SkPoint points[4]) const { |
- points[0] = fCtrlPoints[kLeftP0_CubicCtrlPts]; |
- points[1] = fCtrlPoints[kLeftP1_CubicCtrlPts]; |
- points[2] = fCtrlPoints[kLeftP2_CubicCtrlPts]; |
- points[3] = fCtrlPoints[kLeftP3_CubicCtrlPts]; |
- } |
- |
- void getRightPoints(SkPoint points[4]) const { |
- points[0] = fCtrlPoints[kRightP0_CubicCtrlPts]; |
- points[1] = fCtrlPoints[kRightP1_CubicCtrlPts]; |
- points[2] = fCtrlPoints[kRightP2_CubicCtrlPts]; |
- points[3] = fCtrlPoints[kRightP3_CubicCtrlPts]; |
- } |
- |
- void getCornerPoints(SkPoint points[4]) const { |
- points[0] = fCtrlPoints[kTopP0_CubicCtrlPts]; |
- points[1] = fCtrlPoints[kTopP3_CubicCtrlPts]; |
- points[2] = fCtrlPoints[kBottomP3_CubicCtrlPts]; |
- points[3] = fCtrlPoints[kBottomP0_CubicCtrlPts]; |
- } |
- |
- const SkPoint* getControlPoints() const { |
- return fCtrlPoints; |
- } |
- |
- const SkColor* getColors() const { |
- return fCornerColors; |
- } |
- |
- void setPoints(const SkPoint points[12]) { |
- memcpy(fCtrlPoints, points, kNumCtrlPts * sizeof(SkPoint)); |
- } |
- |
- void setColors(const SkColor colors[4]) { |
- memcpy(fCornerColors, colors, kNumColors * sizeof(SkColor)); |
- } |
- |
- void reset(const SkPoint points[12], const SkColor colors[4]) { |
- this->setPoints(points); |
- this->setColors(colors); |
- } |
- |
- /** |
- * Write the patch to the buffer, and return the number of bytes written. |
- * If buffer is NULL, it still returns the number of bytes. |
- */ |
- size_t writeToMemory(void* buffer) const; |
- |
- /** |
- * Initializes the patch from the buffer |
- * |
- * buffer Memory to read from |
- * length Amount of memory available in the buffer |
- * returns the number of bytes read (must be a multiple of 4) or |
- * 0 if there was not enough memory available |
- */ |
- size_t readFromMemory(const void* buffer, size_t length); |
- |
-private: |
- SkPoint fCtrlPoints[kNumCtrlPts]; |
- SkColor fCornerColors[kNumColors]; |
-}; |
- |
-#endif |