Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/space_node/drawnode.c
| Show First 20 Lines • Show All 810 Lines • ▼ Show 20 Lines | static void node_shader_buts_tex_environment(uiLayout *layout, bContext *C, PointerRNA *ptr) | ||||
| uiItemR(layout, ptr, "interpolation", 0, "", ICON_NONE); | uiItemR(layout, ptr, "interpolation", 0, "", ICON_NONE); | ||||
| uiItemR(layout, ptr, "projection", 0, "", ICON_NONE); | uiItemR(layout, ptr, "projection", 0, "", ICON_NONE); | ||||
| node_buts_image_user(layout, C, &iuserptr, &imaptr, &iuserptr, false); | node_buts_image_user(layout, C, &iuserptr, &imaptr, &iuserptr, false); | ||||
| } | } | ||||
| static void node_shader_buts_tex_environment_ex(uiLayout *layout, bContext *C, PointerRNA *ptr) | static void node_shader_buts_tex_environment_ex(uiLayout *layout, bContext *C, PointerRNA *ptr) | ||||
| { | { | ||||
| PointerRNA imaptr = RNA_pointer_get(ptr, "image"); | |||||
| PointerRNA iuserptr = RNA_pointer_get(ptr, "image_user"); | PointerRNA iuserptr = RNA_pointer_get(ptr, "image_user"); | ||||
| Image *ima = imaptr.data; | uiTemplateImage(layout, C, ptr, "image", &iuserptr, 0, 0); | ||||
| uiLayoutSetContextPointer(layout, "image_user", &iuserptr); | |||||
| uiTemplateID(layout, | |||||
| C, | |||||
| ptr, | |||||
| "image", | |||||
| "IMAGE_OT_new", | |||||
| "IMAGE_OT_open", | |||||
| NULL, | |||||
| UI_TEMPLATE_ID_FILTER_ALL, | |||||
| false); | |||||
| if (!ima) { | |||||
| return; | |||||
| } | |||||
| uiItemR(layout, &imaptr, "source", 0, IFACE_("Source"), ICON_NONE); | |||||
| if (!(ELEM(ima->source, IMA_SRC_GENERATED, IMA_SRC_VIEWER))) { | |||||
| uiLayout *row = uiLayoutRow(layout, true); | |||||
| const bool is_packed = BKE_image_has_packedfile(ima); | |||||
| if (is_packed) { | |||||
| uiItemO(row, "", ICON_PACKAGE, "image.unpack"); | |||||
| } | |||||
| else { | |||||
| uiItemO(row, "", ICON_UGLYPACKAGE, "image.pack"); | |||||
| } | |||||
| row = uiLayoutRow(row, true); | |||||
| uiLayoutSetEnabled(row, !is_packed); | |||||
| uiItemR(row, &imaptr, "filepath", 0, "", ICON_NONE); | |||||
| uiItemO(row, "", ICON_FILE_REFRESH, "image.reload"); | |||||
| } | |||||
| /* multilayer? */ | |||||
| if (ima->type == IMA_TYPE_MULTILAYER && ima->rr) { | |||||
| uiTemplateImageLayers(layout, C, ima, iuserptr.data); | |||||
| } | |||||
| else if (ima->source != IMA_SRC_GENERATED) { | |||||
| uiTemplateImageInfo(layout, C, ima, iuserptr.data); | |||||
| } | |||||
| uiItemR(layout, ptr, "interpolation", 0, IFACE_("Interpolation"), ICON_NONE); | uiItemR(layout, ptr, "interpolation", 0, IFACE_("Interpolation"), ICON_NONE); | ||||
| uiItemR(layout, ptr, "projection", 0, IFACE_("Projection"), ICON_NONE); | uiItemR(layout, ptr, "projection", 0, IFACE_("Projection"), ICON_NONE); | ||||
| } | } | ||||
| static void node_shader_buts_tex_sky(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr) | static void node_shader_buts_tex_sky(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr) | ||||
| { | { | ||||
| uiItemR(layout, ptr, "sky_type", 0, "", ICON_NONE); | uiItemR(layout, ptr, "sky_type", 0, "", ICON_NONE); | ||||
| ▲ Show 20 Lines • Show All 3,173 Lines • Show Last 20 Lines | |||||