[Bf-blender-cvs] [d6bf612] temp-bke_blender-split: Refactor BKE_blender into:

Campbell Barton noreply at git.blender.org
Mon Apr 25 10:43:11 CEST 2016


Commit: d6bf612b5335dd54bb594a28921baf5238936b4e
Author: Campbell Barton
Date:   Sun Apr 24 22:42:41 2016 +1000
Branches: temp-bke_blender-split
https://developer.blender.org/rBd6bf612b5335dd54bb594a28921baf5238936b4e

Refactor BKE_blender into:

- BKE_blender_version.h (only version defines & versionstr)
- BKE_blender_copybuffer.h (currently only used for view3d copy/paste)
- BKE_blender_undo.h (global undo functions)
- BKE_blendfile.h (high level blend file read/write API)

Reviewers: sergey, mont29

Differential Revision: https://developer.blender.org/D1947

===================================================================

M	build_files/buildbot/slave_compile.py
M	build_files/buildbot/slave_pack.py
M	build_files/cmake/macros.cmake
M	doc/python_api/sphinx_doc_gen.sh
M	source/blender/blenkernel/BKE_blender.h
A	source/blender/blenkernel/BKE_blender_copybuffer.h
A	source/blender/blenkernel/BKE_blender_undo.h
A	source/blender/blenkernel/BKE_blender_version.h
A	source/blender/blenkernel/BKE_blendfile.h
M	source/blender/blenkernel/CMakeLists.txt
M	source/blender/blenkernel/intern/appdir.c
M	source/blender/blenkernel/intern/blender.c
A	source/blender/blenkernel/intern/blender_copybuffer.c
A	source/blender/blenkernel/intern/blender_undo.c
A	source/blender/blenkernel/intern/blendfile.c
M	source/blender/blenkernel/intern/pointcache.c
M	source/blender/blenloader/intern/readfile.c
M	source/blender/blenloader/intern/writefile.c
M	source/blender/collada/DocumentExporter.cpp
M	source/blender/collada/MeshImporter.cpp
M	source/blender/editors/gpencil/gpencil_undo.c
M	source/blender/editors/interface/interface_handlers.c
M	source/blender/editors/object/object_bake.c
M	source/blender/editors/physics/dynamicpaint_ops.c
M	source/blender/editors/render/render_internal.c
M	source/blender/editors/sculpt_paint/paint_undo.c
M	source/blender/editors/space_image/image_buttons.c
M	source/blender/editors/space_image/image_ops.c
M	source/blender/editors/space_info/info_stats.c
M	source/blender/editors/space_view3d/view3d_ops.c
M	source/blender/editors/util/editmode_undo.c
M	source/blender/editors/util/undo.c
M	source/blender/makesdna/DNA_fileglobal_types.h
M	source/blender/nodes/shader/node_shader_util.h
M	source/blender/nodes/texture/node_texture_util.h
M	source/blender/python/intern/bpy.c
M	source/blender/python/intern/bpy_app.c
M	source/blender/python/intern/bpy_library_write.c
M	source/blender/windowmanager/intern/wm_files.c
M	source/blender/windowmanager/intern/wm_init_exit.c
M	source/blender/windowmanager/intern/wm_operators.c
M	source/creator/creator.c
M	source/creator/creator_args.c
M	source/creator/creator_signals.c
M	source/gameengine/GamePlayer/ghost/GPG_ghost.cpp
M	source/gameengine/Ketsji/KX_PythonInit.cpp

===================================================================

diff --git a/build_files/buildbot/slave_compile.py b/build_files/buildbot/slave_compile.py
index 0f34551..4d7793d 100644
--- a/build_files/buildbot/slave_compile.py
+++ b/build_files/buildbot/slave_compile.py
@@ -188,7 +188,7 @@ if 'cmake' in builder:
             sys.exit(retcode)
 
         if builder.startswith('linux') and target == 'cuda':
