35 for (c = 0; c < 3; c++) {
64 template<
typename ImageT,
typename MaskSampler>
67 image += y_range.
first() * image_x * 4;
93 hsv.x = hsv.x -
floorf(hsv.x);
126 C,
ptr,
"open_mask_input_panel",
IFACE_(
"Mask Input")))
152 "HueCorrectModifierData",
void rgb_to_hsv(float r, float g, float b, float *r_h, float *r_s, float *r_v)
void hsv_to_rgb(float h, float s, float v, float *r_r, float *r_g, float *r_b)
#define CTX_N_(context, msgid)
#define BLT_I18NCONTEXT_ID_SEQUENCE
@ eSeqModifierType_HueCorrect
void uiTemplateCurveMapping(uiLayout *layout, PointerRNA *ptr, blender::StringRefNull propname, int type, bool levels, bool brush, bool neg_slope, bool tone, bool presets)
PointerRNA * UI_panel_custom_data_get(const Panel *panel)
constexpr int64_t first() const
ccl_device_inline float2 mask(const MaskType mask, const float2 a)
T clamp(const T &a, const T &min, const T &max)
void store_pixel_raw(float4 pix, uchar *ptr)
void draw_mask_input_type_settings(const bContext *C, uiLayout *layout, PointerRNA *ptr)
StripModifierTypeInfo seqModifierType_HueCorrect
static void hue_correct_register(ARegionType *region_type)
void apply_modifier_op(T &op, ImBuf *ibuf, const ImBuf *mask, const float3x3 &mask_transform)
static void hue_correct_write(BlendWriter *writer, const StripModifierData *smd)
static void hue_correct_init_data(StripModifierData *smd)
float4 load_pixel_raw(const uchar *ptr)
static void hue_correct_free_data(StripModifierData *smd)
static void hue_correct_panel_draw(const bContext *C, Panel *panel)
static void hue_correct_copy_data(StripModifierData *target, StripModifierData *smd)
static void hue_correct_apply(ModifierApplyContext &context, StripModifierData *smd, ImBuf *mask)
PanelType * modifier_panel_register(ARegionType *region_type, const eStripModifierType type, PanelDrawFn draw)
static void hue_correct_read(BlendDataReader *reader, StripModifierData *smd)
VecBase< float, 4 > float4
VecBase< float, 3 > float3
struct CurveMapping curve_mapping
const CurveMapping * curve_mapping
void apply(ImageT *image, MaskSampler &mask, int image_x, IndexRange y_range)
PanelLayout panel_prop(const bContext *C, PointerRNA *open_prop_owner, blender::StringRefNull open_prop_name)