Blender V4.3
interface_region_color_picker.cc File Reference
#include <cstdarg>
#include <cstdlib>
#include <cstring>
#include "MEM_guardedalloc.h"
#include "DNA_userdef_types.h"
#include "BLI_listbase.h"
#include "BLI_string.h"
#include "BLI_utildefines.h"
#include "WM_types.hh"
#include "RNA_access.hh"
#include "UI_interface.hh"
#include "BLT_translation.hh"
#include "IMB_colormanagement.hh"
#include "interface_intern.hh"

Go to the source code of this file.

Enumerations

enum  ePickerType { PICKER_TYPE_RGB = 0 , PICKER_TYPE_HSV = 1 }
 

Functions

Color Conversion
static void ui_color_picker_rgb_round (float rgb[3])
 
void ui_color_picker_rgb_to_hsv_compat (const float rgb[3], float r_cp[3])
 
void ui_color_picker_rgb_to_hsv (const float rgb[3], float r_cp[3])
 
void ui_color_picker_hsv_to_rgb (const float r_cp[3], float rgb[3])
 
bool ui_but_is_color_gamma (uiBut *but)
 
bool ui_but_color_has_alpha (uiBut *but)
 
void ui_scene_linear_to_perceptual_space (uiBut *but, float rgb[3])
 
void ui_perceptual_to_scene_linear_space (uiBut *but, float rgb[3])
 

Color Picker

#define PICKER_TOTAL_W   (180.0f * UI_SCALE_FAC)
 
#define PICKER_BAR   ((8.0f * UI_SCALE_FAC) + (6 * U.pixelsize))
 
#define PICKER_SPACE   (8.0f * UI_SCALE_FAC)
 
#define PICKER_W   (PICKER_TOTAL_W - PICKER_BAR - PICKER_SPACE)
 
#define PICKER_H   PICKER_W
 
static void ui_color_picker_update_hsv (ColorPicker *cpicker, uiBut *from_but, const float rgb_scene_linear[3])
 
void ui_but_hsv_set (uiBut *but)
 
static void ui_update_color_picker_buts_rgba (uiBut *from_but, uiBlock *block, ColorPicker *cpicker, const float rgba_scene_linear[4])
 
static void ui_colorpicker_rgba_update_cb (bContext *, void *bt1, void *)
 
static void ui_colorpicker_hsv_update_cb (bContext *, void *bt1, void *bt2)
 
static void ui_colorpicker_hex_rna_cb (bContext *, void *bt1, void *bt2)
 
static void ui_popup_close_cb (bContext *, void *bt1, void *)
 
static void ui_colorpicker_hide_reveal (uiBlock *block, ePickerType colormode)
 
static void ui_colorpicker_create_mode_cb (bContext *, void *bt1, void *)
 
static void ui_colorpicker_circle (uiBlock *block, PointerRNA *ptr, PropertyRNA *prop, ColorPicker *cpicker)
 
static void ui_colorpicker_square (uiBlock *block, PointerRNA *ptr, PropertyRNA *prop, eButGradientType type, ColorPicker *cpicker)
 
static void ui_block_colorpicker (uiBlock *block, uiBut *from_but, float rgba_scene_linear[4], bool show_picker)
 
static int ui_colorpicker_wheel_cb (const bContext *, uiBlock *block, const wmEvent *event)
 
uiBlockui_block_func_COLOR (bContext *C, uiPopupBlockHandle *handle, void *arg_but)
 
ColorPickerui_block_colorpicker_create (uiBlock *block)
 

Detailed Description

Color Picker Region & Color Utils

Definition in file interface_region_color_picker.cc.

Macro Definition Documentation

◆ PICKER_BAR

#define PICKER_BAR   ((8.0f * UI_SCALE_FAC) + (6 * U.pixelsize))

◆ PICKER_H

#define PICKER_H   PICKER_W

◆ PICKER_SPACE

#define PICKER_SPACE   (8.0f * UI_SCALE_FAC)

◆ PICKER_TOTAL_W

#define PICKER_TOTAL_W   (180.0f * UI_SCALE_FAC)

◆ PICKER_W

Definition at line 363 of file interface_region_color_picker.cc.

Referenced by ui_colorpicker_circle().

Enumeration Type Documentation

◆ ePickerType

Enumerator
PICKER_TYPE_RGB 
PICKER_TYPE_HSV 

Definition at line 35 of file interface_region_color_picker.cc.

Function Documentation

◆ ui_block_colorpicker()

static void ui_block_colorpicker ( uiBlock * block,
uiBut * from_but,
float rgba_scene_linear[4],
bool show_picker )
static

