add Make to SkTSize
git-svn-id: http://skia.googlecode.com/svn/trunk@497 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/include/core/SkSize.h b/include/core/SkSize.h
index d432102..dae6fe9 100644
--- a/include/core/SkSize.h
+++ b/include/core/SkSize.h
@@ -7,6 +7,13 @@
T fWidth;
T fHeight;
+ static SkTSize Make(T w, T h) {
+ SkTSize s;
+ s.fWidth = w;
+ s.fHeight = h;
+ return s;
+ }
+
void set(T w, T h) {
fWidth = w;
fHeight = h;
@@ -58,11 +65,13 @@
///////////////////////////////////////////////////////////////////////////////
-struct SkISize : public SkTSize<int32_t> {};
+typedef SkTSize<int32_t> SkISize;
#include "SkScalar.h"
struct SkSize : public SkTSize<SkScalar> {
+ SkSize(const SkTSize<SkScalar& src) : fWidth(src.fWidth), fHeight(src.fHeight) {}
+
SkSize& operator=(const SkISize& src) {
this->set(SkIntToScalar(src.fWidth), SkIntToScalar(src.fHeight));
return *this;
diff --git a/tests/PathTest.cpp b/tests/PathTest.cpp
index 89fe93b..9f26d01 100644
--- a/tests/PathTest.cpp
+++ b/tests/PathTest.cpp
@@ -1,5 +1,6 @@
#include "Test.h"
#include "SkPath.h"
+#include "SkSize.h"
static void check_convex_bounds(skiatest::Reporter* reporter, const SkPath& p,
const SkRect& bounds) {
@@ -17,6 +18,16 @@
}
static void TestPath(skiatest::Reporter* reporter) {
+ {
+ SkSize size;
+ size.fWidth = 3.4f;
+ size.width();
+ size = SkSize::Make(3,4);
+ SkISize isize = SkISize::Make(3,4);
+ }
+
+ SkTSize<SkScalar>::Make(3,4);
+
SkPath p, p2;
SkRect bounds, bounds2;