diff options
Diffstat (limited to 'source/blender/nodes/composite/nodes/node_composite_cornerpin.cc')
-rw-r--r-- | source/blender/nodes/composite/nodes/node_composite_cornerpin.cc | 46 |
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); } |