Skip to content

Commit 848a9a8

Browse files
authored
Add the rest of the color filters (#128)
1 parent e8d51a4 commit 848a9a8

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

include/c/sk_colorfilter.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,10 @@ SK_C_API sk_colorfilter_t* sk_colorfilter_new_mode(sk_color_t c, sk_blendmode_t
1919
SK_C_API sk_colorfilter_t* sk_colorfilter_new_lighting(sk_color_t mul, sk_color_t add);
2020
SK_C_API sk_colorfilter_t* sk_colorfilter_new_compose(sk_colorfilter_t* outer, sk_colorfilter_t* inner);
2121
SK_C_API sk_colorfilter_t* sk_colorfilter_new_color_matrix(const float array[20]);
22+
SK_C_API sk_colorfilter_t* sk_colorfilter_new_hsla_matrix(const float array[20]);
23+
SK_C_API sk_colorfilter_t* sk_colorfilter_new_linear_to_srgb_gamma(void);
24+
SK_C_API sk_colorfilter_t* sk_colorfilter_new_srgb_to_linear_gamma(void);
25+
SK_C_API sk_colorfilter_t* sk_colorfilter_new_lerp(float weight, sk_colorfilter_t* filter0, sk_colorfilter_t* filter1);
2226
SK_C_API sk_colorfilter_t* sk_colorfilter_new_luma_color(void);
2327
SK_C_API sk_colorfilter_t* sk_colorfilter_new_high_contrast(const sk_highcontrastconfig_t* config);
2428
SK_C_API sk_colorfilter_t* sk_colorfilter_new_table(const uint8_t table[256]);

src/c/sk_colorfilter.cpp

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,22 @@ sk_colorfilter_t* sk_colorfilter_new_color_matrix(const float array[20]) {
3636
return ToColorFilter(SkColorFilters::Matrix(array).release());
3737
}
3838

39+
sk_colorfilter_t* sk_colorfilter_new_hsla_matrix(const float array[20]) {
40+
return ToColorFilter(SkColorFilters::HSLAMatrix(array).release());
41+
}
42+
43+
sk_colorfilter_t* sk_colorfilter_new_linear_to_srgb_gamma(void) {
44+
return ToColorFilter(SkColorFilters::LinearToSRGBGamma().release());
45+
}
46+
47+
sk_colorfilter_t* sk_colorfilter_new_srgb_to_linear_gamma(void) {
48+
return ToColorFilter(SkColorFilters::SRGBToLinearGamma().release());
49+
}
50+
51+
sk_colorfilter_t* sk_colorfilter_new_lerp(float weight, sk_colorfilter_t* filter0, sk_colorfilter_t* filter1) {
52+
return ToColorFilter(SkColorFilters::Lerp(weight, sk_ref_sp(AsColorFilter(filter0)), sk_ref_sp(AsColorFilter(filter1))).release());
53+
}
54+
3955
sk_colorfilter_t* sk_colorfilter_new_luma_color(void) {
4056
return ToColorFilter(SkLumaColorFilter::Make().release());
4157
}

0 commit comments

Comments
 (0)