-            blender_h = os.path.join(blender_dir, "source", "blender", "blenkernel", "BKE_blender.h")
+            blender_h = os.path.join(blender_dir, "source", "blender", "blenkernel", "BKE_blender_version.h")
             blender_version = int(parse_header_file(blender_h, 'BLENDER_VERSION'))
             blender_version = "%d.%d" % (blender_version // 100, blender_version % 100)
             kernels = os.path.join(target_build_dir, 'intern', 'cycles', 'kernel')
diff --git a/build_files/buildbot/slave_pack.py b/build_files/buildbot/slave_pack.py
index 4deb0b1..b270175 100644
--- a/build_files/buildbot/slave_pack.py
+++ b/build_files/buildbot/slave_pack.py
@@ -130,7 +130,7 @@ if builder.find('cmake') != -1:
         blenderplayer = os.path.join(install_dir, 'blenderplayer')
 
         buildinfo_h = os.path.join(build_dir, "source", "creator", "buildinfo.h")
-        blender_h = os.path.join(blender_dir, "source", "blender", "blenkernel", "BKE_blender.h")
+        blender_h = os.path.join(blender_dir, "source", "blender", "blenkernel", "BKE_blender_version.h")
 
         # Get version information
         blender_version = int(parse_header_file(blender_h, 'BLENDER_VERSION'))
diff --git a/build_files/cmake/macros.cmake b/build_files/cmake/macros.cmake
index f26b22a..7f19e22 100644
--- a/build_files/cmake/macros.cmake
+++ b/build_files/cmake/macros.cmake
@@ -1096,10 +1096,10 @@ function(get_blender_version)
 	# - BLENDER_VERSION_CYCLE (alpha, beta, rc, release)
 
 	# So cmake depends on BKE_blender.h, beware of inf-loops!
-	CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/source/blender/blenkernel/BKE_blender.h
-	               ${CMAKE_BINARY_DIR}/source/blender/blenkernel/BKE_blender.h.done)
+	CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/source/blender/blenkernel/BKE_blender_version.h
+	               ${CMAKE_BINARY_DIR}/source/blender/blenkernel/BKE_blender_version.h.done)
 
-	file(STRINGS ${CMAKE_SOURCE_DIR}/source/blender/blenkernel/BKE_blender.h _contents REGEX "^#define[ \t]+BLENDER_.*$")
+	file(STRINGS ${CMAKE_SOURCE_DIR}/source/blender/blenkernel/BKE_blender_version.h _contents REGEX "^#define[ \t]+BLENDER_.*$")
 
 	string(REGEX REPLACE ".*#define[ \t]+BLENDER_VERSION[ \t]+([0-9]+).*" "\\1" _out_version "${_contents}")
 	string(REGEX REPLACE ".*#define[ \t]+BLENDER_SUBVERSION[ \t]+([0-9]+).*" "\\1" _out_subversion "${_contents}")
diff --git a/doc/python_api/sphinx_doc_gen.sh b/doc/python_api/sphinx_doc_gen.sh
index 697cd5a..7095808 100755
--- a/doc/python_api/sphinx_doc_gen.sh
+++ b/doc/python_api/sphinx_doc_gen.sh
@@ -33,10 +33,10 @@ SSH_UPLOAD="/data/www/vhosts/www.blender.org/api" # blender_python_api_VERSION,
 # "_".join(str(v) for v in bpy.app.version)
 # custom blender vars
 blender_srcdir=$(dirname -- $0)/../..
-blender_version=$(grep "BLENDER_VERSION\s" "$blender_srcdir/source/blender/blenkernel/BKE_blender.h" | awk '{print $3}')
-blender_version_char=$(grep "BLENDER_VERSION_CHAR\s" "$blender_srcdir/source/blender/blenkernel/BKE_blender.h" | awk '{print $3}')
-blender_version_cycle=$(grep "BLENDER_VERSION_CYCLE\s" "$blender_srcdir/source/blender/blenkernel/BKE_blender.h" | awk '{print $3}')
-blender_subversion=$(grep "BLENDER_SUBVERSION\s" "$blender_srcdir/source/blender/blenkernel/BKE_blender.h" | awk '{print $3}')
+blender_version=$(grep "BLENDER_VERSION\s" "$blender_srcdir/source/blender/blenkernel/BKE_blender_version.h" | awk '{print $3}')
+blender_version_char=$(grep "BLENDER_VERSION_CHAR\s" "$blender_srcdir/source/blender/blenkernel/BKE_blender_version.h" | awk '{print $3}')
+blender_version_cycle=$(grep "BLENDER_VERSION_CYCLE\s" "$blender_srcdir/source/blender/blenkernel/BKE_blender_version.h" | awk '{print $3}')
+blender_subversion=$(grep "BLENDER_SUBVERSION\s" "$blender_srcdir/source/blender/blenkernel/BKE_blender_version.h" | awk '{print $3}')
 
 if [ "$blender_version_cycle" = "release" ] ; then
 	BLENDER_VERSION=$(expr $blender_version / 100)_$(expr $blender_version % 100)$blender_version_char"_release"
