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

Unified Diff: experimental/svg/model/SkSVGTypes.h

Issue 2222793002: [SVGDom] Add <svg> viewBox support (Closed) Base URL: https://chromium.googlesource.com/skia.git@master
Patch Set: typo Created 4 years, 4 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « experimental/svg/model/SkSVGTransformableNode.cpp ('k') | experimental/svg/model/SkSVGValue.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: experimental/svg/model/SkSVGTypes.h
diff --git a/experimental/svg/model/SkSVGTypes.h b/experimental/svg/model/SkSVGTypes.h
index 6d34d9943ac11fd9f3245cce54290782ea098194..ab07d7b16c4a4f75ca04060feea2c3563318b573 100644
--- a/experimental/svg/model/SkSVGTypes.h
+++ b/experimental/svg/model/SkSVGTypes.h
@@ -9,25 +9,30 @@
#define SkSVGTypes_DEFINED
#include "SkColor.h"
+#include "SkRect.h"
#include "SkScalar.h"
#include "SkTypes.h"
-class SkSVGNumber {
+template <typename T>
+class SkSVGPrimitiveTypeWrapper {
public:
- constexpr SkSVGNumber() : fValue(0) {}
- explicit constexpr SkSVGNumber(SkScalar v) : fValue(v) {}
- SkSVGNumber(const SkSVGNumber&) = default;
- SkSVGNumber& operator=(const SkSVGNumber&) = default;
+ SkSVGPrimitiveTypeWrapper() = default;
+ explicit constexpr SkSVGPrimitiveTypeWrapper(T v) : fValue(v) {}
+ SkSVGPrimitiveTypeWrapper(const SkSVGPrimitiveTypeWrapper&) = default;
+ SkSVGPrimitiveTypeWrapper& operator=(const SkSVGPrimitiveTypeWrapper&) = default;
- const SkScalar& value() const { return fValue; }
-
- operator const SkScalar&() const { return fValue; }
+ const T& value() const { return fValue; }
+ operator const T&() const { return fValue; }
private:
- SkScalar fValue;
+ T fValue;
};
+using SkSVGColorType = SkSVGPrimitiveTypeWrapper<SkColor >;
+using SkSVGNumberType = SkSVGPrimitiveTypeWrapper<SkScalar>;
+using SkSVGViewBoxType = SkSVGPrimitiveTypeWrapper<SkRect >;
+
class SkSVGLength {
public:
enum class Unit {
@@ -58,15 +63,4 @@ private:
Unit fUnit;
};
-class SkSVGColor {
-public:
- constexpr SkSVGColor() : fValue(SK_ColorBLACK) {}
- explicit constexpr SkSVGColor(SkColor c) : fValue(c) {}
-
- operator const SkColor&() const { return fValue; }
-
-private:
- SkColor fValue;
-};
-
#endif // SkSVGTypes_DEFINED
« no previous file with comments | « experimental/svg/model/SkSVGTransformableNode.cpp ('k') | experimental/svg/model/SkSVGValue.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698