Cleanup: reduce variable scopes in drawnode.c
This commit is contained in:
@@ -116,12 +116,10 @@ static void node_buts_rgb(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr
|
|||||||
|
|
||||||
static void node_buts_mix_rgb(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
|
static void node_buts_mix_rgb(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
|
||||||
{
|
{
|
||||||
uiLayout *row, *col;
|
|
||||||
|
|
||||||
bNodeTree *ntree = (bNodeTree *)ptr->owner_id;
|
bNodeTree *ntree = (bNodeTree *)ptr->owner_id;
|
||||||
|
|
||||||
col = uiLayoutColumn(layout, false);
|
uiLayout *col = uiLayoutColumn(layout, false);
|
||||||
row = uiLayoutRow(col, true);
|
uiLayout *row = uiLayoutRow(col, true);
|
||||||
uiItemR(row, ptr, "blend_type", DEFAULT_FLAGS, "", ICON_NONE);
|
uiItemR(row, ptr, "blend_type", DEFAULT_FLAGS, "", ICON_NONE);
|
||||||
if (ELEM(ntree->type, NTREE_COMPOSIT, NTREE_TEXTURE)) {
|
if (ELEM(ntree->type, NTREE_COMPOSIT, NTREE_TEXTURE)) {
|
||||||
uiItemR(row, ptr, "use_alpha", DEFAULT_FLAGS, "", ICON_IMAGE_RGB_ALPHA);
|
uiItemR(row, ptr, "use_alpha", DEFAULT_FLAGS, "", ICON_IMAGE_RGB_ALPHA);
|
||||||
@@ -132,7 +130,6 @@ static void node_buts_mix_rgb(uiLayout *layout, bContext *UNUSED(C), PointerRNA
|
|||||||
|
|
||||||
static void node_buts_time(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
|
static void node_buts_time(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
|
||||||
{
|
{
|
||||||
uiLayout *row;
|
|
||||||
#if 0
|
#if 0
|
||||||
/* XXX no context access here .. */
|
/* XXX no context access here .. */
|
||||||
bNode *node = ptr->data;
|
bNode *node = ptr->data;
|
||||||
@@ -148,7 +145,7 @@ static void node_buts_time(uiLayout *layout, bContext *UNUSED(C), PointerRNA *pt
|
|||||||
|
|
||||||
uiTemplateCurveMapping(layout, ptr, "curve", 's', false, false, false, false);
|
uiTemplateCurveMapping(layout, ptr, "curve", 's', false, false, false, false);
|
||||||
|
|
||||||
row = uiLayoutRow(layout, true);
|
uiLayout *row = uiLayoutRow(layout, true);
|
||||||
uiItemR(row, ptr, "frame_start", DEFAULT_FLAGS, IFACE_("Sta"), ICON_NONE);
|
uiItemR(row, ptr, "frame_start", DEFAULT_FLAGS, IFACE_("Sta"), ICON_NONE);
|
||||||
uiItemR(row, ptr, "frame_end", DEFAULT_FLAGS, IFACE_("End"), ICON_NONE);
|
uiItemR(row, ptr, "frame_end", DEFAULT_FLAGS, IFACE_("End"), ICON_NONE);
|
||||||
}
|
}
|
||||||
@@ -317,12 +314,9 @@ static void node_draw_frame_prepare(const bContext *UNUSED(C), bNodeTree *ntree,
|
|||||||
{
|
{
|
||||||
const float margin = 1.5f * U.widget_unit;
|
const float margin = 1.5f * U.widget_unit;
|
||||||
NodeFrame *data = (NodeFrame *)node->storage;
|
NodeFrame *data = (NodeFrame *)node->storage;
|
||||||
bool bbinit;
|
|
||||||
bNode *tnode;
|
|
||||||
rctf rect, noderect;
|
|
||||||
float xmax, ymax;
|
|
||||||
|
|
||||||
/* init rect from current frame size */
|
/* init rect from current frame size */
|
||||||
|
rctf rect;
|
||||||
node_to_view(node, node->offsetx, node->offsety, &rect.xmin, &rect.ymax);
|
node_to_view(node, node->offsetx, node->offsety, &rect.xmin, &rect.ymax);
|
||||||
node_to_view(
|
node_to_view(
|
||||||
node, node->offsetx + node->width, node->offsety - node->height, &rect.xmax, &rect.ymin);
|
node, node->offsetx + node->width, node->offsety - node->height, &rect.xmax, &rect.ymin);
|
||||||
@@ -330,15 +324,15 @@ static void node_draw_frame_prepare(const bContext *UNUSED(C), bNodeTree *ntree,
|
|||||||
/* frame can be resized manually only if shrinking is disabled or no children are attached */
|
/* frame can be resized manually only if shrinking is disabled or no children are attached */
|
||||||
data->flag |= NODE_FRAME_RESIZEABLE;
|
data->flag |= NODE_FRAME_RESIZEABLE;
|
||||||
/* for shrinking bbox, initialize the rect from first child node */
|
/* for shrinking bbox, initialize the rect from first child node */
|
||||||
bbinit = (data->flag & NODE_FRAME_SHRINK);
|
bool bbinit = (data->flag & NODE_FRAME_SHRINK);
|
||||||
/* fit bounding box to all children */
|
/* fit bounding box to all children */
|
||||||
for (tnode = ntree->nodes.first; tnode; tnode = tnode->next) {
|
LISTBASE_FOREACH (bNode *, tnode, &ntree->nodes) {
|
||||||
if (tnode->parent != node) {
|
if (tnode->parent != node) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* add margin to node rect */
|
/* add margin to node rect */
|
||||||
noderect = tnode->totr;
|
rctf noderect = tnode->totr;
|
||||||
noderect.xmin -= margin;
|
noderect.xmin -= margin;
|
||||||
noderect.xmax += margin;
|
noderect.xmax += margin;
|
||||||
noderect.ymin -= margin;
|
noderect.ymin -= margin;
|
||||||
@@ -357,6 +351,7 @@ static void node_draw_frame_prepare(const bContext *UNUSED(C), bNodeTree *ntree,
|
|||||||
|
|
||||||
/* now adjust the frame size from view-space bounding box */
|
/* now adjust the frame size from view-space bounding box */
|
||||||
node_from_view(node, rect.xmin, rect.ymax, &node->offsetx, &node->offsety);
|
node_from_view(node, rect.xmin, rect.ymax, &node->offsetx, &node->offsety);
|
||||||
|
float xmax, ymax;
|
||||||
node_from_view(node, rect.xmax, rect.ymin, &xmax, &ymax);
|
node_from_view(node, rect.xmax, rect.ymin, &xmax, &ymax);
|
||||||
node->width = xmax - node->offsetx;
|
node->width = xmax - node->offsetx;
|
||||||
node->height = -ymax + node->offsety;
|
node->height = -ymax + node->offsety;
|
||||||
@@ -369,17 +364,9 @@ static void node_draw_frame_label(bNodeTree *ntree, bNode *node, const float asp
|
|||||||
/* XXX font id is crap design */
|
/* XXX font id is crap design */
|
||||||
const int fontid = UI_style_get()->widgetlabel.uifont_id;
|
const int fontid = UI_style_get()->widgetlabel.uifont_id;
|
||||||
NodeFrame *data = (NodeFrame *)node->storage;
|
NodeFrame *data = (NodeFrame *)node->storage;
|
||||||
rctf *rct = &node->totr;
|
|
||||||
int color_id = node_get_colorid(node);
|
|
||||||
char label[MAX_NAME];
|
|
||||||
/* XXX a bit hacky, should use separate align values for x and y */
|
|
||||||
float width, ascender;
|
|
||||||
float x, y;
|
|
||||||
const int font_size = data->label_size / aspect;
|
const int font_size = data->label_size / aspect;
|
||||||
const float margin = (float)(NODE_DY / 4);
|
|
||||||
int label_height;
|
|
||||||
uchar color[3];
|
|
||||||
|
|
||||||
|
char label[MAX_NAME];
|
||||||
nodeLabel(ntree, node, label, sizeof(label));
|
nodeLabel(ntree, node, label, sizeof(label));
|
||||||
|
|
||||||
BLF_enable(fontid, BLF_ASPECT);
|
BLF_enable(fontid, BLF_ASPECT);
|
||||||
@@ -388,16 +375,21 @@ static void node_draw_frame_label(bNodeTree *ntree, bNode *node, const float asp
|
|||||||
BLF_size(fontid, MIN2(24, font_size), U.dpi);
|
BLF_size(fontid, MIN2(24, font_size), U.dpi);
|
||||||
|
|
||||||
/* title color */
|
/* title color */
|
||||||
|
int color_id = node_get_colorid(node);
|
||||||
|
uchar color[3];
|
||||||
UI_GetThemeColorBlendShade3ubv(TH_TEXT, color_id, 0.4f, 10, color);
|
UI_GetThemeColorBlendShade3ubv(TH_TEXT, color_id, 0.4f, 10, color);
|
||||||
BLF_color3ubv(fontid, color);
|
BLF_color3ubv(fontid, color);
|
||||||
|
|
||||||
width = BLF_width(fontid, label, sizeof(label));
|
const float margin = (float)(NODE_DY / 4);
|
||||||
ascender = BLF_ascender(fontid);
|
const float width = BLF_width(fontid, label, sizeof(label));
|
||||||
label_height = ((margin / aspect) + (ascender * aspect));
|
const float ascender = BLF_ascender(fontid);
|
||||||
|
const int label_height = ((margin / aspect) + (ascender * aspect));
|
||||||
|
|
||||||
/* 'x' doesn't need aspect correction */
|
/* 'x' doesn't need aspect correction */
|
||||||
x = BLI_rctf_cent_x(rct) - (0.5f * width);
|
rctf *rct = &node->totr;
|
||||||
y = rct->ymax - label_height;
|
/* XXX a bit hacky, should use separate align values for x and y */
|
||||||
|
float x = BLI_rctf_cent_x(rct) - (0.5f * width);
|
||||||
|
float y = rct->ymax - label_height;
|
||||||
|
|
||||||
BLF_position(fontid, x, y, 0);
|
BLF_position(fontid, x, y, 0);
|
||||||
BLF_draw(fontid, label, BLF_DRAW_STR_DUMMY_MAX);
|
BLF_draw(fontid, label, BLF_DRAW_STR_DUMMY_MAX);
|
||||||
@@ -405,17 +397,15 @@ static void node_draw_frame_label(bNodeTree *ntree, bNode *node, const float asp
|
|||||||
/* draw text body */
|
/* draw text body */
|
||||||
if (node->id) {
|
if (node->id) {
|
||||||
Text *text = (Text *)node->id;
|
Text *text = (Text *)node->id;
|
||||||
TextLine *line;
|
|
||||||
const int line_height_max = BLF_height_max(fontid);
|
const int line_height_max = BLF_height_max(fontid);
|
||||||
const float line_spacing = (line_height_max * aspect);
|
const float line_spacing = (line_height_max * aspect);
|
||||||
const float line_width = (BLI_rctf_size_x(rct) - margin) / aspect;
|
const float line_width = (BLI_rctf_size_x(rct) - margin) / aspect;
|
||||||
int y_min;
|
|
||||||
|
|
||||||
/* 'x' doesn't need aspect correction */
|
/* 'x' doesn't need aspect correction */
|
||||||
x = rct->xmin + margin;
|
x = rct->xmin + margin;
|
||||||
y = rct->ymax - (label_height + line_spacing);
|
y = rct->ymax - (label_height + line_spacing);
|
||||||
/* early exit */
|
/* early exit */
|
||||||
y_min = y + ((margin * 2) - (y - rct->ymin));
|
int y_min = y + ((margin * 2) - (y - rct->ymin));
|
||||||
|
|
||||||
BLF_enable(fontid, BLF_CLIPPING | BLF_WORD_WRAP);
|
BLF_enable(fontid, BLF_CLIPPING | BLF_WORD_WRAP);
|
||||||
BLF_clipping(fontid,
|
BLF_clipping(fontid,
|
||||||
@@ -427,7 +417,7 @@ static void node_draw_frame_label(bNodeTree *ntree, bNode *node, const float asp
|
|||||||
|
|
||||||
BLF_wordwrap(fontid, line_width);
|
BLF_wordwrap(fontid, line_width);
|
||||||
|
|
||||||
for (line = text->lines.first; line; line = line->next) {
|
LISTBASE_FOREACH (TextLine *, line, &text->lines) {
|
||||||
struct ResultBLF info;
|
struct ResultBLF info;
|
||||||
if (line->line[0]) {
|
if (line->line[0]) {
|
||||||
BLF_position(fontid, x, y, 0);
|
BLF_position(fontid, x, y, 0);
|
||||||
@@ -455,9 +445,6 @@ static void node_draw_frame(const bContext *C,
|
|||||||
bNode *node,
|
bNode *node,
|
||||||
bNodeInstanceKey UNUSED(key))
|
bNodeInstanceKey UNUSED(key))
|
||||||
{
|
{
|
||||||
rctf *rct = &node->totr;
|
|
||||||
float color[4];
|
|
||||||
float alpha;
|
|
||||||
|
|
||||||
/* skip if out of view */
|
/* skip if out of view */
|
||||||
if (BLI_rctf_isect(&node->totr, ®ion->v2d.cur, NULL) == false) {
|
if (BLI_rctf_isect(&node->totr, ®ion->v2d.cur, NULL) == false) {
|
||||||
@@ -466,8 +453,9 @@ static void node_draw_frame(const bContext *C,
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
float color[4];
|
||||||
UI_GetThemeColor4fv(TH_NODE_FRAME, color);
|
UI_GetThemeColor4fv(TH_NODE_FRAME, color);
|
||||||
alpha = color[3];
|
const float alpha = color[3];
|
||||||
|
|
||||||
/* shadow */
|
/* shadow */
|
||||||
node_draw_shadow(snode, node, BASIS_RAD, alpha);
|
node_draw_shadow(snode, node, BASIS_RAD, alpha);
|
||||||
@@ -480,6 +468,7 @@ static void node_draw_frame(const bContext *C,
|
|||||||
UI_GetThemeColor4fv(TH_NODE_FRAME, color);
|
UI_GetThemeColor4fv(TH_NODE_FRAME, color);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const rctf *rct = &node->totr;
|
||||||
UI_draw_roundbox_corner_set(UI_CNR_ALL);
|
UI_draw_roundbox_corner_set(UI_CNR_ALL);
|
||||||
UI_draw_roundbox_aa(true, rct->xmin, rct->ymin, rct->xmax, rct->ymax, BASIS_RAD, color);
|
UI_draw_roundbox_aa(true, rct->xmin, rct->ymin, rct->xmax, rct->ymax, BASIS_RAD, color);
|
||||||
|
|
||||||
@@ -544,15 +533,12 @@ static void node_draw_reroute_prepare(const bContext *UNUSED(C),
|
|||||||
bNodeTree *UNUSED(ntree),
|
bNodeTree *UNUSED(ntree),
|
||||||
bNode *node)
|
bNode *node)
|
||||||
{
|
{
|
||||||
bNodeSocket *nsock;
|
|
||||||
float locx, locy;
|
|
||||||
float size = NODE_REROUTE_SIZE;
|
|
||||||
|
|
||||||
/* get "global" coords */
|
/* get "global" coords */
|
||||||
|
float locx, locy;
|
||||||
node_to_view(node, 0.0f, 0.0f, &locx, &locy);
|
node_to_view(node, 0.0f, 0.0f, &locx, &locy);
|
||||||
|
|
||||||
/* reroute node has exactly one input and one output, both in the same place */
|
/* reroute node has exactly one input and one output, both in the same place */
|
||||||
nsock = node->outputs.first;
|
bNodeSocket *nsock = node->outputs.first;
|
||||||
nsock->locx = locx;
|
nsock->locx = locx;
|
||||||
nsock->locy = locy;
|
nsock->locy = locy;
|
||||||
|
|
||||||
@@ -560,6 +546,7 @@ static void node_draw_reroute_prepare(const bContext *UNUSED(C),
|
|||||||
nsock->locx = locx;
|
nsock->locx = locx;
|
||||||
nsock->locy = locy;
|
nsock->locy = locy;
|
||||||
|
|
||||||
|
const float size = NODE_REROUTE_SIZE;
|
||||||
node->width = size * 2;
|
node->width = size * 2;
|
||||||
node->totr.xmin = locx - size;
|
node->totr.xmin = locx - size;
|
||||||
node->totr.xmax = locx + size;
|
node->totr.xmax = locx + size;
|
||||||
@@ -687,18 +674,15 @@ static void node_buts_image_user(uiLayout *layout,
|
|||||||
PointerRNA *iuserptr,
|
PointerRNA *iuserptr,
|
||||||
bool compositor)
|
bool compositor)
|
||||||
{
|
{
|
||||||
uiLayout *col;
|
|
||||||
int source;
|
|
||||||
|
|
||||||
if (!imaptr->data) {
|
if (!imaptr->data) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
col = uiLayoutColumn(layout, false);
|
uiLayout *col = uiLayoutColumn(layout, false);
|
||||||
|
|
||||||
uiItemR(col, imaptr, "source", DEFAULT_FLAGS, "", ICON_NONE);
|
uiItemR(col, imaptr, "source", DEFAULT_FLAGS, "", ICON_NONE);
|
||||||
|
|
||||||
source = RNA_enum_get(imaptr, "source");
|
const int source = RNA_enum_get(imaptr, "source");
|
||||||
|
|
||||||
if (source == IMA_SRC_SEQUENCE) {
|
if (source == IMA_SRC_SEQUENCE) {
|
||||||
/* don't use iuser->framenr directly
|
/* don't use iuser->framenr directly
|
||||||
@@ -943,8 +927,8 @@ static void node_shader_buts_tex_pointdensity(uiLayout *layout,
|
|||||||
bNode *node = ptr->data;
|
bNode *node = ptr->data;
|
||||||
NodeShaderTexPointDensity *shader_point_density = node->storage;
|
NodeShaderTexPointDensity *shader_point_density = node->storage;
|
||||||
Object *ob = (Object *)node->id;
|
Object *ob = (Object *)node->id;
|
||||||
PointerRNA ob_ptr, obdata_ptr;
|
|
||||||
|
|
||||||
|
PointerRNA ob_ptr, obdata_ptr;
|
||||||
RNA_id_pointer_create((ID *)ob, &ob_ptr);
|
RNA_id_pointer_create((ID *)ob, &ob_ptr);
|
||||||
RNA_id_pointer_create(ob ? (ID *)ob->data : NULL, &obdata_ptr);
|
RNA_id_pointer_create(ob ? (ID *)ob->data : NULL, &obdata_ptr);
|
||||||
|
|
||||||
@@ -1398,8 +1382,8 @@ static void node_buts_image_views(uiLayout *layout,
|
|||||||
static void node_composit_buts_image(uiLayout *layout, bContext *C, PointerRNA *ptr)
|
static void node_composit_buts_image(uiLayout *layout, bContext *C, PointerRNA *ptr)
|
||||||
{
|
{
|
||||||
bNode *node = ptr->data;
|
bNode *node = ptr->data;
|
||||||
PointerRNA imaptr, iuserptr;
|
|
||||||
|
|
||||||
|
PointerRNA iuserptr;
|
||||||
RNA_pointer_create(ptr->owner_id, &RNA_ImageUser, node->storage, &iuserptr);
|
RNA_pointer_create(ptr->owner_id, &RNA_ImageUser, node->storage, &iuserptr);
|
||||||
uiLayoutSetContextPointer(layout, "image_user", &iuserptr);
|
uiLayoutSetContextPointer(layout, "image_user", &iuserptr);
|
||||||
uiTemplateID(layout,
|
uiTemplateID(layout,
|
||||||
@@ -1416,7 +1400,7 @@ static void node_composit_buts_image(uiLayout *layout, bContext *C, PointerRNA *
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
imaptr = RNA_pointer_get(ptr, "image");
|
PointerRNA imaptr = RNA_pointer_get(ptr, "image");
|
||||||
|
|
||||||
node_buts_image_user(layout, C, ptr, &imaptr, &iuserptr, true);
|
node_buts_image_user(layout, C, ptr, &imaptr, &iuserptr, true);
|
||||||
|
|
||||||
@@ -1426,8 +1410,8 @@ static void node_composit_buts_image(uiLayout *layout, bContext *C, PointerRNA *
|
|||||||
static void node_composit_buts_image_ex(uiLayout *layout, bContext *C, PointerRNA *ptr)
|
static void node_composit_buts_image_ex(uiLayout *layout, bContext *C, PointerRNA *ptr)
|
||||||
{
|
{
|
||||||
bNode *node = ptr->data;
|
bNode *node = ptr->data;
|
||||||
PointerRNA iuserptr;
|
|
||||||
|
|
||||||
|
PointerRNA iuserptr;
|
||||||
RNA_pointer_create(ptr->owner_id, &RNA_ImageUser, node->storage, &iuserptr);
|
RNA_pointer_create(ptr->owner_id, &RNA_ImageUser, node->storage, &iuserptr);
|
||||||
uiLayoutSetContextPointer(layout, "image_user", &iuserptr);
|
uiLayoutSetContextPointer(layout, "image_user", &iuserptr);
|
||||||
uiTemplateImage(layout, C, ptr, "image", &iuserptr, 0, 1);
|
uiTemplateImage(layout, C, ptr, "image", &iuserptr, 0, 1);
|
||||||
@@ -1437,11 +1421,6 @@ static void node_composit_buts_viewlayers(uiLayout *layout, bContext *C, Pointer
|
|||||||
{
|
{
|
||||||
bNode *node = ptr->data;
|
bNode *node = ptr->data;
|
||||||
uiLayout *col, *row;
|
uiLayout *col, *row;
|
||||||
PointerRNA op_ptr;
|
|
||||||
PointerRNA scn_ptr;
|
|
||||||
PropertyRNA *prop;
|
|
||||||
const char *layer_name;
|
|
||||||
char scene_name[MAX_ID_NAME - 2];
|
|
||||||
|
|
||||||
uiTemplateID(layout, C, ptr, "scene", NULL, NULL, NULL, UI_TEMPLATE_ID_FILTER_ALL, false, NULL);
|
uiTemplateID(layout, C, ptr, "scene", NULL, NULL, NULL, UI_TEMPLATE_ID_FILTER_ALL, false, NULL);
|
||||||
|
|
||||||
@@ -1453,15 +1432,19 @@ static void node_composit_buts_viewlayers(uiLayout *layout, bContext *C, Pointer
|
|||||||
row = uiLayoutRow(col, true);
|
row = uiLayoutRow(col, true);
|
||||||
uiItemR(row, ptr, "layer", DEFAULT_FLAGS, "", ICON_NONE);
|
uiItemR(row, ptr, "layer", DEFAULT_FLAGS, "", ICON_NONE);
|
||||||
|
|
||||||
prop = RNA_struct_find_property(ptr, "layer");
|
PropertyRNA *prop = RNA_struct_find_property(ptr, "layer");
|
||||||
|
const char *layer_name;
|
||||||
if (!(RNA_property_enum_identifier(
|
if (!(RNA_property_enum_identifier(
|
||||||
C, ptr, prop, RNA_property_enum_get(ptr, prop), &layer_name))) {
|
C, ptr, prop, RNA_property_enum_get(ptr, prop), &layer_name))) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
PointerRNA scn_ptr;
|
||||||
|
char scene_name[MAX_ID_NAME - 2];
|
||||||
scn_ptr = RNA_pointer_get(ptr, "scene");
|
scn_ptr = RNA_pointer_get(ptr, "scene");
|
||||||
RNA_string_get(&scn_ptr, "name", scene_name);
|
RNA_string_get(&scn_ptr, "name", scene_name);
|
||||||
|
|
||||||
|
PointerRNA op_ptr;
|
||||||
uiItemFullO(
|
uiItemFullO(
|
||||||
row, "RENDER_OT_render", "", ICON_RENDER_STILL, NULL, WM_OP_INVOKE_DEFAULT, 0, &op_ptr);
|
row, "RENDER_OT_render", "", ICON_RENDER_STILL, NULL, WM_OP_INVOKE_DEFAULT, 0, &op_ptr);
|
||||||
RNA_string_set(&op_ptr, "layer", layer_name);
|
RNA_string_set(&op_ptr, "layer", layer_name);
|
||||||
@@ -1471,12 +1454,10 @@ static void node_composit_buts_viewlayers(uiLayout *layout, bContext *C, Pointer
|
|||||||
static void node_composit_buts_blur(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
|
static void node_composit_buts_blur(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
|
||||||
{
|
{
|
||||||
uiLayout *col, *row;
|
uiLayout *col, *row;
|
||||||
int reference;
|
|
||||||
int filter;
|
|
||||||
|
|
||||||
col = uiLayoutColumn(layout, false);
|
col = uiLayoutColumn(layout, false);
|
||||||
filter = RNA_enum_get(ptr, "filter_type");
|
const int filter = RNA_enum_get(ptr, "filter_type");
|
||||||
reference = RNA_boolean_get(ptr, "use_variable_size");
|
const int reference = RNA_boolean_get(ptr, "use_variable_size");
|
||||||
|
|
||||||
uiItemR(col, ptr, "filter_type", DEFAULT_FLAGS, "", ICON_NONE);
|
uiItemR(col, ptr, "filter_type", DEFAULT_FLAGS, "", ICON_NONE);
|
||||||
if (filter != R_FILTER_FAST_GAUSS) {
|
if (filter != R_FILTER_FAST_GAUSS) {
|
||||||
@@ -1925,9 +1906,7 @@ static void node_composit_buts_file_output_ex(uiLayout *layout, bContext *C, Poi
|
|||||||
Scene *scene = CTX_data_scene(C);
|
Scene *scene = CTX_data_scene(C);
|
||||||
PointerRNA imfptr = RNA_pointer_get(ptr, "format");
|
PointerRNA imfptr = RNA_pointer_get(ptr, "format");
|
||||||
PointerRNA active_input_ptr, op_ptr;
|
PointerRNA active_input_ptr, op_ptr;
|
||||||
wmOperatorType *ot;
|
|
||||||
uiLayout *row, *col;
|
uiLayout *row, *col;
|
||||||
int active_index;
|
|
||||||
const bool multilayer = RNA_enum_get(&imfptr, "file_format") == R_IMF_IMTYPE_MULTILAYER;
|
const bool multilayer = RNA_enum_get(&imfptr, "file_format") == R_IMF_IMTYPE_MULTILAYER;
|
||||||
const bool is_multiview = (scene->r.scemode & R_MULTIVIEW) != 0;
|
const bool is_multiview = (scene->r.scemode & R_MULTIVIEW) != 0;
|
||||||
|
|
||||||
@@ -1947,7 +1926,7 @@ static void node_composit_buts_file_output_ex(uiLayout *layout, bContext *C, Poi
|
|||||||
row = uiLayoutRow(layout, false);
|
row = uiLayoutRow(layout, false);
|
||||||
col = uiLayoutColumn(row, true);
|
col = uiLayoutColumn(row, true);
|
||||||
|
|
||||||
active_index = RNA_int_get(ptr, "active_input_index");
|
const int active_index = RNA_int_get(ptr, "active_input_index");
|
||||||
/* using different collection properties if multilayer format is enabled */
|
/* using different collection properties if multilayer format is enabled */
|
||||||
if (multilayer) {
|
if (multilayer) {
|
||||||
uiTemplateList(col,
|
uiTemplateList(col,
|
||||||
@@ -1992,7 +1971,7 @@ static void node_composit_buts_file_output_ex(uiLayout *layout, bContext *C, Poi
|
|||||||
active_input_ptr.owner_id = ptr->owner_id;
|
active_input_ptr.owner_id = ptr->owner_id;
|
||||||
|
|
||||||
col = uiLayoutColumn(row, true);
|
col = uiLayoutColumn(row, true);
|
||||||
ot = WM_operatortype_find("NODE_OT_output_file_move_active_socket", false);
|
wmOperatorType *ot = WM_operatortype_find("NODE_OT_output_file_move_active_socket", false);
|
||||||
uiItemFullO_ptr(col, ot, "", ICON_TRIA_UP, NULL, WM_OP_INVOKE_DEFAULT, 0, &op_ptr);
|
uiItemFullO_ptr(col, ot, "", ICON_TRIA_UP, NULL, WM_OP_INVOKE_DEFAULT, 0, &op_ptr);
|
||||||
RNA_enum_set(&op_ptr, "direction", 1);
|
RNA_enum_set(&op_ptr, "direction", 1);
|
||||||
uiItemFullO_ptr(col, ot, "", ICON_TRIA_DOWN, NULL, WM_OP_INVOKE_DEFAULT, 0, &op_ptr);
|
uiItemFullO_ptr(col, ot, "", ICON_TRIA_DOWN, NULL, WM_OP_INVOKE_DEFAULT, 0, &op_ptr);
|
||||||
@@ -3435,13 +3414,12 @@ static void node_file_output_socket_draw(bContext *C,
|
|||||||
bNodeTree *ntree = (bNodeTree *)ptr->owner_id;
|
bNodeTree *ntree = (bNodeTree *)ptr->owner_id;
|
||||||
bNodeSocket *sock = ptr->data;
|
bNodeSocket *sock = ptr->data;
|
||||||
uiLayout *row;
|
uiLayout *row;
|
||||||
PointerRNA inputptr, imfptr;
|
PointerRNA inputptr;
|
||||||
int imtype;
|
|
||||||
|
|
||||||
row = uiLayoutRow(layout, false);
|
row = uiLayoutRow(layout, false);
|
||||||
|
|
||||||
imfptr = RNA_pointer_get(node_ptr, "format");
|
PointerRNA imfptr = RNA_pointer_get(node_ptr, "format");
|
||||||
imtype = RNA_enum_get(&imfptr, "file_format");
|
int imtype = RNA_enum_get(&imfptr, "file_format");
|
||||||
|
|
||||||
if (imtype == R_IMF_IMTYPE_MULTILAYER) {
|
if (imtype == R_IMF_IMTYPE_MULTILAYER) {
|
||||||
NodeImageMultiFileSocket *input = sock->storage;
|
NodeImageMultiFileSocket *input = sock->storage;
|
||||||
@@ -3451,8 +3429,6 @@ static void node_file_output_socket_draw(bContext *C,
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
NodeImageMultiFileSocket *input = sock->storage;
|
NodeImageMultiFileSocket *input = sock->storage;
|
||||||
PropertyRNA *imtype_prop;
|
|
||||||
const char *imtype_name;
|
|
||||||
uiBlock *block;
|
uiBlock *block;
|
||||||
RNA_pointer_create(&ntree->id, &RNA_NodeOutputFileSlotFile, input, &inputptr);
|
RNA_pointer_create(&ntree->id, &RNA_NodeOutputFileSlotFile, input, &inputptr);
|
||||||
|
|
||||||
@@ -3462,7 +3438,8 @@ static void node_file_output_socket_draw(bContext *C,
|
|||||||
imfptr = RNA_pointer_get(&inputptr, "format");
|
imfptr = RNA_pointer_get(&inputptr, "format");
|
||||||
}
|
}
|
||||||
|
|
||||||
imtype_prop = RNA_struct_find_property(&imfptr, "file_format");
|
const char *imtype_name;
|
||||||
|
PropertyRNA *imtype_prop = RNA_struct_find_property(&imfptr, "file_format");
|
||||||
RNA_property_enum_name((bContext *)C,
|
RNA_property_enum_name((bContext *)C,
|
||||||
&imfptr,
|
&imfptr,
|
||||||
imtype_prop,
|
imtype_prop,
|
||||||
@@ -3611,9 +3588,6 @@ void draw_nodespace_back_pix(const bContext *C,
|
|||||||
bNodeInstanceKey active_viewer_key = (snode->nodetree ? snode->nodetree->active_viewer_key :
|
bNodeInstanceKey active_viewer_key = (snode->nodetree ? snode->nodetree->active_viewer_key :
|
||||||
NODE_INSTANCE_KEY_NONE);
|
NODE_INSTANCE_KEY_NONE);
|
||||||
float shuffle[4] = {0.0f, 0.0f, 0.0f, 0.0f};
|
float shuffle[4] = {0.0f, 0.0f, 0.0f, 0.0f};
|
||||||
Image *ima;
|
|
||||||
void *lock;
|
|
||||||
ImBuf *ibuf;
|
|
||||||
|
|
||||||
GPU_matrix_push_projection();
|
GPU_matrix_push_projection();
|
||||||
GPU_matrix_push();
|
GPU_matrix_push();
|
||||||
@@ -3631,19 +3605,18 @@ void draw_nodespace_back_pix(const bContext *C,
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
ima = BKE_image_ensure_viewer(bmain, IMA_TYPE_COMPOSITE, "Viewer Node");
|
void *lock;
|
||||||
ibuf = BKE_image_acquire_ibuf(ima, NULL, &lock);
|
Image *ima = BKE_image_ensure_viewer(bmain, IMA_TYPE_COMPOSITE, "Viewer Node");
|
||||||
|
ImBuf *ibuf = BKE_image_acquire_ibuf(ima, NULL, &lock);
|
||||||
if (ibuf) {
|
if (ibuf) {
|
||||||
float x, y;
|
|
||||||
|
|
||||||
GPU_matrix_push_projection();
|
GPU_matrix_push_projection();
|
||||||
GPU_matrix_push();
|
GPU_matrix_push();
|
||||||
|
|
||||||
/* somehow the offset has to be calculated inverse */
|
/* somehow the offset has to be calculated inverse */
|
||||||
wmOrtho2_region_pixelspace(region);
|
wmOrtho2_region_pixelspace(region);
|
||||||
|
|
||||||
x = (region->winx - snode->zoom * ibuf->x) / 2 + snode->xof;
|
const float x = (region->winx - snode->zoom * ibuf->x) / 2 + snode->xof;
|
||||||
y = (region->winy - snode->zoom * ibuf->y) / 2 + snode->yof;
|
const float y = (region->winy - snode->zoom * ibuf->y) / 2 + snode->yof;
|
||||||
|
|
||||||
if (ibuf->rect || ibuf->rect_float) {
|
if (ibuf->rect || ibuf->rect_float) {
|
||||||
uchar *display_buffer = NULL;
|
uchar *display_buffer = NULL;
|
||||||
@@ -3746,10 +3719,7 @@ static bool node_link_bezier_handles(View2D *v2d,
|
|||||||
bNodeLink *link,
|
bNodeLink *link,
|
||||||
float vec[4][2])
|
float vec[4][2])
|
||||||
{
|
{
|
||||||
float dist;
|
|
||||||
float deltax, deltay;
|
|
||||||
float cursor[2] = {0.0f, 0.0f};
|
float cursor[2] = {0.0f, 0.0f};
|
||||||
int toreroute, fromreroute;
|
|
||||||
|
|
||||||
/* this function can be called with snode null (via cut_links_intersect) */
|
/* this function can be called with snode null (via cut_links_intersect) */
|
||||||
/* XXX map snode->cursor back to view space */
|
/* XXX map snode->cursor back to view space */
|
||||||
@@ -3759,6 +3729,7 @@ static bool node_link_bezier_handles(View2D *v2d,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* in v0 and v3 we put begin/end points */
|
/* in v0 and v3 we put begin/end points */
|
||||||
|
int toreroute, fromreroute;
|
||||||
if (link->fromsock) {
|
if (link->fromsock) {
|
||||||
vec[0][0] = link->fromsock->locx;
|
vec[0][0] = link->fromsock->locx;
|
||||||
vec[0][1] = link->fromsock->locy;
|
vec[0][1] = link->fromsock->locy;
|
||||||
@@ -3794,9 +3765,9 @@ static bool node_link_bezier_handles(View2D *v2d,
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
dist = curving * 0.10f * fabsf(vec[0][0] - vec[3][0]);
|
const float dist = curving * 0.10f * fabsf(vec[0][0] - vec[3][0]);
|
||||||
deltax = vec[3][0] - vec[0][0];
|
const float deltax = vec[3][0] - vec[0][0];
|
||||||
deltay = vec[3][1] - vec[0][1];
|
const float deltay = vec[3][1] - vec[0][1];
|
||||||
/* check direction later, for top sockets */
|
/* check direction later, for top sockets */
|
||||||
if (fromreroute) {
|
if (fromreroute) {
|
||||||
if (fabsf(deltax) > fabsf(deltay)) {
|
if (fabsf(deltax) > fabsf(deltay)) {
|
||||||
@@ -3850,9 +3821,9 @@ bool node_link_bezier_points(
|
|||||||
BKE_curve_forward_diff_bezier(
|
BKE_curve_forward_diff_bezier(
|
||||||
vec[0][1], vec[1][1], vec[2][1], vec[3][1], coord_array[0] + 1, resol, sizeof(float[2]));
|
vec[0][1], vec[1][1], vec[2][1], vec[3][1], coord_array[0] + 1, resol, sizeof(float[2]));
|
||||||
|
|
||||||
return 1;
|
return true;
|
||||||
}
|
}
|
||||||
return 0;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
#define NODELINK_GROUP_SIZE 256
|
#define NODELINK_GROUP_SIZE 256
|
||||||
|
|||||||
Reference in New Issue
Block a user