ext/psd_native/compose.h in psd_native-0.4.0 vs ext/psd_native/compose.h in psd_native-0.5.0

- old
+ new

@@ -4,10 +4,38 @@ typedef struct AlphaValues { int mix; int dst; } AlphaValues; +#define BLEND_CHANNEL(b, f, a) ((((b) << 8) + ((f) - (b)) * (a)) >> 8) + VALUE psd_native_compose_normal(VALUE self, VALUE fg, VALUE bg, VALUE opts); +VALUE psd_native_compose_darken(VALUE self, VALUE fg, VALUE bg, VALUE opts); +VALUE psd_native_compose_multiply(VALUE self, VALUE fg, VALUE bg, VALUE opts); +VALUE psd_native_compose_color_burn(VALUE self, VALUE r_fg, VALUE r_bg, VALUE opts); +PIXEL color_burn_foreground(PIXEL b, PIXEL f); +VALUE psd_native_compose_linear_burn(VALUE self, VALUE r_fg, VALUE r_bg, VALUE opts); +VALUE psd_native_compose_lighten(VALUE self, VALUE r_fg, VALUE r_bg, VALUE opts); +VALUE psd_native_compose_screen(VALUE self, VALUE r_fg, VALUE r_bg, VALUE opts); +VALUE psd_native_compose_color_dodge(VALUE self, VALUE r_fg, VALUE r_bg, VALUE opts); +PIXEL color_dodge_foreground(PIXEL b, PIXEL f); +VALUE psd_native_compose_linear_dodge(VALUE self, VALUE r_fg, VALUE r_bg, VALUE opts); +VALUE psd_native_compose_overlay(VALUE self, VALUE r_fg, VALUE r_bg, VALUE opts); +PIXEL overlay_foreground(PIXEL b, PIXEL f); +VALUE psd_native_compose_soft_light(VALUE self, VALUE r_fg, VALUE r_bg, VALUE opts); +PIXEL soft_light_foreground(PIXEL b, PIXEL f); +VALUE psd_native_compose_hard_light(VALUE self, VALUE r_fg, VALUE r_bg, VALUE opts); +PIXEL hard_light_foreground(PIXEL b, PIXEL f); +VALUE psd_native_compose_vivid_light(VALUE self, VALUE r_fg, VALUE r_bg, VALUE opts); +PIXEL vivid_light_foreground(PIXEL b, PIXEL f); +VALUE psd_native_compose_linear_light(VALUE self, VALUE r_fg, VALUE r_bg, VALUE opts); +PIXEL linear_light_foreground(PIXEL b, PIXEL f); +VALUE psd_native_compose_pin_light(VALUE self, VALUE r_fg, VALUE r_bg, VALUE opts); +PIXEL pin_light_foreground(PIXEL b, PIXEL f); +VALUE psd_native_compose_hard_mix(VALUE self, VALUE r_fg, VALUE r_bg, VALUE opts); +VALUE psd_native_compose_difference(VALUE self, VALUE r_fg, VALUE r_bg, VALUE opts); +VALUE psd_native_compose_exclusion(VALUE self, VALUE r_fg, VALUE r_bg, VALUE opts); + void calculate_alphas(uint32_t fg, uint32_t bg, VALUE *opts); uint32_t calculate_opacity(VALUE *opts); uint32_t blend_channel(uint32_t bg, uint32_t fg, uint32_t a); #endif \ No newline at end of file