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

Side by Side Diff: skia/animator/SkMatrixParts.cpp

Issue 113827: Remove the remainder of the skia source code from the Chromium repo.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 11 years, 7 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 | Annotate | Revision Log
« no previous file with comments | « skia/animator/SkMatrixParts.h ('k') | skia/animator/SkMemberInfo.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 /* libs/graphics/animator/SkMatrixParts.cpp
2 **
3 ** Copyright 2006, The Android Open Source Project
4 **
5 ** Licensed under the Apache License, Version 2.0 (the "License");
6 ** you may not use this file except in compliance with the License.
7 ** You may obtain a copy of the License at
8 **
9 ** http://www.apache.org/licenses/LICENSE-2.0
10 **
11 ** Unless required by applicable law or agreed to in writing, software
12 ** distributed under the License is distributed on an "AS IS" BASIS,
13 ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 ** See the License for the specific language governing permissions and
15 ** limitations under the License.
16 */
17
18 #include "SkMatrixParts.h"
19 #include "SkAnimateMaker.h"
20 #include "SkDrawMatrix.h"
21 #include "SkDrawRectangle.h"
22 #include "SkDrawPath.h"
23
24 SkMatrixPart::SkMatrixPart() : fMatrix(NULL) {
25 }
26
27 void SkMatrixPart::dirty() {
28 fMatrix->dirty();
29 }
30
31 SkDisplayable* SkMatrixPart::getParent() const {
32 return fMatrix;
33 }
34
35 bool SkMatrixPart::setParent(SkDisplayable* parent) {
36 SkASSERT(parent != NULL);
37 if (parent->isMatrix() == false)
38 return true;
39 fMatrix = (SkDrawMatrix*) parent;
40 return false;
41 }
42
43
44 #if SK_USE_CONDENSED_INFO == 0
45
46 const SkMemberInfo SkRotate::fInfo[] = {
47 SK_MEMBER(center, Point),
48 SK_MEMBER(degrees, Float)
49 };
50
51 #endif
52
53 DEFINE_GET_MEMBER(SkRotate);
54
55 SkRotate::SkRotate() : degrees(0) {
56 center.fX = center.fY = 0;
57 }
58
59 bool SkRotate::add() {
60 fMatrix->rotate(degrees, center);
61 return false;
62 }
63
64
65 #if SK_USE_CONDENSED_INFO == 0
66
67 const SkMemberInfo SkScale::fInfo[] = {
68 SK_MEMBER(center, Point),
69 SK_MEMBER(x, Float),
70 SK_MEMBER(y, Float)
71 };
72
73 #endif
74
75 DEFINE_GET_MEMBER(SkScale);
76
77 SkScale::SkScale() : x(SK_Scalar1), y(SK_Scalar1) {
78 center.fX = center.fY = 0;
79 }
80
81 bool SkScale::add() {
82 fMatrix->scale(x, y, center);
83 return false;
84 }
85
86
87 #if SK_USE_CONDENSED_INFO == 0
88
89 const SkMemberInfo SkSkew::fInfo[] = {
90 SK_MEMBER(center, Point),
91 SK_MEMBER(x, Float),
92 SK_MEMBER(y, Float)
93 };
94
95 #endif
96
97 DEFINE_GET_MEMBER(SkSkew);
98
99 SkSkew::SkSkew() : x(0), y(0) {
100 center.fX = center.fY = 0;
101 }
102
103 bool SkSkew::add() {
104 fMatrix->skew(x, y, center);
105 return false;
106 }
107
108
109 #if SK_USE_CONDENSED_INFO == 0
110
111 const SkMemberInfo SkTranslate::fInfo[] = {
112 SK_MEMBER(x, Float),
113 SK_MEMBER(y, Float)
114 };
115
116 #endif
117
118 DEFINE_GET_MEMBER(SkTranslate);
119
120 SkTranslate::SkTranslate() : x(0), y(0) {
121 }
122
123 bool SkTranslate::add() {
124 fMatrix->translate(x, y);
125 return false;
126 }
127
128
129 #if SK_USE_CONDENSED_INFO == 0
130
131 const SkMemberInfo SkFromPath::fInfo[] = {
132 SK_MEMBER(mode, FromPathMode),
133 SK_MEMBER(offset, Float),
134 SK_MEMBER(path, Path)
135 };
136
137 #endif
138
139 DEFINE_GET_MEMBER(SkFromPath);
140
141 SkFromPath::SkFromPath() :
142 mode(0), offset(0), path(NULL) {
143 }
144
145 SkFromPath::~SkFromPath() {
146 }
147
148 bool SkFromPath::add() {
149 if (path == NULL)
150 return true;
151 static const uint8_t gFlags[] = {
152 SkPathMeasure::kGetPosAndTan_MatrixFlag, // normal
153 SkPathMeasure::kGetTangent_MatrixFlag, // angle
154 SkPathMeasure::kGetPosition_MatrixFlag // position
155 };
156 if ((unsigned)mode >= SK_ARRAY_COUNT(gFlags))
157 return true;
158 SkMatrix result;
159 fPathMeasure.setPath(&path->getPath(), false);
160 if (fPathMeasure.getMatrix(offset, &result, (SkPathMeasure::MatrixFlags)gFla gs[mode]))
161 fMatrix->set(result);
162 return false;
163 }
164
165
166 #if SK_USE_CONDENSED_INFO == 0
167
168 const SkMemberInfo SkRectToRect::fInfo[] = {
169 SK_MEMBER(destination, Rect),
170 SK_MEMBER(source, Rect)
171 };
172
173 #endif
174
175 DEFINE_GET_MEMBER(SkRectToRect);
176
177 SkRectToRect::SkRectToRect() :
178 source(NULL), destination(NULL) {
179 }
180
181 SkRectToRect::~SkRectToRect() {
182 }
183
184 bool SkRectToRect::add() {
185 if (source == NULL || destination == NULL)
186 return true;
187 SkMatrix temp;
188 temp.setRectToRect(source->fRect, destination->fRect,
189 SkMatrix::kFill_ScaleToFit);
190 fMatrix->set(temp);
191 return false;
192 }
193
194 #ifdef SK_DUMP_ENABLED
195 void SkRectToRect::dump(SkAnimateMaker* maker) {
196 dumpBase(maker);
197 SkDebugf("/>\n");
198 SkDisplayList::fIndent += 4;
199 if (source) {
200 SkDebugf("%*s<source>\n", SkDisplayList::fIndent, "");
201 SkDisplayList::fIndent += 4;
202 source->dump(maker);
203 SkDisplayList::fIndent -= 4;
204 SkDebugf("%*s</source>\n", SkDisplayList::fIndent, "");
205 }
206 if (destination) {
207 SkDebugf("%*s<destination>\n", SkDisplayList::fIndent, "");
208 SkDisplayList::fIndent += 4;
209 destination->dump(maker);
210 SkDisplayList::fIndent -= 4;
211 SkDebugf("%*s</destination>\n", SkDisplayList::fIndent, "");
212 }
213 SkDisplayList::fIndent -= 4;
214 dumpEnd(maker);
215 }
216 #endif
217
218 const SkMemberInfo* SkRectToRect::preferredChild(SkDisplayTypes ) {
219 if (source == NULL)
220 return getMember("source"); // !!! cwap! need to refer to member through enum like kScope instead
221 else {
222 SkASSERT(destination == NULL);
223 return getMember("destination");
224 }
225 }
226
227
228 #if SK_USE_CONDENSED_INFO == 0
229
230 const SkMemberInfo SkPolyToPoly::fInfo[] = {
231 SK_MEMBER(destination, Polygon),
232 SK_MEMBER(source, Polygon)
233 };
234
235 #endif
236
237 DEFINE_GET_MEMBER(SkPolyToPoly);
238
239 SkPolyToPoly::SkPolyToPoly() : source(NULL), destination(NULL) {
240 }
241
242 SkPolyToPoly::~SkPolyToPoly() {
243 }
244
245 bool SkPolyToPoly::add() {
246 SkASSERT(source);
247 SkASSERT(destination);
248 SkPoint src[4];
249 SkPoint dst[4];
250 SkPath& sourcePath = source->getPath();
251 int srcPts = sourcePath.getPoints(src, 4);
252 SkPath& destPath = destination->getPath();
253 int dstPts = destPath.getPoints(dst, 4);
254 if (srcPts != dstPts)
255 return true;
256 SkMatrix temp;
257 temp.setPolyToPoly(src, dst, srcPts);
258 fMatrix->set(temp);
259 return false;
260 }
261
262 #ifdef SK_DUMP_ENABLED
263 void SkPolyToPoly::dump(SkAnimateMaker* maker) {
264 dumpBase(maker);
265 SkDebugf("/>\n");
266 SkDisplayList::fIndent += 4;
267 if (source) {
268 SkDebugf("%*s<source>\n", SkDisplayList::fIndent, "");
269 SkDisplayList::fIndent += 4;
270 source->dump(maker);
271 SkDisplayList::fIndent -= 4;
272 SkDebugf("%*s</source>\n", SkDisplayList::fIndent, "");
273 }
274 if (destination) {
275 SkDebugf("%*s<destination>\n", SkDisplayList::fIndent, "");
276 SkDisplayList::fIndent += 4;
277 destination->dump(maker);
278 SkDisplayList::fIndent -= 4;
279 SkDebugf("%*s</destination>\n", SkDisplayList::fIndent, "");
280 }
281 SkDisplayList::fIndent -= 4;
282 dumpEnd(maker);
283 }
284 #endif
285
286 void SkPolyToPoly::onEndElement(SkAnimateMaker& ) {
287 SkASSERT(source);
288 SkASSERT(destination);
289 if (source->childHasID() || destination->childHasID())
290 fMatrix->setChildHasID();
291 }
292
293 const SkMemberInfo* SkPolyToPoly::preferredChild(SkDisplayTypes ) {
294 if (source == NULL)
295 return getMember("source"); // !!! cwap! need to refer to member through enum like kScope instead
296 else {
297 SkASSERT(destination == NULL);
298 return getMember("destination");
299 }
300 }
301
302
OLDNEW
« no previous file with comments | « skia/animator/SkMatrixParts.h ('k') | skia/animator/SkMemberInfo.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698