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
path: root/source
diff options
context:
space:
mode:
authorJulian Eisel <julian@blender.org>2020-11-09 15:50:19 +0300
committerJulian Eisel <julian@blender.org>2020-11-11 21:09:15 +0300
commit40aa69e2eb6896f559153f48a83c870691f2f86a (patch)
treeb58ff6ccca5e2afd18da8365705f47112eac0a38 /source
parentc2b3a68f248e67c9dc1289f289d998785d780175 (diff)
Cleanup: Split header for Outliner tree building into C and C++ headers
See https://developer.blender.org/D9499. It's odd to include a C++ header (".hh") in C code, we should avoid that. All of the Outliner code should be moved to C++, I don't expect this C header to stay for long.
Diffstat (limited to 'source')
-rw-r--r--source/blender/editors/space_outliner/CMakeLists.txt1
-rw-r--r--source/blender/editors/space_outliner/outliner_tree.c2
-rw-r--r--source/blender/editors/space_outliner/tree/tree_display.h64
-rw-r--r--source/blender/editors/space_outliner/tree/tree_display.hh43
4 files changed, 67 insertions, 43 deletions
diff --git a/source/blender/editors/space_outliner/CMakeLists.txt b/source/blender/editors/space_outliner/CMakeLists.txt
index ec95b0da39f..996570fae25 100644
--- a/source/blender/editors/space_outliner/CMakeLists.txt
+++ b/source/blender/editors/space_outliner/CMakeLists.txt
@@ -50,6 +50,7 @@ set(SRC
tree/tree_display_view_layer.cc
outliner_intern.h
+ tree/tree_display.h
tree/tree_display.hh
)
diff --git a/source/blender/editors/space_outliner/outliner_tree.c b/source/blender/editors/space_outliner/outliner_tree.c
index 26871ef14a0..83be26793ee 100644
--- a/source/blender/editors/space_outliner/outliner_tree.c
+++ b/source/blender/editors/space_outliner/outliner_tree.c
@@ -85,7 +85,7 @@
#include "UI_interface.h"
#include "outliner_intern.h"
-#include "tree/tree_display.hh"
+#include "tree/tree_display.h"
#ifdef WIN32
# include "BLI_math_base.h" /* M_PI */
diff --git a/source/blender/editors/space_outliner/tree/tree_display.h b/source/blender/editors/space_outliner/tree/tree_display.h
new file mode 100644
index 00000000000..4ef71ded133
--- /dev/null
+++ b/source/blender/editors/space_outliner/tree/tree_display.h
@@ -0,0 +1,64 @@
+/*
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+/** \file
+ * \ingroup spoutliner
+ *
+ * C-API for the Tree-Display types.
+ */
+
+#pragma once
+
+#include "DNA_space_types.h"
+
+struct ListBase;
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/** C alias for an #AbstractTreeDisplay handle. */
+typedef struct TreeDisplay TreeDisplay;
+
+/**
+ * \brief The data to build the tree from.
+ */
+typedef struct TreeSourceData {
+ struct Main *bmain;
+ struct Scene *scene;
+ struct ViewLayer *view_layer;
+} TreeSourceData;
+
+TreeDisplay *outliner_tree_display_create(eSpaceOutliner_Mode mode, SpaceOutliner *space_outliner);
+void outliner_tree_display_destroy(TreeDisplay **tree_display);
+
+ListBase outliner_tree_display_build_tree(TreeDisplay *tree_display, TreeSourceData *source_data);
+
+/* The following functions are needed to build the tree. They are calls back into C; the way
+ * elements are created should be refactored and ported to C++ with a new design/API too. */
+struct TreeElement *outliner_add_element(SpaceOutliner *space_outliner,
+ ListBase *lb,
+ void *idv,
+ struct TreeElement *parent,
+ short type,
+ short index);
+void outliner_make_object_parent_hierarchy(ListBase *lb);
+
+const char *outliner_idcode_to_plural(short idcode);
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/source/blender/editors/space_outliner/tree/tree_display.hh b/source/blender/editors/space_outliner/tree/tree_display.hh
index 1aefc49d8e8..a3d9a626d1d 100644
--- a/source/blender/editors/space_outliner/tree/tree_display.hh
+++ b/source/blender/editors/space_outliner/tree/tree_display.hh
@@ -34,7 +34,7 @@
#pragma once
-#include "DNA_space_types.h"
+#include "tree_display.h"
struct ListBase;
struct Main;
@@ -42,8 +42,6 @@ struct SpaceOutliner;
struct TreeElement;
struct TreeSourceData;
-#ifdef __cplusplus
-
namespace blender::ed::outliner {
/* -------------------------------------------------------------------- */
@@ -113,42 +111,3 @@ class TreeDisplayLibraries final : public AbstractTreeDisplay {
};
} // namespace blender::ed::outliner
-
-extern "C" {
-#endif
-
-/* -------------------------------------------------------------------- */
-/* C-API */
-
-/** C alias for an #AbstractTreeDisplay handle. */
-typedef struct TreeDisplay TreeDisplay;
-
-/**
- * \brief The data to build the tree from.
- */
-typedef struct TreeSourceData {
- struct Main *bmain;
- struct Scene *scene;
- struct ViewLayer *view_layer;
-} TreeSourceData;
-
-TreeDisplay *outliner_tree_display_create(eSpaceOutliner_Mode mode, SpaceOutliner *space_outliner);
-void outliner_tree_display_destroy(TreeDisplay **tree_display);
-
-ListBase outliner_tree_display_build_tree(TreeDisplay *tree_display, TreeSourceData *source_data);
-
-/* The following functions are needed to build the tree. They are calls back into C; the way
- * elements are created should be refactored and ported to C++ with a new design/API too. */
-struct TreeElement *outliner_add_element(struct SpaceOutliner *space_outliner,
- ListBase *lb,
- void *idv,
- struct TreeElement *parent,
- short type,
- short index);
-void outliner_make_object_parent_hierarchy(ListBase *lb);
-
-const char *outliner_idcode_to_plural(short idcode);
-
-#ifdef __cplusplus
-}
-#endif