Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/nodes/composite/nodes/node_composite_cornerpin.cc')
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_cornerpin.cc46
1 files changed, 29 insertions, 17 deletions
diff --git a/source/blender/nodes/composite/nodes/node_composite_cornerpin.cc b/source/blender/nodes/composite/nodes/node_composite_cornerpin.cc
index b5ca1fb015e..2e7a87a576d 100644
--- a/source/blender/nodes/composite/nodes/node_composite_cornerpin.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_cornerpin.cc
@@ -23,27 +23,39 @@
#include "node_composite_util.hh"
-static bNodeSocketTemplate inputs[] = {
- {SOCK_RGBA, N_("Image"), 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
- {SOCK_VECTOR, N_("Upper Left"), 0.0f, 1.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
- {SOCK_VECTOR, N_("Upper Right"), 1.0f, 1.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
- {SOCK_VECTOR, N_("Lower Left"), 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
- {SOCK_VECTOR, N_("Lower Right"), 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
- {-1, ""},
-};
-
-static bNodeSocketTemplate outputs[] = {
- {SOCK_RGBA, N_("Image")},
- {SOCK_FLOAT, N_("Plane")},
- {-1, ""},
-};
-
-void register_node_type_cmp_cornerpin(void)
+namespace blender::nodes {
+
+static void cmp_node_cornerpin_declare(NodeDeclarationBuilder &b)
+{
+ b.add_input<decl::Color>(N_("Image")).default_value({1.0f, 1.0f, 1.0f, 1.0f});
+ b.add_input<decl::Vector>(N_("Upper Left"))
+ .default_value({0.0f, 1.0f, 0.0f})
+ .min(0.0f)
+ .max(1.0f);
+ b.add_input<decl::Vector>(N_("Upper Right"))
+ .default_value({1.0f, 1.0f, 0.0f})
+ .min(0.0f)
+ .max(1.0f);
+ b.add_input<decl::Vector>(N_("Lower Left"))
+ .default_value({0.0f, 0.0f, 0.0f})
+ .min(0.0f)
+ .max(1.0f);
+ b.add_input<decl::Vector>(N_("Lower Right"))
+ .default_value({1.0f, 0.0f, 0.0f})
+ .min(0.0f)
+ .max(1.0f);
+ b.add_output<decl::Color>(N_("Image"));
+ b.add_output<decl::Float>(N_("Plane"));
+}
+
+} // namespace blender::nodes
+
+void register_node_type_cmp_cornerpin()
{
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_CORNERPIN, "Corner Pin", NODE_CLASS_DISTORT, 0);
- node_type_socket_templates(&ntype, inputs, outputs);
+ ntype.declare = blender::nodes::cmp_node_cornerpin_declare;
nodeRegisterType(&ntype);
}