aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--include/core/SkColor.h2
-rw-r--r--src/core/SkColor.cpp9
2 files changed, 11 insertions, 0 deletions
diff --git a/include/core/SkColor.h b/include/core/SkColor.h
index e473db486a..8f2776da61 100644
--- a/include/core/SkColor.h
+++ b/include/core/SkColor.h
@@ -9,6 +9,7 @@
#define SkColor_DEFINED
#include "SkScalar.h"
+#include "SkPoint3.h"
#include "SkTypes.h"
/** \file SkColor.h
@@ -183,6 +184,7 @@ struct SkColor4f {
static SkColor4f Pin(float r, float g, float b, float a);
static SkColor4f FromColor(SkColor);
+ static SkColor4f FromColor3f(SkColor3f, float a);
SkColor toSkColor() const;
diff --git a/src/core/SkColor.cpp b/src/core/SkColor.cpp
index 39e9aafa92..6dacc063e0 100644
--- a/src/core/SkColor.cpp
+++ b/src/core/SkColor.cpp
@@ -155,6 +155,15 @@ SkColor4f SkColor4f::FromColor(SkColor bgra) {
return rgba;
}
+SkColor4f SkColor4f::FromColor3f(SkColor3f color3f, float a) {
+ SkColor4f rgba;
+ rgba.fR = color3f.fX;
+ rgba.fG = color3f.fY;
+ rgba.fB = color3f.fZ;
+ rgba.fA = a;
+ return rgba;
+}
+
SkColor SkColor4f::toSkColor() const {
return Sk4f_toS32(swizzle_rb(Sk4f::Load(this->vec())));
}