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

Side by Side Diff: src/pathops/SkPathOpsDebug.h

Issue 131103009: update pathops to circle sort (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: disable old test that still fails on linux 32 release Created 6 years, 8 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/pathops/SkPathOpsCurve.h ('k') | src/pathops/SkPathOpsDebug.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 2013 Google Inc. 2 * Copyright 2013 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 #ifndef SkPathOpsDebug_DEFINED 7 #ifndef SkPathOpsDebug_DEFINED
8 #define SkPathOpsDebug_DEFINED 8 #define SkPathOpsDebug_DEFINED
9 9
10 #include "SkPathOps.h" 10 #include "SkPathOps.h"
(...skipping 13 matching lines...) Expand all
24 #define SK_RAND(seed) rand() 24 #define SK_RAND(seed) rand()
25 #else 25 #else
26 #define SK_RAND(seed) rand_r(&seed) 26 #define SK_RAND(seed) rand_r(&seed)
27 #endif 27 #endif
28 #ifdef SK_BUILD_FOR_WIN 28 #ifdef SK_BUILD_FOR_WIN
29 #define SK_SNPRINTF _snprintf 29 #define SK_SNPRINTF _snprintf
30 #else 30 #else
31 #define SK_SNPRINTF snprintf 31 #define SK_SNPRINTF snprintf
32 #endif 32 #endif
33 33
34 #define WIND_AS_STRING(x) char x##Str[12]; \
35 if (!SkPathOpsDebug::ValidWind(x)) strcpy(x##Str, "?"); \
36 else SK_SNPRINTF(x##Str, sizeof(x##Str), "%d", x)
37
34 #if FORCE_RELEASE 38 #if FORCE_RELEASE
35 39
36 #define DEBUG_ACTIVE_OP 0 40 #define DEBUG_ACTIVE_OP 0
37 #define DEBUG_ACTIVE_SPANS 0 41 #define DEBUG_ACTIVE_SPANS 0
38 #define DEBUG_ACTIVE_SPANS_FIRST_ONLY 0 42 #define DEBUG_ACTIVE_SPANS_FIRST_ONLY 0
39 #define DEBUG_ACTIVE_SPANS_SHORT_FORM 1 43 #define DEBUG_ACTIVE_SPANS_SHORT_FORM 1
40 #define DEBUG_ADD_INTERSECTING_TS 0 44 #define DEBUG_ADD_INTERSECTING_TS 0
41 #define DEBUG_ADD_T_PAIR 0 45 #define DEBUG_ADD_T_PAIR 0
42 #define DEBUG_ANGLE 0 46 #define DEBUG_ANGLE 0
43 #define DEBUG_AS_C_CODE 1 47 #define DEBUG_AS_C_CODE 1
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
114 #define TX_DEBUG_STR(t) #t "[%d]=%1.9g" 118 #define TX_DEBUG_STR(t) #t "[%d]=%1.9g"
115 #define CUBIC_DEBUG_DATA(c) c[0].fX, c[0].fY, c[1].fX, c[1].fY, c[2].fX, c[2].fY , c[3].fX, c[3].fY 119 #define CUBIC_DEBUG_DATA(c) c[0].fX, c[0].fY, c[1].fX, c[1].fY, c[2].fX, c[2].fY , c[3].fX, c[3].fY
116 #define QUAD_DEBUG_DATA(q) q[0].fX, q[0].fY, q[1].fX, q[1].fY, q[2].fX, q[2].fY 120 #define QUAD_DEBUG_DATA(q) q[0].fX, q[0].fY, q[1].fX, q[1].fY, q[2].fX, q[2].fY
117 #define LINE_DEBUG_DATA(l) l[0].fX, l[0].fY, l[1].fX, l[1].fY 121 #define LINE_DEBUG_DATA(l) l[0].fX, l[0].fY, l[1].fX, l[1].fY
118 #define PT_DEBUG_DATA(i, n) i.pt(n).fX, i.pt(n).fY 122 #define PT_DEBUG_DATA(i, n) i.pt(n).fX, i.pt(n).fY
119 123
120 #ifndef DEBUG_TEST 124 #ifndef DEBUG_TEST
121 #define DEBUG_TEST 0 125 #define DEBUG_TEST 0
122 #endif 126 #endif
123 127
124 #if defined SK_DEBUG || !FORCE_RELEASE
125
126 #if DEBUG_SHOW_TEST_NAME 128 #if DEBUG_SHOW_TEST_NAME
127 #include "SkTLS.h" 129 #include "SkTLS.h"
128 #endif 130 #endif
129 131
130 #include "SkTArray.h" 132 #include "SkTArray.h"
133 #include "SkTDArray.h"
131 134
132 class SkPathOpsDebug { 135 class SkPathOpsDebug {
133 public: 136 public:
134 static int gMaxWindSum; 137 static int gMaxWindSum;
135 static int gMaxWindValue; 138 static int gMaxWindValue;
136 139
137 static const char* kLVerbStr[]; 140 static const char* kLVerbStr[];
138 static int gContourID; 141 static int gContourID;
139 static int gSegmentID; 142 static int gSegmentID;
140 143
141 #if DEBUG_SORT || DEBUG_SWAP_TOP 144 #if DEBUG_SORT || DEBUG_SWAP_TOP
142 static int gSortCountDefault; 145 static int gSortCountDefault;
143 static int gSortCount; 146 static int gSortCount;
144 #endif 147 #endif
145 148
146 #if DEBUG_ACTIVE_OP 149 #if DEBUG_ACTIVE_OP
147 static const char* kPathOpStr[]; 150 static const char* kPathOpStr[];
148 #endif 151 #endif
149 152
153 static bool ChaseContains(const SkTDArray<struct SkOpSpan *>& , const struct SkOpSpan * );
150 static void MathematicaIze(char* str, size_t bufferSize); 154 static void MathematicaIze(char* str, size_t bufferSize);
151 static bool ValidWind(int winding); 155 static bool ValidWind(int winding);
152 static void WindingPrintf(int winding); 156 static void WindingPrintf(int winding);
153 157
154 #if DEBUG_SHOW_TEST_NAME 158 #if DEBUG_SHOW_TEST_NAME
155 static void* CreateNameStr(); 159 static void* CreateNameStr();
156 static void DeleteNameStr(void* v); 160 static void DeleteNameStr(void* v);
157 #define DEBUG_FILENAME_STRING_LENGTH 64 161 #define DEBUG_FILENAME_STRING_LENGTH 64
158 #define DEBUG_FILENAME_STRING (reinterpret_cast<char* >(SkTLS::Get(SkPathOpsDebu g::CreateNameStr, \ 162 #define DEBUG_FILENAME_STRING (reinterpret_cast<char* >(SkTLS::Get(SkPathOpsDebu g::CreateNameStr, \
159 SkPathOpsDebug::DeleteNameStr))) 163 SkPathOpsDebug::DeleteNameStr)))
160 static void BumpTestName(char* ); 164 static void BumpTestName(char* );
165 #endif
161 static void ShowPath(const SkPath& one, const SkPath& two, SkPathOp op, cons t char* name); 166 static void ShowPath(const SkPath& one, const SkPath& two, SkPathOp op, cons t char* name);
162 #endif
163 static void DumpAngles(const SkTArray<class SkOpAngle, true>& angles); 167 static void DumpAngles(const SkTArray<class SkOpAngle, true>& angles);
164 static void DumpAngles(const SkTArray<class SkOpAngle* , true>& angles); 168 static void DumpAngles(const SkTArray<class SkOpAngle* , true>& angles);
169 static void DumpContours(const SkTArray<class SkOpContour, true>& contours);
170 static void DumpContours(const SkTArray<class SkOpContour* , true>& contours );
171 static void DumpContourAngles(const SkTArray<class SkOpContour, true>& conto urs);
172 static void DumpContourAngles(const SkTArray<class SkOpContour* , true>& con tours);
173 static void DumpContourPts(const SkTArray<class SkOpContour, true>& contours );
174 static void DumpContourPts(const SkTArray<class SkOpContour* , true>& contou rs);
175 static void DumpContourSpans(const SkTArray<class SkOpContour, true>& contou rs);
176 static void DumpContourSpans(const SkTArray<class SkOpContour* , true>& cont ours);
177 static void DumpSpans(const SkTDArray<struct SkOpSpan *>& );
178 static void DumpSpans(const SkTDArray<struct SkOpSpan *>* );
165 }; 179 };
166 180
167 // shorthand for calling from debugger 181 // shorthand for calling from debugger
168 void Dump(const SkTArray<class SkOpAngle, true>& angles); 182 void Dump(const SkTArray<class SkOpAngle, true>& angles);
169 void Dump(const SkTArray<class SkOpAngle* , true>& angles); 183 void Dump(const SkTArray<class SkOpAngle* , true>& angles);
170 void Dump(const SkTArray<class SkOpAngle, true>* angles); 184 void Dump(const SkTArray<class SkOpAngle, true>* angles);
171 void Dump(const SkTArray<class SkOpAngle* , true>* angles); 185 void Dump(const SkTArray<class SkOpAngle* , true>* angles);
172 186
173 #endif // SK_DEBUG || !FORCE_RELEASE 187 void Dump(const SkTArray<class SkOpContour, true>& contours);
188 void Dump(const SkTArray<class SkOpContour* , true>& contours);
189 void Dump(const SkTArray<class SkOpContour, true>* contours);
190 void Dump(const SkTArray<class SkOpContour* , true>* contours);
191
192 void Dump(const SkTDArray<SkOpSpan *>& chaseArray);
193 void Dump(const SkTDArray<SkOpSpan *>* chaseArray);
194
195 void DumpAngles(const SkTArray<class SkOpContour, true>& contours);
196 void DumpAngles(const SkTArray<class SkOpContour* , true>& contours);
197 void DumpAngles(const SkTArray<class SkOpContour, true>* contours);
198 void DumpAngles(const SkTArray<class SkOpContour* , true>* contours);
199
200 void DumpPts(const SkTArray<class SkOpContour, true>& contours);
201 void DumpPts(const SkTArray<class SkOpContour* , true>& contours);
202 void DumpPts(const SkTArray<class SkOpContour, true>* contours);
203 void DumpPts(const SkTArray<class SkOpContour* , true>* contours);
204
205 void DumpSpans(const SkTArray<class SkOpContour, true>& contours);
206 void DumpSpans(const SkTArray<class SkOpContour* , true>& contours);
207 void DumpSpans(const SkTArray<class SkOpContour, true>* contours);
208 void DumpSpans(const SkTArray<class SkOpContour* , true>* contours);
209
210 // generates tools/path_sorter.htm and path_visualizer.htm compatible data
211 void DumpQ(const struct SkDQuad& quad1, const struct SkDQuad& quad2, int testNo) ;
212
213 void DumpT(const struct SkDQuad& quad, double t);
174 214
175 #endif 215 #endif
OLDNEW
« no previous file with comments | « src/pathops/SkPathOpsCurve.h ('k') | src/pathops/SkPathOpsDebug.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698