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

Side by Side Diff: tools/debugger/SkDrawCommand.cpp

Issue 1775203002: Add SkDrawPosTextHCommand JSON, fix skiaserve build. (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Fix position count, always define target. Created 4 years, 9 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 | « tools/debugger/SkDrawCommand.h ('k') | no next file » | 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 /* 2 /*
3 * Copyright 2012 Google Inc. 3 * Copyright 2012 Google Inc.
4 * 4 *
5 * Use of this source code is governed by a BSD-style license that can be 5 * Use of this source code is governed by a BSD-style license that can be
6 * found in the LICENSE file. 6 * found in the LICENSE file.
7 */ 7 */
8 8
9 9
10 #include "SkDrawCommand.h" 10 #include "SkDrawCommand.h"
(...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after
238 INSTALL_FACTORY(DrawBitmapRect); 238 INSTALL_FACTORY(DrawBitmapRect);
239 INSTALL_FACTORY(DrawBitmapNine); 239 INSTALL_FACTORY(DrawBitmapNine);
240 INSTALL_FACTORY(DrawImage); 240 INSTALL_FACTORY(DrawImage);
241 INSTALL_FACTORY(DrawImageRect); 241 INSTALL_FACTORY(DrawImageRect);
242 INSTALL_FACTORY(DrawOval); 242 INSTALL_FACTORY(DrawOval);
243 INSTALL_FACTORY(DrawPaint); 243 INSTALL_FACTORY(DrawPaint);
244 INSTALL_FACTORY(DrawPath); 244 INSTALL_FACTORY(DrawPath);
245 INSTALL_FACTORY(DrawPoints); 245 INSTALL_FACTORY(DrawPoints);
246 INSTALL_FACTORY(DrawText); 246 INSTALL_FACTORY(DrawText);
247 INSTALL_FACTORY(DrawPosText); 247 INSTALL_FACTORY(DrawPosText);
248 INSTALL_FACTORY(DrawPosTextH);
248 INSTALL_FACTORY(DrawTextOnPath); 249 INSTALL_FACTORY(DrawTextOnPath);
249 INSTALL_FACTORY(DrawTextBlob); 250 INSTALL_FACTORY(DrawTextBlob);
250 251
251 INSTALL_FACTORY(DrawRect); 252 INSTALL_FACTORY(DrawRect);
252 INSTALL_FACTORY(DrawRRect); 253 INSTALL_FACTORY(DrawRRect);
253 INSTALL_FACTORY(DrawDRRect); 254 INSTALL_FACTORY(DrawDRRect);
254 INSTALL_FACTORY(DrawPatch); 255 INSTALL_FACTORY(DrawPatch);
255 INSTALL_FACTORY(Save); 256 INSTALL_FACTORY(Save);
256 INSTALL_FACTORY(SaveLayer); 257 INSTALL_FACTORY(SaveLayer);
257 INSTALL_FACTORY(SetMatrix); 258 INSTALL_FACTORY(SetMatrix);
(...skipping 2103 matching lines...) Expand 10 before | Expand all | Expand 10 after
2361 2362
2362 void SkDrawPosTextCommand::execute(SkCanvas* canvas) const { 2363 void SkDrawPosTextCommand::execute(SkCanvas* canvas) const {
2363 canvas->drawPosText(fText, fByteLength, fPos, fPaint); 2364 canvas->drawPosText(fText, fByteLength, fPos, fPaint);
2364 } 2365 }
2365 2366
2366 Json::Value SkDrawPosTextCommand::toJSON(UrlDataManager& urlDataManager) const { 2367 Json::Value SkDrawPosTextCommand::toJSON(UrlDataManager& urlDataManager) const {
2367 Json::Value result = INHERITED::toJSON(urlDataManager); 2368 Json::Value result = INHERITED::toJSON(urlDataManager);
2368 result[SKDEBUGCANVAS_ATTRIBUTE_TEXT] = Json::Value((const char*) fText, 2369 result[SKDEBUGCANVAS_ATTRIBUTE_TEXT] = Json::Value((const char*) fText,
2369 ((const char*) fText) + f ByteLength); 2370 ((const char*) fText) + f ByteLength);
2370 Json::Value coords(Json::arrayValue); 2371 Json::Value coords(Json::arrayValue);
2371 for (size_t i = 0; i < fByteLength; i++) { 2372 size_t numCoords = fPaint.textToGlyphs(fText, fByteLength, nullptr);
2373 for (size_t i = 0; i < numCoords; i++) {
2372 coords.append(make_json_point(fPos[i])); 2374 coords.append(make_json_point(fPos[i]));
2373 } 2375 }
2374 result[SKDEBUGCANVAS_ATTRIBUTE_COORDS] = coords; 2376 result[SKDEBUGCANVAS_ATTRIBUTE_COORDS] = coords;
2375 result[SKDEBUGCANVAS_ATTRIBUTE_PAINT] = make_json_paint(fPaint, urlDataManag er); 2377 result[SKDEBUGCANVAS_ATTRIBUTE_PAINT] = make_json_paint(fPaint, urlDataManag er);
2376 return result; 2378 return result;
2377 } 2379 }
2378 2380
2379 SkDrawPosTextCommand* SkDrawPosTextCommand::fromJSON(Json::Value& command, 2381 SkDrawPosTextCommand* SkDrawPosTextCommand::fromJSON(Json::Value& command,
2380 UrlDataManager& urlDataMana ger) { 2382 UrlDataManager& urlDataMana ger) {
2381 const char* text = command[SKDEBUGCANVAS_ATTRIBUTE_TEXT].asCString(); 2383 const char* text = command[SKDEBUGCANVAS_ATTRIBUTE_TEXT].asCString();
(...skipping 27 matching lines...) Expand all
2409 fInfo.push(SkObjectParser::TextToString(text, byteLength, paint.getTextEncod ing())); 2411 fInfo.push(SkObjectParser::TextToString(text, byteLength, paint.getTextEncod ing()));
2410 fInfo.push(SkObjectParser::ScalarToString(xpos[0], "XPOS: ")); 2412 fInfo.push(SkObjectParser::ScalarToString(xpos[0], "XPOS: "));
2411 fInfo.push(SkObjectParser::ScalarToString(constY, "SkScalar constY: ")); 2413 fInfo.push(SkObjectParser::ScalarToString(constY, "SkScalar constY: "));
2412 fInfo.push(SkObjectParser::PaintToString(paint)); 2414 fInfo.push(SkObjectParser::PaintToString(paint));
2413 } 2415 }
2414 2416
2415 void SkDrawPosTextHCommand::execute(SkCanvas* canvas) const { 2417 void SkDrawPosTextHCommand::execute(SkCanvas* canvas) const {
2416 canvas->drawPosTextH(fText, fByteLength, fXpos, fConstY, fPaint); 2418 canvas->drawPosTextH(fText, fByteLength, fXpos, fConstY, fPaint);
2417 } 2419 }
2418 2420
2421 Json::Value SkDrawPosTextHCommand::toJSON(UrlDataManager& urlDataManager) const {
2422 Json::Value result = INHERITED::toJSON(urlDataManager);
2423 result[SKDEBUGCANVAS_ATTRIBUTE_TEXT] = Json::Value((const char*) fText,
2424 ((const char*) fText) + f ByteLength);
2425 result[SKDEBUGCANVAS_ATTRIBUTE_Y] = Json::Value(fConstY);
2426 Json::Value xpos(Json::arrayValue);
2427 size_t numXpos = fPaint.textToGlyphs(fText, fByteLength, nullptr);
2428 for (size_t i = 0; i < numXpos; i++) {
2429 xpos.append(Json::Value(fXpos[i]));
2430 }
2431 result[SKDEBUGCANVAS_ATTRIBUTE_POSITIONS] = xpos;
2432 result[SKDEBUGCANVAS_ATTRIBUTE_PAINT] = make_json_paint(fPaint, urlDataManag er);
2433 return result;
2434 }
2435
2436 SkDrawPosTextHCommand* SkDrawPosTextHCommand::fromJSON(Json::Value& command,
2437 UrlDataManager& urlDataMa nager) {
2438 const char* text = command[SKDEBUGCANVAS_ATTRIBUTE_TEXT].asCString();
2439 SkPaint paint;
2440 extract_json_paint(command[SKDEBUGCANVAS_ATTRIBUTE_PAINT], urlDataManager, & paint);
2441 Json::Value jsonXpos = command[SKDEBUGCANVAS_ATTRIBUTE_POSITIONS];
2442 int count = (int) jsonXpos.size();
2443 SkScalar* xpos = (SkScalar*) sk_malloc_throw(count * sizeof(SkScalar));
2444 for (int i = 0; i < count; i++) {
2445 xpos[i] = jsonXpos[i].asFloat();
2446 }
2447 SkScalar y = command[SKDEBUGCANVAS_ATTRIBUTE_Y].asFloat();
2448 return new SkDrawPosTextHCommand(text, strlen(text), xpos, y, paint);
2449 }
2450
2419 static const char* gPositioningLabels[] = { 2451 static const char* gPositioningLabels[] = {
2420 "kDefault_Positioning", 2452 "kDefault_Positioning",
2421 "kHorizontal_Positioning", 2453 "kHorizontal_Positioning",
2422 "kFull_Positioning", 2454 "kFull_Positioning",
2423 }; 2455 };
2424 2456
2425 SkDrawTextBlobCommand::SkDrawTextBlobCommand(const SkTextBlob* blob, SkScalar x, SkScalar y, 2457 SkDrawTextBlobCommand::SkDrawTextBlobCommand(const SkTextBlob* blob, SkScalar x, SkScalar y,
2426 const SkPaint& paint) 2458 const SkPaint& paint)
2427 : INHERITED(kDrawTextBlob_OpType) 2459 : INHERITED(kDrawTextBlob_OpType)
2428 , fBlob(SkRef(blob)) 2460 , fBlob(SkRef(blob))
(...skipping 642 matching lines...) Expand 10 before | Expand all | Expand 10 after
3071 result[SKDEBUGCANVAS_ATTRIBUTE_MATRIX] = MakeJsonMatrix(fMatrix); 3103 result[SKDEBUGCANVAS_ATTRIBUTE_MATRIX] = MakeJsonMatrix(fMatrix);
3072 return result; 3104 return result;
3073 } 3105 }
3074 3106
3075 SkSetMatrixCommand* SkSetMatrixCommand::fromJSON(Json::Value& command, 3107 SkSetMatrixCommand* SkSetMatrixCommand::fromJSON(Json::Value& command,
3076 UrlDataManager& urlDataManager) { 3108 UrlDataManager& urlDataManager) {
3077 SkMatrix matrix; 3109 SkMatrix matrix;
3078 extract_json_matrix(command[SKDEBUGCANVAS_ATTRIBUTE_MATRIX], &matrix); 3110 extract_json_matrix(command[SKDEBUGCANVAS_ATTRIBUTE_MATRIX], &matrix);
3079 return new SkSetMatrixCommand(matrix); 3111 return new SkSetMatrixCommand(matrix);
3080 } 3112 }
OLDNEW
« no previous file with comments | « tools/debugger/SkDrawCommand.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698