From 6651b90ff79a5c8817512191f2f53ec760e47faa Mon Sep 17 00:00:00 2001 From: Antonio Vazquez Date: Wed, 15 Feb 2023 14:21:09 +0100 Subject: [PATCH] Patch of 218a909dec for 3.3 --- .../eyedroppers/eyedropper_gpencil_color.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/source/blender/editors/interface/eyedroppers/eyedropper_gpencil_color.c b/source/blender/editors/interface/eyedroppers/eyedropper_gpencil_color.c index c3879fe8bbd..8abfebb1659 100644 --- a/source/blender/editors/interface/eyedroppers/eyedropper_gpencil_color.c +++ b/source/blender/editors/interface/eyedroppers/eyedropper_gpencil_color.c @@ -49,12 +49,17 @@ #include "eyedropper_intern.h" #include "interface_intern.h" +typedef enum eGP_EyeMode { + GP_EYE_MATERIAL = 0, + GP_EYE_PALETTE = 1, +} eGP_EyeMode; + typedef struct EyedropperGPencil { struct ColorManagedDisplay *display; /** color under cursor RGB */ float color[3]; /** Mode */ - int mode; + eGP_EyeMode mode; } EyedropperGPencil; /* Helper: Draw status message while the user is running the operator */ @@ -79,7 +84,7 @@ static bool eyedropper_gpencil_init(bContext *C, wmOperator *op) display_device = scene->display_settings.display_device; eye->display = IMB_colormanagement_display_get_named(display_device); - eye->mode = RNA_enum_get(op->ptr, "mode"); + eye->mode = (eGP_EyeMode)RNA_enum_get(op->ptr, "mode"); return true; } @@ -228,10 +233,10 @@ static void eyedropper_gpencil_color_set(bContext *C, const wmEvent *event, Eyed float col_conv[4]; - /* Convert from linear rgb space to display space because grease pencil colors are in display + /* Convert from linear rgb space to display space because palette colors are in display * space, and this conversion is needed to undo the conversion to linear performed by * eyedropper_color_sample_fl. */ - if (eye->display) { + if ((eye->display) && (eye->mode == GP_EYE_PALETTE)) { copy_v3_v3(col_conv, eye->color); IMB_colormanagement_scene_linear_to_display_v3(col_conv, eye->display); } @@ -348,8 +353,8 @@ static bool eyedropper_gpencil_poll(bContext *C) void UI_OT_eyedropper_gpencil_color(wmOperatorType *ot) { static const EnumPropertyItem items_mode[] = { - {0, "MATERIAL", 0, "Material", ""}, - {1, "PALETTE", 0, "Palette", ""}, + {GP_EYE_MATERIAL, "MATERIAL", 0, "Material", ""}, + {GP_EYE_PALETTE, "PALETTE", 0, "Palette", ""}, {0, NULL, 0, NULL, NULL}, }; @@ -369,5 +374,5 @@ void UI_OT_eyedropper_gpencil_color(wmOperatorType *ot) ot->flag = OPTYPE_UNDO | OPTYPE_BLOCKING; /* properties */ - ot->prop = RNA_def_enum(ot->srna, "mode", items_mode, 0, "Mode", ""); + ot->prop = RNA_def_enum(ot->srna, "mode", items_mode, GP_EYE_MATERIAL, "Mode", ""); } -- 2.20.1.windows.1