Blender
V3.3
|
#include "BLI_listbase.h"
#include "BLI_string.h"
#include "MEM_guardedalloc.h"
#include "BKE_context.h"
#include "BKE_gpencil_modifier.h"
#include "BKE_material.h"
#include "BKE_screen.h"
#include "DNA_material_types.h"
#include "DNA_object_types.h"
#include "DNA_screen_types.h"
#include "ED_object.h"
#include "BLT_translation.h"
#include "UI_interface.h"
#include "UI_resources.h"
#include "RNA_access.h"
#include "RNA_prototypes.h"
#include "WM_api.h"
#include "WM_types.h"
#include "MOD_gpencil_ui_common.h"
Go to the source code of this file.
Functions | |
static bool | gpencil_modifier_ui_poll (const bContext *C, PanelType *UNUSED(pt)) |
Panel Drag and Drop, Expansion Saving | |
static void | gpencil_modifier_reorder (bContext *C, Panel *panel, int new_index) |
static short | get_gpencil_modifier_expand_flag (const bContext *UNUSED(C), Panel *panel) |
static void | set_gpencil_modifier_expand_flag (const bContext *UNUSED(C), Panel *panel, short expand_flag) |
Modifier Registration Helpers | |
PanelType * | gpencil_modifier_panel_register (ARegionType *region_type, GpencilModifierType type, PanelDrawFn draw) |
PanelType * | gpencil_modifier_subpanel_register (ARegionType *region_type, const char *name, const char *label, PanelDrawFn draw_header, PanelDrawFn draw, PanelType *parent) |
Modifier Panel Layouts | |
#define | ERROR_LIBDATA_MESSAGE TIP_("External library data") |
void | gpencil_modifier_masking_panel_draw (Panel *panel, bool use_material, bool use_vertex) |
void | gpencil_modifier_curve_header_draw (const bContext *UNUSED(C), Panel *panel) |
void | gpencil_modifier_curve_panel_draw (const bContext *UNUSED(C), Panel *panel) |
void | gpencil_modifier_panel_end (uiLayout *layout, PointerRNA *ptr) |
PointerRNA * | gpencil_modifier_panel_get_property_pointers (Panel *panel, PointerRNA *r_ob_ptr) |
static void | gpencil_modifier_ops_extra_draw (bContext *C, uiLayout *layout, void *md_v) |
static void | gpencil_modifier_panel_header (const bContext *UNUSED(C), Panel *panel) |
Gets RNA pointers for the active object and the panel's modifier data.
Definition at line 206 of file MOD_gpencil_ui_common.c.
Definition at line 67 of file MOD_gpencil_ui_common.c.
References PointerRNA::data, GpencilModifierData::ui_expand_flag, and UI_panel_custom_data_get().
Referenced by gpencil_modifier_panel_register().
Definition at line 176 of file MOD_gpencil_ui_common.c.
References gpencil_modifier_panel_get_property_pointers(), Panel::layout, NULL, ptr, and uiItemR().
Referenced by curve_header_draw(), and panelRegister().
Definition at line 185 of file MOD_gpencil_ui_common.c.
References gpencil_modifier_panel_get_property_pointers(), Panel::layout, NULL, ptr, and uiTemplateCurveMapping().
Referenced by curve_panel_draw(), and panelRegister().
Definition at line 89 of file MOD_gpencil_ui_common.c.
References BKE_object_material_get(), col, PointerRNA::data, gpencil_modifier_panel_get_property_pointers(), Panel::layout, NULL, ptr, RNA_int_get(), RNA_pointer_get(), RNA_pointer_is_null(), RNA_string_length(), Object::totcol, uiItemPointerR(), uiItemR(), uiLayoutColumn(), uiLayoutRow(), uiLayoutSetActive(), uiLayoutSetPropDecorate(), uiLayoutSetPropSep(), and uiLayoutSetRedAlert().
Referenced by mask_panel_draw().
Definition at line 225 of file MOD_gpencil_ui_common.c.
References BKE_gpencil_modifier_get_info(), BLI_listbase_count(), BLT_I18NCONTEXT_OPERATOR_DEFAULT, C, CTX_IFACE_, ED_object_active_context(), eGpencilModifierTypeFlag_NoApply, GpencilModifierTypeInfo::flags, Object::greasepencil_modifiers, Object::id, IFACE_, GpencilModifierData::next, NULL, GpencilModifierData::prev, ptr, RNA_int_set(), RNA_pointer_create(), GpencilModifierData::type, UI_block_flag_enable(), UI_BLOCK_IS_FLIP, uiItemFullO(), uiItemO(), uiItemS(), uiLayoutColumn(), uiLayoutGetBlock(), uiLayoutSetContextPointer(), uiLayoutSetEnabled(), uiLayoutSetOperatorContext(), uiLayoutSetUnitsX(), and WM_OP_INVOKE_DEFAULT.
Referenced by gpencil_modifier_panel_header().
void gpencil_modifier_panel_end | ( | struct uiLayout * | layout, |
PointerRNA * | ptr | ||
) |
Draw modifier error message.
Definition at line 194 of file MOD_gpencil_ui_common.c.
References PointerRNA::data, GpencilModifierData::error, IFACE_, ptr, uiItemL(), and uiLayoutRow().
Referenced by panel_draw().
PointerRNA* gpencil_modifier_panel_get_property_pointers | ( | Panel * | panel, |
PointerRNA * | r_ob_ptr | ||
) |
Definition at line 207 of file MOD_gpencil_ui_common.c.
References BLI_assert, ERROR_LIBDATA_MESSAGE, ID_IS_LINKED, Panel::layout, NULL, PointerRNA::owner_id, ptr, RNA_pointer_create(), RNA_struct_is_a(), PointerRNA::type, UI_block_lock_clear(), UI_block_lock_set(), UI_panel_context_pointer_set(), UI_panel_custom_data_get(), and uiLayoutGetBlock().
Referenced by bake_panel_draw(), chaining_panel_draw(), composition_panel_draw(), constant_offset_draw(), constant_offset_header_draw(), curvature_header_draw(), curvature_panel_draw(), curve_header_draw(), curve_panel_draw(), custom_range_header_draw(), custom_range_panel_draw(), edge_types_panel_draw(), face_mark_panel_draw(), face_mark_panel_draw_header(), fade_header_draw(), fade_panel_draw(), fading_header_draw(), fading_panel_draw(), falloff_panel_draw(), frame_range_header_draw(), frame_range_panel_draw(), gpencil_modifier_curve_header_draw(), gpencil_modifier_curve_panel_draw(), gpencil_modifier_masking_panel_draw(), intersection_panel_draw(), mask_panel_draw(), material_mask_panel_draw(), material_mask_panel_draw_header(), object_offset_draw(), object_offset_header_draw(), occlusion_panel_draw(), offset_panel_draw(), options_light_reference_draw(), options_panel_draw(), panel_draw(), random_header_draw(), random_panel_draw(), relative_offset_draw(), relative_offset_header_draw(), and vgroup_panel_draw().
Definition at line 294 of file MOD_gpencil_ui_common.c.
References BKE_gpencil_modifier_get_info(), PointerRNA::data, eGpencilModifierTypeFlag_SupportsEditmode, GpencilModifierTypeInfo::flags, gpencil_modifier_ops_extra_draw(), GpencilModifierTypeInfo::isDisabled, Panel::layout, ptr, RNA_struct_ui_icon(), Panel::sizex, GpencilModifierData::type, PointerRNA::type, UI_EMBOSS_NONE, UI_LAYOUT_ALIGN_RIGHT, UI_panel_context_pointer_set(), UI_panel_custom_data_get(), UI_UNIT_X, uiItemL(), uiItemMenuF(), uiItemO(), uiItemR(), uiItemS(), uiLayoutRow(), uiLayoutSetAlignment(), uiLayoutSetEmboss(), and uiLayoutSetRedAlert().
Referenced by gpencil_modifier_panel_register().
PanelType* gpencil_modifier_panel_register | ( | struct ARegionType * | region_type, |
GpencilModifierType | type, | ||
PanelDrawFn | draw | ||
) |
Create a panel in the context's region
Definition at line 350 of file MOD_gpencil_ui_common.c.
References BKE_gpencil_modifierType_panel_id(), BKE_ST_MAXNAME, BLI_addtail(), BLI_strncpy(), BLT_I18NCONTEXT_DEFAULT_BPYRNA, PanelType::context, PanelType::draw, PanelType::draw_header, PanelType::flag, get_gpencil_modifier_expand_flag(), PanelType::get_list_data_expand_flag, gpencil_modifier_panel_header(), gpencil_modifier_reorder(), gpencil_modifier_ui_poll(), PanelType::idname, PanelType::label, MEM_callocN, PANEL_TYPE_HEADER_EXPAND, PANEL_TYPE_INSTANCED, ARegionType::paneltypes, PanelType::poll, PanelType::reorder, set_gpencil_modifier_expand_flag(), PanelType::set_list_data_expand_flag, PanelType::translation_context, and type.
Referenced by panelRegister().
Move a modifier to the index it's moved to after a drag and drop.
Definition at line 53 of file MOD_gpencil_ui_common.c.
References C, PointerRNA::data, GpencilModifierData::name, NULL, ot, RNA_int_set(), RNA_string_set(), UI_panel_custom_data_get(), WM_OP_INVOKE_DEFAULT, WM_operator_name_call_ptr(), WM_operator_properties_create_ptr(), WM_operator_properties_free(), and WM_operatortype_find().
Referenced by gpencil_modifier_panel_register().
PanelType* gpencil_modifier_subpanel_register | ( | struct ARegionType * | region_type, |
const char * | name, | ||
const char * | label, | ||
PanelDrawFn | draw_header, | ||
PanelDrawFn | draw, | ||
struct PanelType * | parent | ||
) |
Add a child panel to the parent.
idname
. Definition at line 377 of file MOD_gpencil_ui_common.c.
References BKE_ST_MAXNAME, BLI_addtail(), BLI_assert, BLI_genericNodeN(), BLI_snprintf(), BLI_strncpy(), BLT_I18NCONTEXT_DEFAULT_BPYRNA, PanelType::children, PanelType::context, PanelType::draw, PanelType::draw_header, PanelType::flag, gpencil_modifier_ui_poll(), PanelType::idname, PanelType::label, label, MEM_callocN, NULL, PANEL_TYPE_DEFAULT_CLOSED, ARegionType::paneltypes, PanelType::parent, PanelType::parent_id, PanelType::poll, and PanelType::translation_context.
Referenced by panelRegister().
Poll function so these modifier panels only show for grease pencil objects.
Definition at line 39 of file MOD_gpencil_ui_common.c.
References C, ED_object_active_context(), NULL, OB_GPENCIL, and Object::type.
Referenced by gpencil_modifier_panel_register(), and gpencil_modifier_subpanel_register().
|
static |
Definition at line 74 of file MOD_gpencil_ui_common.c.
References PointerRNA::data, GpencilModifierData::ui_expand_flag, and UI_panel_custom_data_get().
Referenced by gpencil_modifier_panel_register().