diff options
author | Aaron Carlisle <carlisle.b3d@gmail.com> | 2022-01-11 10:10:36 +0300 |
---|---|---|
committer | Aaron Carlisle <carlisle.b3d@gmail.com> | 2022-01-11 10:11:14 +0300 |
commit | fd922f59404fa67d921691eac83288503f164b32 (patch) | |
tree | e3c8d6929f4c8d9640da99ce6577b21dbd70f792 /source/blender/nodes/composite/nodes/node_composite_image.cc | |
parent | f2fb9a0c59ab64358301e4d98ba35b5f122a0eaf (diff) |
Cleanup: Composite nodes: add namespace for every file
This puts all static functions in composite node files into a new
namespace. This allows using unity build which can improve
compile times significantly.
This is a follow up on rB1df8abff257030ba79bc23dc321f35494f4d91c5
but for compositor nodes.
The namespace name is derived from the file name.
That makes it possible to write some tooling that checks the names later on.
The filename extension (`cc`) is added to the namespace name as well.
his also possibly simplifies tooling but also makes it more obvious that this namespace is specific to a file.
Reviewed By: JacquesLucke, HooglyBoogly, jbakker
Differential Revision: https://developer.blender.org/D13466
Diffstat (limited to 'source/blender/nodes/composite/nodes/node_composite_image.cc')
-rw-r--r-- | source/blender/nodes/composite/nodes/node_composite_image.cc | 30 |
1 files changed, 22 insertions, 8 deletions
diff --git a/source/blender/nodes/composite/nodes/node_composite_image.cc b/source/blender/nodes/composite/nodes/node_composite_image.cc index bb87991630d..6f4f9d7e597 100644 --- a/source/blender/nodes/composite/nodes/node_composite_image.cc +++ b/source/blender/nodes/composite/nodes/node_composite_image.cc @@ -399,6 +399,8 @@ static void cmp_node_image_verify_outputs(bNodeTree *ntree, bNode *node, bool rl BLI_linklist_free(available_sockets.list, nullptr); } +namespace blender::nodes::node_composite_image_cc { + static void cmp_node_image_update(bNodeTree *ntree, bNode *node) { /* avoid unnecessary updates, only changes to the image/image user data are of interest */ @@ -447,14 +449,19 @@ static void node_composit_copy_image(bNodeTree *UNUSED(dest_ntree), } } +} // namespace blender::nodes::node_composite_image_cc + void register_node_type_cmp_image() { + namespace file_ns = blender::nodes::node_composite_image_cc; + static bNodeType ntype; cmp_node_type_base(&ntype, CMP_NODE_IMAGE, "Image", NODE_CLASS_INPUT); - node_type_init(&ntype, node_composit_init_image); - node_type_storage(&ntype, "ImageUser", node_composit_free_image, node_composit_copy_image); - node_type_update(&ntype, cmp_node_image_update); + node_type_init(&ntype, file_ns::node_composit_init_image); + node_type_storage( + &ntype, "ImageUser", file_ns::node_composit_free_image, file_ns::node_composit_copy_image); + node_type_update(&ntype, file_ns::cmp_node_image_update); ntype.labelfunc = node_image_label; ntype.flag |= NODE_PREVIEW; @@ -478,6 +485,8 @@ const char *node_cmp_rlayers_sock_to_pass(int sock_index) return (STREQ(name, "Alpha")) ? RE_PASSNAME_COMBINED : name; } +namespace blender::nodes::node_composite_image_cc { + static void node_composit_init_rlayers(const bContext *C, PointerRNA *ptr) { Scene *scene = CTX_data_scene(C); @@ -602,18 +611,23 @@ static void node_composit_buts_viewlayers(uiLayout *layout, bContext *C, Pointer RNA_string_set(&op_ptr, "scene", scene_name); } +} // namespace blender::nodes::node_composite_image_cc + void register_node_type_cmp_rlayers() { + namespace file_ns = blender::nodes::node_composite_image_cc; + static bNodeType ntype; cmp_node_type_base(&ntype, CMP_NODE_R_LAYERS, "Render Layers", NODE_CLASS_INPUT); node_type_socket_templates(&ntype, nullptr, cmp_node_rlayers_out); - ntype.draw_buttons = node_composit_buts_viewlayers; - ntype.initfunc_api = node_composit_init_rlayers; - ntype.poll = node_composit_poll_rlayers; + ntype.draw_buttons = file_ns::node_composit_buts_viewlayers; + ntype.initfunc_api = file_ns::node_composit_init_rlayers; + ntype.poll = file_ns::node_composit_poll_rlayers; ntype.flag |= NODE_PREVIEW; - node_type_storage(&ntype, nullptr, node_composit_free_rlayers, node_composit_copy_rlayers); - node_type_update(&ntype, cmp_node_rlayers_update); + node_type_storage( + &ntype, nullptr, file_ns::node_composit_free_rlayers, file_ns::node_composit_copy_rlayers); + node_type_update(&ntype, file_ns::cmp_node_rlayers_update); node_type_init(&ntype, node_cmp_rlayers_outputs); node_type_size_preset(&ntype, NODE_SIZE_LARGE); |