Definition at line 482 of file interface_region_color_picker.cc.

References BLT_I18NCONTEXT_COLOR, copy_v4_v4(), CTX_IFACE_, CTX_TIP_, uiBut::custom_data, FLT_MAX, uiBut::hardmax, ColorPicker::has_alpha, ColorPicker::hsv_scene_linear, IFACE_, IMB_colormanagement_scene_linear_to_srgb_v3(), PICKER_TOTAL_W, PICKER_TYPE_HSV, PICKER_TYPE_RGB, ptr, rgba_float_to_uchar(), RNA_property_float_get_array(), RNA_property_float_range(), RNA_property_float_ui_range(), uiBut::rnapoin, uiBut::rnaprop, SNPRINTF, TIP_, UI_block_align_begin(), UI_block_align_end(), ui_block_colorpicker_create(), UI_BTYPE_BUT, UI_BTYPE_LABEL, UI_BTYPE_NUM_SLIDER, UI_BTYPE_ROW, UI_BTYPE_TEXT, ui_but_color_has_alpha(), UI_but_drawflag_disable(), UI_but_flag_disable(), UI_but_func_set(), UI_but_func_tooltip_custom_set(), UI_BUT_ICON_LEFT, ui_but_is_color_gamma(), UI_but_number_slider_precision_set(), UI_but_number_slider_step_size_set(), UI_BUT_TEXT_LEFT, UI_BUT_UNDO, ui_color_picker_rgb_round(), ui_color_picker_update_hsv(), ui_colorpicker_circle(), ui_colorpicker_create_mode_cb(), ui_colorpicker_hex_rna_cb(), ui_colorpicker_hide_reveal(), ui_colorpicker_hsv_update_cb(), ui_colorpicker_rgba_update_cb(), ui_colorpicker_square(), UI_GRAD_HS, UI_GRAD_HV, UI_GRAD_SV, ui_popup_close_cb(), UI_TIP_LC_NORMAL, UI_TIP_STYLE_HEADER, UI_TIP_STYLE_NORMAL, UI_tooltip_text_field_add(), UI_UNIT_X, UI_UNIT_Y, uiDefBut(), uiDefButC(), uiDefButF(), uiDefButR_prop(), uiDefIconButO(), UNPACK3_EX, UNPACK4_EX, USER_CP_CIRCLE_HSL, USER_CP_CIRCLE_HSV, USER_CP_SQUARE_HS, USER_CP_SQUARE_HV, USER_CP_SQUARE_SV, and WM_OP_INVOKE_DEFAULT.

Referenced by ui_block_func_COLOR().

◆ ui_block_colorpicker_create()

ColorPicker * ui_block_colorpicker_create ( uiBlock * block)

◆ ui_block_func_COLOR()

◆ ui_but_color_has_alpha()

bool ui_but_color_has_alpha ( uiBut * but)

Returns true if the button represents a color with an Alpha component.

Definition at line 108 of file interface_region_color_picker.cc.

References ELEM, PROP_COLOR, PROP_COLOR_GAMMA, RNA_property_array_length(), RNA_property_subtype(), uiBut::rnapoin, and uiBut::rnaprop.

Referenced by ui_block_colorpicker().

◆ ui_but_hsv_set()

void ui_but_hsv_set ( uiBut * but)

For picker, while editing HSV.

Definition at line 178 of file interface_region_color_picker.cc.

References uiBut::custom_data, ColorPicker::hsv_perceptual, ui_but_v3_set(), and ui_color_picker_hsv_to_rgb().

Referenced by ui_do_but_HSVCIRCLE().

◆ ui_but_is_color_gamma()

◆ ui_color_picker_hsv_to_rgb()

◆ ui_color_picker_rgb_round()

◆ ui_color_picker_rgb_to_hsv()

void ui_color_picker_rgb_to_hsv ( const float rgb[3],
float r_cp[3] )

◆ ui_color_picker_rgb_to_hsv_compat()

◆ ui_color_picker_update_hsv()

◆ ui_colorpicker_circle()

◆ ui_colorpicker_create_mode_cb()

static void ui_colorpicker_create_mode_cb ( bContext * ,
void * bt1,
void *  )
static

◆ ui_colorpicker_hex_rna_cb()

◆ ui_colorpicker_hide_reveal()

◆ ui_colorpicker_hsv_update_cb()

◆ ui_colorpicker_rgba_update_cb()

◆ ui_colorpicker_square()

◆ ui_colorpicker_wheel_cb()

◆ ui_perceptual_to_scene_linear_space()

◆ ui_popup_close_cb()

◆ ui_scene_linear_to_perceptual_space()

◆ ui_update_color_picker_buts_rgba()