diff --git a/source/blender/blenkernel/BKE_blender.h b/source/blender/blenkernel/BKE_blender.h
index fdb3474..0792f98 100644
--- a/source/blender/blenkernel/BKE_blender.h
+++ b/source/blender/blenkernel/BKE_blender.h
@@ -38,48 +38,9 @@
 extern "C" {
 #endif
 
-/* these lines are grep'd, watch out for our not-so-awesome regex
- * and keep comment above the defines.
- * Use STRINGIFY() rather than defining with quotes */
-#define BLENDER_VERSION         277
-#define BLENDER_SUBVERSION      0
-/* Several breakages with 270, e.g. constraint deg vs rad */
-#define BLENDER_MINVERSION      270
-#define BLENDER_MINSUBVERSION   6
-
-/* used by packaging tools */
-/* can be left blank, otherwise a,b,c... etc with no quotes */
-#define BLENDER_VERSION_CHAR   
-/* alpha/beta/rc/release, docs use this */
-#define BLENDER_VERSION_CYCLE   alpha
-
-extern char versionstr[]; /* from blender.c */
-
-struct MemFile;
-struct bContext;
-struct ReportList;
-struct Scene;
-struct Main;
-struct ID;
-
-int BKE_read_file(struct bContext *C, const char *filepath, struct ReportList *reports);
-
-#define BKE_READ_FILE_FAIL              0 /* no load */
-#define BKE_READ_FILE_OK                1 /* OK */
-#define BKE_READ_FILE_OK_USERPREFS      2 /* OK, and with new user settings */
-
-bool BKE_read_file_from_memory(
-        struct bContext *C, const void *filebuf,
-        int filelength, struct ReportList *reports, bool update_defaults);
-bool BKE_read_file_from_memfile(
-        struct bContext *C, struct MemFile *memfile,
-        struct ReportList *reports);
-
-int BKE_read_file_userdef(const char *filepath, struct ReportList *reports);
-int BKE_write_file_userdef(const char *filepath, struct ReportList *reports);
-
-void free_blender(void);
-void initglobals(void);
+void BKE_blender_free(void);
+void BKE_blender_globals_init(void);
+void BKE_blender_globals_clear(void);
 
 /* load new userdef from file, exit blender */
 void BKE_userdef_free(void);
@@ -88,38 +49,10 @@ void BKE_userdef_state(void);
 	
 /* set this callback when a UI is running */
 void BKE_blender_callback_test_break_set(void (*func)(void));
-int blender_test_break(void);
-
-#define BKE_UNDO_STR_MAX 64
-
-/* global undo */
-extern void          BKE_undo_write(struct bContext *C, const char *name);
-extern void          BKE_undo_step(struct bContext *C, int step);
-extern void          BKE_undo_name(struct bContext *C, const char *name);
-extern bool          BKE_undo_is_valid(const char *name);
-extern void          BKE_undo_reset(void);
-extern void          BKE_undo_number(struct bContext *C, int nr);
-extern const char   *BKE_undo_get_name(int nr, bool *r_active);
-extern bool          BKE_undo_save_file(const char *filename);
-extern struct Main  *BKE_undo_get_main(struct Scene **r_scene);
-
-/* partial blend file writing */
-void BKE_blendfile_write_partial_tag_ID(struct ID *id, bool set);
-void BKE_blendfile_write_partial_begin(struct Main *bmain_src);
-bool BKE_blendfile_write_partial(
-        struct Main *bmain_src, const char *filepath, const int write_flags, struct ReportList *reports);
-void BKE_blendfile_write_partial_end(struct Main *bmain_src);
-
-
-/* copybuffer (wrapper for BKE_blendfile_write_partial) */
-void BKE_copybuffer_begin(struct Main *bmain_src);
-void BKE_copybuffer_tag_ID(struct ID *id);
-bool BKE_copybuffer_save(struct Main *bmain_src, const char *filename, struct ReportList *reports);
-bool BKE_copybuffer_paste(struct bContext *C, const char *libname, const short flag, struct ReportList *reports);
+int  BKE_blender_test_break(void);
 
 #ifdef __cplusplus
 }
 #endif
 
-#endif
-
+#endif  /* __BKE_BLENDER_H__ */
diff --git a/source/blender/blenkernel/BKE_blender_copybuffer.h b/source/blender/blenkernel/BKE_blender_copybuffer.h
new file mode 100644
index 0000000..2348a4e
--- /dev/null
+++ b/source/blender/blenkernel/BKE_blender_copybuffer.h
@@ -0,0 +1,47 @@
+/*
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * 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.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+#ifndef __BKE_BLENDER_COPYBUFFER_H__
+#define __BKE_BLENDER_COPYBUFFER_H__
+
+/** \file BKE_blender_copybuffer.h
+ *  \ingroup bke
+ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+struct bContext;
+struct ReportList;
+struct Scene;
+struct Main;
+struct ID;
+
+/* copybuffer (wrapper for BKE_blendfile_write_partial) */
+void BKE_copybuffer_begin(struct Main *bmain_src);
+void BKE_copybuffer_tag_ID(struct ID *id);
+bool BKE_copybuffer_save(struct Main *bmain_src, const char *filename, struct ReportList *reports);
+bool BKE_copybuffer_paste(struct bContext *C, const char *libname, const short flag, struct ReportList *reports);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif  /* __BKE_BLENDER_COPYBUFFER_H__ */
diff --git a/source/blender/blenkernel/BKE_blender_undo.h b/source/blender/blenkernel/BKE_blender_undo.h
new file mode 100644
index 0000000..cd18bd8d
--- /dev/null
+++ b/source/blender/blenkernel/BKE_blender_undo.h
@@ -0,0 +1,52 @@
+/*
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * 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 versio

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list