| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2015 Google Inc. | 2 * Copyright 2015 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 | 7 |
| 8 #include "SkSVGDevice.h" | 8 #include "SkSVGDevice.h" |
| 9 | 9 |
| 10 #include "SkBase64.h" | 10 #include "SkBase64.h" |
| (...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 96 tstr.printf("matrix(%g %g %g %g %g %g)", | 96 tstr.printf("matrix(%g %g %g %g %g %g)", |
| 97 t.getScaleX(), t.getSkewY(), | 97 t.getScaleX(), t.getSkewY(), |
| 98 t.getSkewX(), t.getScaleY(), | 98 t.getSkewX(), t.getScaleY(), |
| 99 t.getTranslateX(), t.getTranslateY()); | 99 t.getTranslateX(), t.getTranslateY()); |
| 100 break; | 100 break; |
| 101 } | 101 } |
| 102 | 102 |
| 103 return tstr; | 103 return tstr; |
| 104 } | 104 } |
| 105 | 105 |
| 106 uint32_t hash_family_string(const SkString& family) { | |
| 107 // This is a lame hash function, but we don't really expect to see more than
1-2 | |
| 108 // family names under normal circumstances. | |
| 109 return SkChecksum::Mix(SkToU32(family.size())); | |
| 110 } | |
| 111 | |
| 112 struct Resources { | 106 struct Resources { |
| 113 Resources(const SkPaint& paint) | 107 Resources(const SkPaint& paint) |
| 114 : fPaintServer(svg_color(paint.getColor())) {} | 108 : fPaintServer(svg_color(paint.getColor())) {} |
| 115 | 109 |
| 116 SkString fPaintServer; | 110 SkString fPaintServer; |
| 117 SkString fClip; | 111 SkString fClip; |
| 118 }; | 112 }; |
| 119 | 113 |
| 120 class SVGTextBuilder : SkNoncopyable { | 114 class SVGTextBuilder : SkNoncopyable { |
| 121 public: | 115 public: |
| (...skipping 409 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 531 } | 525 } |
| 532 | 526 |
| 533 void SkSVGDevice::AutoElement::addTextAttributes(const SkPaint& paint) { | 527 void SkSVGDevice::AutoElement::addTextAttributes(const SkPaint& paint) { |
| 534 this->addAttribute("font-size", paint.getTextSize()); | 528 this->addAttribute("font-size", paint.getTextSize()); |
| 535 | 529 |
| 536 if (const char* textAlign = svg_text_align(paint.getTextAlign())) { | 530 if (const char* textAlign = svg_text_align(paint.getTextAlign())) { |
| 537 this->addAttribute("text-anchor", textAlign); | 531 this->addAttribute("text-anchor", textAlign); |
| 538 } | 532 } |
| 539 | 533 |
| 540 SkString familyName; | 534 SkString familyName; |
| 541 SkTHashSet<SkString, hash_family_string> familySet; | 535 SkTHashSet<SkString> familySet; |
| 542 SkAutoTUnref<const SkTypeface> tface(paint.getTypeface() ? | 536 SkAutoTUnref<const SkTypeface> tface(paint.getTypeface() ? |
| 543 SkRef(paint.getTypeface()) : SkTypeface::RefDefault()); | 537 SkRef(paint.getTypeface()) : SkTypeface::RefDefault()); |
| 544 | 538 |
| 545 SkASSERT(tface); | 539 SkASSERT(tface); |
| 546 SkTypeface::Style style = tface->style(); | 540 SkTypeface::Style style = tface->style(); |
| 547 if (style & SkTypeface::kItalic) { | 541 if (style & SkTypeface::kItalic) { |
| 548 this->addAttribute("font-style", "italic"); | 542 this->addAttribute("font-style", "italic"); |
| 549 } | 543 } |
| 550 if (style & SkTypeface::kBold) { | 544 if (style & SkTypeface::kBold) { |
| 551 this->addAttribute("font-weight", "bold"); | 545 this->addAttribute("font-weight", "bold"); |
| (...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 786 const SkPaint& paint) { | 780 const SkPaint& paint) { |
| 787 // todo | 781 // todo |
| 788 SkDebugf("unsupported operation: drawVertices()\n"); | 782 SkDebugf("unsupported operation: drawVertices()\n"); |
| 789 } | 783 } |
| 790 | 784 |
| 791 void SkSVGDevice::drawDevice(const SkDraw&, SkBaseDevice*, int x, int y, | 785 void SkSVGDevice::drawDevice(const SkDraw&, SkBaseDevice*, int x, int y, |
| 792 const SkPaint&) { | 786 const SkPaint&) { |
| 793 // todo | 787 // todo |
| 794 SkDebugf("unsupported operation: drawDevice()\n"); | 788 SkDebugf("unsupported operation: drawDevice()\n"); |
| 795 } | 789 } |
| OLD | NEW |