From: Matthew Leibowitz Date: Tue, 11 Jul 2017 19:57:16 +0000 (+0200) Subject: Additional colorspace APIs X-Git-Tag: accepted/tizen/5.0/unified/20181102.025319~37 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3ddc29e133e4394e05539916462b8d0551c74904;p=platform%2Fupstream%2FlibSkiaSharp.git Additional colorspace APIs --- diff --git a/include/c/sk_colorspace.h b/include/c/sk_colorspace.h index 5457df4..efc7ecf 100644 --- a/include/c/sk_colorspace.h +++ b/include/c/sk_colorspace.h @@ -22,9 +22,11 @@ SK_C_API sk_colorspace_t* sk_colorspace_new_rgb_with_coeffs(const sk_colorspace_ SK_C_API sk_colorspace_t* sk_colorspace_new_rgb_with_coeffs_and_gamut(const sk_colorspace_transfer_fn_t* coeffs, sk_colorspace_gamut_t gamut); SK_C_API bool sk_colorspace_gamma_close_to_srgb(const sk_colorspace_t* cColorSpace); SK_C_API bool sk_colorspace_gamma_is_linear(const sk_colorspace_t* cColorSpace); +SK_C_API bool sk_colorspace_is_srgb(const sk_colorspace_t* cColorSpace); SK_C_API bool sk_colorspace_equals(const sk_colorspace_t* src, const sk_colorspace_t* dst); SK_C_API bool sk_colorspace_to_xyzd50(const sk_colorspace_t* cColorSpace, sk_matrix44_t* toXYZD50); SK_C_API bool sk_colorspaceprimaries_to_xyzd50(const sk_colorspaceprimaries_t* primaries, sk_matrix44_t* toXYZD50); +SK_C_API void sk_colorspace_transfer_fn_invert(const sk_colorspace_transfer_fn_t* transfer, sk_colorspace_transfer_fn_t* inverted); SK_C_PLUS_PLUS_END_GUARD diff --git a/src/c/sk_colorspace.cpp b/src/c/sk_colorspace.cpp index dc57380..dbe2f9e 100644 --- a/src/c/sk_colorspace.cpp +++ b/src/c/sk_colorspace.cpp @@ -51,6 +51,10 @@ bool sk_colorspace_gamma_is_linear(const sk_colorspace_t* cColorSpace) { return AsColorSpace(cColorSpace)->gammaIsLinear(); } +bool sk_colorspace_is_srgb(const sk_colorspace_t* cColorSpace) { + return AsColorSpace(cColorSpace)->isSRGB(); +} + bool sk_colorspace_equals(const sk_colorspace_t* src, const sk_colorspace_t* dst) { return SkColorSpace::Equals(AsColorSpace(src), AsColorSpace(dst)); } @@ -62,3 +66,7 @@ bool sk_colorspace_to_xyzd50(const sk_colorspace_t* cColorSpace, sk_matrix44_t* bool sk_colorspaceprimaries_to_xyzd50(const sk_colorspaceprimaries_t* primaries, sk_matrix44_t* toXYZD50) { return AsColorSpacePrimaries(primaries)->toXYZD50(AsMatrix44(toXYZD50)); } + +void sk_colorspace_transfer_fn_invert(const sk_colorspace_transfer_fn_t* transfer, sk_colorspace_transfer_fn_t* inverted) { + *inverted = ToColorSpaceTransferFn(AsColorSpaceTransferFn(transfer)->invert()); +}