81 header +=
IFACE_(
"Current: ");
83 const bool is_ctrl = (
event->modifier &
KM_CTRL) != 0;
84 const bool is_shift = (
event->modifier &
KM_SHIFT) != 0;
89 if (is_ctrl && !is_shift) {
92 if (is_shift && !is_ctrl) {
95 if (is_ctrl && is_shift) {
101 header +=
IFACE_(
"Stroke");
114 header +=
IFACE_(
", Ctrl: Stroke, Shift: Fill, Shift+Ctrl: Both");
126 const char *display_device;
143 MEM_delete<EyedropperGreasePencil>(eye);
158 for (
short i = 0;
i < *totcol;
i++) {
165 if (gp_style !=
nullptr) {
249 if (paint->
palette ==
nullptr) {
255 if (vertexpaint->
palette ==
nullptr) {
285 if (brush ==
nullptr) {
299 const bool is_ctrl = (
event->modifier &
KM_CTRL) != 0;
300 const bool is_shift = (
event->modifier &
KM_SHIFT) != 0;
303 if (is_ctrl && !is_shift) {
306 if (is_shift && !is_ctrl) {
309 if (is_ctrl && is_shift) {
358 switch (event->
type) {
360 switch (event->
val) {
456 {0,
nullptr, 0,
nullptr,
nullptr},
463 {0,
nullptr, 0,
nullptr,
nullptr},
467 ot->name =
"Grease Pencil Eyedropper";
468 ot->idname =
"UI_OT_eyedropper_grease_pencil_color";
469 ot->description =
"Sample a color from the Blender Window and create Grease Pencil material";
void BKE_brush_color_sync_legacy(Brush *brush)
void BKE_brush_tag_unsaved_changes(Brush *brush)
wmWindow * CTX_wm_window(const bContext *C)
Object * CTX_data_active_object(const bContext *C)
Scene * CTX_data_scene(const bContext *C)
Main * CTX_data_main(const bContext *C)
Low-level operations for grease pencil.
Material * BKE_grease_pencil_object_material_new(Main *bmain, Object *ob, const char *name, int *r_index)
General operations, lookup, etc. for materials.
short * BKE_object_material_len_p(Object *ob)
Material * BKE_object_material_get(Object *ob, short act)
PaletteColor * BKE_palette_color_add(Palette *palette)
Palette * BKE_palette_add(Main *bmain, const char *name)
Brush * BKE_paint_brush(Paint *paint)
void BKE_palette_color_set(PaletteColor *color, const float rgb[3])
void BKE_paint_palette_set(Paint *paint, Palette *palette)
#define LISTBASE_FOREACH_INDEX(type, var, list, index_var)
int BLI_listbase_count(const ListBase *listbase) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
MINLINE void copy_v3_v3(float r[3], const float a[3])
MINLINE void zero_v4(float r[4])
MINLINE bool compare_v3v3(const float v1[3], const float v2[3], float limit) ATTR_WARN_UNUSED_RESULT
void DEG_relations_tag_update(Main *bmain)
@ GP_MATERIAL_STROKE_SHOW
void ED_workspace_status_text(bContext *C, const char *str)
void ED_undo_push(bContext *C, const char *str)
const ColorManagedDisplay * IMB_colormanagement_display_get_named(const char *name)
Read Guarded memory(de)allocation.
blender::ocio::Display ColorManagedDisplay
bool eyedropper_color_sample_fl(bContext *C, Eyedropper *eye, const int event_xy[2], float r_col[3])
void UI_OT_eyedropper_grease_pencil_color(wmOperatorType *ot)
@ EYE_MODAL_SAMPLE_CONFIRM
static void eyedropper_add_palette_color(bContext *C, const float3 color)
static bool eyedropper_grease_pencil_poll(bContext *C)
static wmOperatorStatus eyedropper_grease_pencil_invoke(bContext *C, wmOperator *op, const wmEvent *event)
static void eyedropper_grease_pencil_color_sample(bContext *C, EyedropperGreasePencil *eye, const int m_xy[2])
static void eyedropper_grease_pencil_exit(bContext *C, wmOperator *op)
static bool eyedropper_grease_pencil_init(bContext *C, wmOperator *op)
static void eyedropper_grease_pencil_status_indicators(bContext *C, wmOperator *op, const wmEvent *event)
static void eyedropper_grease_pencil_cancel(bContext *C, wmOperator *op)
static void eyedropper_set_brush_color(bContext *C, const float3 &color)
static wmOperatorStatus eyedropper_grease_pencil_modal(bContext *C, wmOperator *op, const wmEvent *event)
static void eyedropper_add_material(bContext *C, const float3 color, const MaterialMode mat_mode)
static wmOperatorStatus eyedropper_grease_pencil_exec(bContext *C, wmOperator *op)
static void eyedropper_grease_pencil_color_set(bContext *C, const wmEvent *event, EyedropperGreasePencil *eye)
VecBase< float, 3 > float3
int RNA_enum_get(PointerRNA *ptr, const char *name)
PropertyRNA * RNA_def_enum(StructOrFunctionRNA *cont_, const char *identifier, const EnumPropertyItem *items, const int default_value, const char *ui_name, const char *ui_description)
struct MaterialGPencilStyle * gp_style
struct ToolSettings * toolsettings
ColorManagedDisplaySettings display_settings
const ColorManagedDisplay * display
void WM_main_add_notifier(uint type, void *reference)
wmEventHandler_Op * WM_event_add_modal_handler(bContext *C, wmOperator *op)