22 row = &layout->
row(
false);
25 row = &layout->
row(
true);
34 row->
op(
"node.shader_script_update",
"", ICON_FILE_REFRESH);
92 "Generate an OSL shader from a file or text data-block.\nNote: OSL shaders are not "
93 "supported on all GPU backends";
100 ntype,
"NodeShaderScript", file_ns::node_free_script, file_ns::node_copy_script);
#define NODE_CLASS_SCRIPT
@ UI_ITEM_R_SPLIT_EMPTY_NAME
void * MEM_callocN(size_t len, const char *str)
void * MEM_dupallocN(const void *vmemh)
void MEM_freeN(void *vmemh)
void node_register_type(bNodeType &ntype)
void node_type_storage(bNodeType &ntype, std::optional< StringRefNull > storagename, void(*freefunc)(bNode *node), void(*copyfunc)(bNodeTree *dest_ntree, bNode *dest_node, const bNode *src_node))
static void node_copy_script(bNodeTree *, bNode *dest_node, const bNode *src_node)
static void node_shader_buts_script_ex(uiLayout *layout, bContext *C, PointerRNA *ptr)
static void node_free_script(bNode *node)
static void node_shader_buts_script(uiLayout *layout, bContext *, PointerRNA *ptr)
void register_node_type_sh_script()
void sh_node_type_base(blender::bke::bNodeType *ntype, std::string idname, const std::optional< int16_t > legacy_type)
int RNA_enum_get(PointerRNA *ptr, const char *name)
std::string ui_description
void(* initfunc)(bNodeTree *ntree, bNode *node)
void(* draw_buttons_ex)(uiLayout *, bContext *C, PointerRNA *ptr)
const char * enum_name_legacy
void(* draw_buttons)(uiLayout *, bContext *C, PointerRNA *ptr)
void separator(float factor=1.0f, LayoutSeparatorType type=LayoutSeparatorType::Auto)
uiLayout & row(bool align)
PointerRNA op(wmOperatorType *ot, std::optional< blender::StringRef > name, int icon, blender::wm::OpCallContext context, eUI_Item_Flag flag)
void prop(PointerRNA *ptr, PropertyRNA *prop, int index, int value, eUI_Item_Flag flag, std::optional< blender::StringRef > name_opt, int icon, std::optional< blender::StringRef > placeholder=std::nullopt)