Changeset View
Changeset View
Standalone View
Standalone View
source/blender/gpencil_modifiers/intern/MOD_gpencillineart.c
| Show First 20 Lines • Show All 42 Lines • ▼ Show 20 Lines | |||||
| Object *ob = ob_ptr.data; | Object *ob = ob_ptr.data; | ||||
| material_valid = BKE_gpencil_object_material_index_get(ob, current_material) != -1; | material_valid = BKE_gpencil_object_material_index_get(ob, current_material) != -1; | ||||
| } | } | ||||
| uiLayout *row = uiLayoutRow(layout, true); | uiLayout *row = uiLayoutRow(layout, true); | ||||
| uiLayoutSetRedAlert(row, !material_valid); | uiLayoutSetRedAlert(row, !material_valid); | ||||
| uiItemPointerR( | uiItemPointerR( | ||||
| row, ptr, "target_material", &obj_data_ptr, "materials", NULL, ICON_SHADING_TEXTURE); | row, ptr, "target_material", &obj_data_ptr, "materials", NULL, ICON_SHADING_TEXTURE); | ||||
| uiLayout *col = uiLayoutColumn(layout, false); | |||||
| uiItemR(col, ptr, "thickness", UI_ITEM_R_SLIDER, IFACE_("Line Thickness"), ICON_NONE); | |||||
| uiItemR(col, ptr, "opacity", UI_ITEM_R_SLIDER, NULL, ICON_NONE); | |||||
| gpencil_modifier_panel_end(layout, ptr); | gpencil_modifier_panel_end(layout, ptr); | ||||
| } | } | ||||
| static void edge_types_panel_draw(const bContext *UNUSED(C), Panel *panel) | static void edge_types_panel_draw(const bContext *UNUSED(C), Panel *panel) | ||||
| { | { | ||||
| uiLayout *layout = panel->layout; | uiLayout *layout = panel->layout; | ||||
| PointerRNA ob_ptr; | PointerRNA ob_ptr; | ||||
| PointerRNA *ptr = gpencil_modifier_panel_get_property_pointers(panel, &ob_ptr); | PointerRNA *ptr = gpencil_modifier_panel_get_property_pointers(panel, &ob_ptr); | ||||
| ▲ Show 20 Lines • Show All 58 Lines • ▼ Show 20 Lines | |||||
| uiItemR(col, ptr, "use_edge_overlap", 0, IFACE_("Overlapping Edges As Contour"), ICON_NONE); | uiItemR(col, ptr, "use_edge_overlap", 0, IFACE_("Overlapping Edges As Contour"), ICON_NONE); | ||||
| uiItemR(col, ptr, "use_object_instances", 0, NULL, ICON_NONE); | uiItemR(col, ptr, "use_object_instances", 0, NULL, ICON_NONE); | ||||
| uiItemR(col, ptr, "use_clip_plane_boundaries", 0, NULL, ICON_NONE); | uiItemR(col, ptr, "use_clip_plane_boundaries", 0, NULL, ICON_NONE); | ||||
| uiItemR(col, ptr, "use_crease_on_smooth", 0, IFACE_("Crease On Smooth"), ICON_NONE); | uiItemR(col, ptr, "use_crease_on_smooth", 0, IFACE_("Crease On Smooth"), ICON_NONE); | ||||
| uiItemR(col, ptr, "use_crease_on_sharp", 0, IFACE_("Crease On Sharp"), ICON_NONE); | uiItemR(col, ptr, "use_crease_on_sharp", 0, IFACE_("Crease On Sharp"), ICON_NONE); | ||||
| uiItemR(col, ptr, "use_back_face_culling", 0, IFACE_("Force Backface Culling"), ICON_NONE); | uiItemR(col, ptr, "use_back_face_culling", 0, IFACE_("Force Backface Culling"), ICON_NONE); | ||||
| } | } | ||||
| static void style_panel_draw(const bContext *UNUSED(C), Panel *panel) | |||||
| { | |||||
| uiLayout *layout = panel->layout; | |||||
| PointerRNA *ptr = gpencil_modifier_panel_get_property_pointers(panel, NULL); | |||||
| const bool is_baked = RNA_boolean_get(ptr, "is_baked"); | |||||
| uiLayoutSetPropSep(layout, true); | |||||
| uiLayoutSetEnabled(layout, !is_baked); | |||||
| uiItemR(layout, ptr, "thickness", UI_ITEM_R_SLIDER, NULL, ICON_NONE); | |||||
| uiItemR(layout, ptr, "opacity", UI_ITEM_R_SLIDER, NULL, ICON_NONE); | |||||
| } | |||||
| static void occlusion_panel_draw(const bContext *UNUSED(C), Panel *panel) | static void occlusion_panel_draw(const bContext *UNUSED(C), Panel *panel) | ||||
| { | { | ||||
| uiLayout *layout = panel->layout; | uiLayout *layout = panel->layout; | ||||
| PointerRNA ob_ptr; | PointerRNA ob_ptr; | ||||
| PointerRNA *ptr = gpencil_modifier_panel_get_property_pointers(panel, &ob_ptr); | PointerRNA *ptr = gpencil_modifier_panel_get_property_pointers(panel, &ob_ptr); | ||||
| const bool is_baked = RNA_boolean_get(ptr, "is_baked"); | const bool is_baked = RNA_boolean_get(ptr, "is_baked"); | ||||
| ▲ Show 20 Lines • Show All 84 Lines • ▼ Show 20 Lines | |||||
| { | { | ||||
| PanelType *panel_type = gpencil_modifier_panel_register( | PanelType *panel_type = gpencil_modifier_panel_register( | ||||
| region_type, eGpencilModifierType_Lineart, panel_draw); | region_type, eGpencilModifierType_Lineart, panel_draw); | ||||
| gpencil_modifier_subpanel_register( | gpencil_modifier_subpanel_register( | ||||
| region_type, "edge_types", "Edge Types", NULL, edge_types_panel_draw, panel_type); | region_type, "edge_types", "Edge Types", NULL, edge_types_panel_draw, panel_type); | ||||
| gpencil_modifier_subpanel_register( | gpencil_modifier_subpanel_register( | ||||
| region_type, "geometry", "Geometry Processing", NULL, options_panel_draw, panel_type); | region_type, "geometry", "Geometry Processing", NULL, options_panel_draw, panel_type); | ||||
| gpencil_modifier_subpanel_register( | |||||
| region_type, "style", "Style", NULL, style_panel_draw, panel_type); | |||||
| PanelType *occlusion_panel = gpencil_modifier_subpanel_register( | PanelType *occlusion_panel = gpencil_modifier_subpanel_register( | ||||
| region_type, "occlusion", "Occlusion", NULL, occlusion_panel_draw, panel_type); | region_type, "occlusion", "Occlusion", NULL, occlusion_panel_draw, panel_type); | ||||
| gpencil_modifier_subpanel_register(region_type, | gpencil_modifier_subpanel_register(region_type, | ||||
| "material_mask", | "material_mask", | ||||
| "", | "", | ||||
| material_mask_panel_draw_header, | material_mask_panel_draw_header, | ||||
| material_mask_panel_draw, | material_mask_panel_draw, | ||||
| occlusion_panel); | occlusion_panel); | ||||
| Show All 37 Lines | |||||