diff options
-rw-r--r-- | include/core/SkColor.h | 2 | ||||
-rw-r--r-- | src/core/SkColor.cpp | 9 |
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()))); } |