[Bf-blender-cvs] [6420f81e9d9] profiler-editor: initial boilerplate for new profiler space

Jacques Lucke noreply at git.blender.org
Thu Apr 29 11:30:45 CEST 2021


Commit: 6420f81e9d9672f5d05c459395ede5b71dc4754d
Author: Jacques Lucke
Date:   Mon Apr 26 16:22:03 2021 +0200
Branches: profiler-editor
https://developer.blender.org/rB6420f81e9d9672f5d05c459395ede5b71dc4754d

initial boilerplate for new profiler space

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

M	release/datafiles/userdef/userdef_default_theme.c
M	release/scripts/presets/interface_theme/Blender_Light.xml
M	source/blender/blenkernel/BKE_context.h
M	source/blender/blenkernel/intern/context.c
M	source/blender/blenkernel/intern/screen.c
M	source/blender/blenloader/intern/versioning_userdef.c
M	source/blender/editors/CMakeLists.txt
M	source/blender/editors/include/ED_space_api.h
M	source/blender/editors/interface/interface_template_search_menu.c
M	source/blender/editors/interface/resources.c
M	source/blender/editors/space_api/CMakeLists.txt
M	source/blender/editors/space_api/spacetypes.c
A	source/blender/editors/space_profiler/CMakeLists.txt
A	source/blender/editors/space_profiler/space_profiler.cc
M	source/blender/makesdna/DNA_space_types.h
M	source/blender/makesdna/DNA_userdef_types.h
M	source/blender/makesrna/RNA_access.h
M	source/blender/makesrna/intern/rna_space.c
M	source/blender/makesrna/intern/rna_userdef.c
M	source/blender/windowmanager/WM_types.h

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

diff --git a/release/datafiles/userdef/userdef_default_theme.c b/release/datafiles/userdef/userdef_default_theme.c
index 48e675492f9..f8631c9dcb0 100644
--- a/release/datafiles/userdef/userdef_default_theme.c
+++ b/release/datafiles/userdef/userdef_default_theme.c
@@ -1042,6 +1042,38 @@ const bTheme U_theme_default = {
     .edited_object = RGBA(0x00806266),
     .row_alternate = RGBA(0xffffff07),
   },
+  .space_profiler = {
+    .back = RGBA(0x28282800),
+    .title = RGBA(0xffffffff),
+    .text = RGBA(0xc3c3c3ff),
+    .text_hi = RGBA(0xffffffff),
+    .header = RGBA(0x454545ff),
+    .header_text = RGBA(0xeeeeeeff),
+    .header_text_hi = RGBA(0xffffffff),
+    .tab_active = RGBA(0x4b4b4bff),
+    .tab_inactive = RGBA(0x2b2b2bff),
+    .tab_back = RGBA(0x232323ff),
+    .tab_outline = RGBA(0x232323ff),
+    .button = RGBA(0x424242ff),
+    .button_title = RGBA(0xffffffff),
+    .button_text = RGBA(0xe5e5e5ff),
+    .button_text_hi = RGBA(0xffffffff),
+    .panelcolors = {
+      .header = RGBA(0x424242cc),
+      .back = RGBA(0x333333b3),
+      .sub_back = RGBA(0x0000003e),
+    },
+    .active = RGBA(0x3b5689ff),
+    .vertex_size = 3,
+    .outline_width = 1,
+    .facedot_size = 4,
+    .match = RGBA(0x337f334c),
+    .selected_highlight = RGBA(0x223a5bff),
+    .selected_object = RGBA(0xe96a00ff),
+    .active_object = RGBA(0xffaf29ff),
+    .edited_object = RGBA(0x00806266),
+    .row_alternate = RGBA(0xffffff07),
+  },
   .tarm = {
     {
       .solid = RGBA(0x9a0000ff),
diff --git a/release/scripts/presets/interface_theme/Blender_Light.xml b/release/scripts/presets/interface_theme/Blender_Light.xml
index e75d4334582..bccd4194eff 100644
--- a/release/scripts/presets/interface_theme/Blender_Light.xml
+++ b/release/scripts/presets/interface_theme/Blender_Light.xml
@@ -1352,6 +1352,42 @@
         </space>
       </ThemeSpreadsheet>
     </spreadsheet>
+    <profiler>
+      <ThemeProfiler
+        row_alternate="#ffffff0f"
+        >
+        <space>
+          <ThemeSpaceGeneric
+            back="#999999"
+            title="#000000"
+            text="#000000"
+            text_hi="#ffffff"
+            header="#adadadff"
+            header_text="#000000"
+            header_text_hi="#ffffff"
+            button="#999999e6"
+            button_title="#1a1a1a"
+            button_text="#000000"
+            button_text_hi="#ffffff"
+            navigation_bar="#00000000"
+            execution_buts="#999999e6"
+            tab_active="#6697e6"
+            tab_inactive="#cccccc"
+            tab_back="#999999ff"
+            tab_outline="#999999"
+            >
+            <panelcolors>
+              <ThemePanelColors
+                header="#42424200"
+                back="#00000028"
+                sub_back="#00000024"
+                >
+              </ThemePanelColors>
+            </panelcolors>
+          </ThemeSpaceGeneric>
+        </space>
+      </ThemeProfiler>
+    </profiler>
     <bone_color_sets>
       <ThemeBoneColorSet
         normal="#9a0000"
diff --git a/source/blender/blenkernel/BKE_context.h b/source/blender/blenkernel/BKE_context.h
index 50aa6027840..4693bbe0557 100644
--- a/source/blender/blenkernel/BKE_context.h
+++ b/source/blender/blenkernel/BKE_context.h
@@ -198,6 +198,7 @@ struct SpaceUserPref *CTX_wm_space_userpref(const bContext *C);
 struct SpaceClip *CTX_wm_space_clip(const bContext *C);
 struct SpaceTopBar *CTX_wm_space_topbar(const bContext *C);
 struct SpaceSpreadsheet *CTX_wm_space_spreadsheet(const bContext *C);
+struct SpaceProfiler *CTX_wm_space_profiler(const bContext *C);
 
 void CTX_wm_manager_set(bContext *C, struct wmWindowManager *wm);
 void CTX_wm_window_set(bContext *C, struct wmWindow *win);
diff --git a/source/blender/blenkernel/intern/context.c b/source/blender/blenkernel/intern/context.c
index 81830f5bb61..f1640f879f1 100644
--- a/source/blender/blenkernel/intern/context.c
+++ b/source/blender/blenkernel/intern/context.c
@@ -938,6 +938,15 @@ struct SpaceSpreadsheet *CTX_wm_space_spreadsheet(const bContext *C)
   return NULL;
 }
 
+struct SpaceProfiler *CTX_wm_space_profiler(const bContext *C)
+{
+  ScrArea *area = CTX_wm_area(C);
+  if (area && area->spacetype == SPACE_PROFILER) {
+    return area->spacedata.first;
+  }
+  return NULL;
+}
+
 void CTX_wm_manager_set(bContext *C, wmWindowManager *wm)
 {
   C->wm.manager = wm;
diff --git a/source/blender/blenkernel/intern/screen.c b/source/blender/blenkernel/intern/screen.c
index d0d63192ebf..60e45168dea 100644
--- a/source/blender/blenkernel/intern/screen.c
+++ b/source/blender/blenkernel/intern/screen.c
@@ -1384,6 +1384,9 @@ static void write_area(BlendWriter *writer, ScrArea *area)
         }
       }
     }
+    else if (sl->spacetype == SPACE_PROFILER) {
+      BLO_write_struct(writer, SpaceProfiler, sl);
+    }
   }
 }
 
diff --git a/source/blender/blenloader/intern/versioning_userdef.c b/source/blender/blenloader/intern/versioning_userdef.c
index be3834faa5a..9e07cabb22e 100644
--- a/source/blender/blenloader/intern/versioning_userdef.c
+++ b/source/blender/blenloader/intern/versioning_userdef.c
@@ -288,6 +288,8 @@ static void do_versions_theme(const UserDef *userdef, bTheme *btheme)
    */
   {
     /* Keep this block, even when empty. */
+
+    btheme->space_profiler = btheme->space_outliner;
   }
 
 #undef FROM_DEFAULT_V4_UCHAR
diff --git a/source/blender/editors/CMakeLists.txt b/source/blender/editors/CMakeLists.txt
index 092198cea86..29bf6b4c0a6 100644
--- a/source/blender/editors/CMakeLists.txt
+++ b/source/blender/editors/CMakeLists.txt
@@ -51,6 +51,7 @@ if(WITH_BLENDER)
   add_subdirectory(space_nla)
   add_subdirectory(space_node)
   add_subdirectory(space_outliner)
+  add_subdirectory(space_profiler)
   add_subdirectory(space_script)
   add_subdirectory(space_sequencer)
   add_subdirectory(space_spreadsheet)
diff --git a/source/blender/editors/include/ED_space_api.h b/source/blender/editors/include/ED_space_api.h
index 1a3aa7e5496..b96b5b222db 100644
--- a/source/blender/editors/include/ED_space_api.h
+++ b/source/blender/editors/include/ED_space_api.h
@@ -56,6 +56,7 @@ void ED_spacetype_clip(void);
 void ED_spacetype_statusbar(void);
 void ED_spacetype_topbar(void);
 void ED_spacetype_spreadsheet(void);
+void ED_spacetype_profiler(void);
 
 /* calls for instancing and freeing spacetype static data
  * called in WM_init_exit */
diff --git a/source/blender/editors/interface/interface_template_search_menu.c b/source/blender/editors/interface/interface_template_search_menu.c
index 91ad6619889..10eb68c8ff4 100644
--- a/source/blender/editors/interface/interface_template_search_menu.c
+++ b/source/blender/editors/interface/interface_template_search_menu.c
@@ -651,6 +651,7 @@ static struct MenuSearch_Data *menu_items_from_ui_create(
           SPACE_MENU_NOP(SPACE_STATUSBAR);
           SPACE_MENU_NOP(SPACE_TOPBAR);
           SPACE_MENU_NOP(SPACE_SPREADSHEET);
+          SPACE_MENU_NOP(SPACE_PROFILER);
         }
       }
       for (int i = 0; i < idname_array_len; i++) {
diff --git a/source/blender/editors/interface/resources.c b/source/blender/editors/interface/resources.c
index afac254f542..3b26c40b718 100644
--- a/source/blender/editors/interface/resources.c
+++ b/source/blender/editors/interface/resources.c
@@ -163,6 +163,9 @@ const uchar *UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colorid)
         case SPACE_SPREADSHEET:
           ts = &btheme->space_spreadsheet;
           break;
+        case SPACE_PROFILER:
+          ts = &btheme->space_profiler;
+          break;
         default:
           ts = &btheme->space_view3d;
           break;
diff --git a/source/blender/editors/space_api/CMakeLists.txt b/source/blender/editors/space_api/CMakeLists.txt
index 85c07223f2d..adc72f46744 100644
--- a/source/blender/editors/space_api/CMakeLists.txt
+++ b/source/blender/editors/space_api/CMakeLists.txt
@@ -48,6 +48,7 @@ set(LIB
   bf_editor_space_nla
   bf_editor_space_node
   bf_editor_space_outliner
+  bf_editor_space_profiler
   bf_editor_space_script
   bf_editor_space_sequencer
   bf_editor_space_spreadsheet
diff --git a/source/blender/editors/space_api/spacetypes.c b/source/blender/editors/space_api/spacetypes.c
index adb824b8934..c7b6bd39d24 100644
--- a/source/blender/editors/space_api/spacetypes.c
+++ b/source/blender/editors/space_api/spacetypes.c
@@ -96,6 +96,7 @@ void ED_spacetypes_init(void)
   ED_spacetype_statusbar();
   ED_spacetype_topbar();
   ED_spacetype_spreadsheet();
+  ED_spacetype_profiler();
 
   /* Register operator types for screen and all spaces. */
   ED_operatortypes_userpref();
diff --git a/source/blender/editors/space_api/CMakeLists.txt b/source/blender/editors/space_profiler/CMakeLists.txt
similarity index 60%
copy from source/blender/editors/space_api/CMakeLists.txt
copy to source/blender/editors/space_profiler/CMakeLists.txt
index 85c07223f2d..b4407a7d1e8 100644
--- a/source/blender/editors/space_api/CMakeLists.txt
+++ b/source/blender/editors/space_profiler/CMakeLists.txt
@@ -17,45 +17,20 @@
 
 set(INC
   ../include
-  ../io
   ../../blenkernel
   ../../blenlib
-  ../../gpu
   ../../makesdna
   ../../makesrna
   ../../windowmanager
+  ../../../../intern/glew-mx
   ../../../../intern/guardedalloc
 )
 
-set(INC_SYS
-
-)
-
 set(SRC
-  spacetypes.c
+  space_profiler.cc
 )
 
 set(LIB
-  bf_editor_geometry
-  bf_editor_space_action
-  bf_editor_space_buttons
-  bf_editor_space_clip
-  bf_editor_space_console
-  bf_editor_space_file
-  bf_editor_space_graph
-  bf_editor_space_image
-  bf_editor_space_info
-  bf_editor_space_nla
-  bf_editor_space_node
-  bf_editor_space_outliner
-  bf_editor_space_script
-  bf_editor_space_sequencer
-  bf_editor_space_spreadsheet
-  bf_editor_space_statusbar
-  bf_editor_space_text
-  bf_editor_space_topbar
-  bf_editor_space_userpref
-  bf_editor_space_view3d
 )
 
-blender_add_lib(bf_editor_space_api "${SRC}" "${INC}" "${INC_SYS}" "${LIB}")
+blender_add_lib(bf_editor_space_profiler "${SRC}" "${INC}" "${INC_SYS}" "${LIB}")
diff --git a/source/blender/editors/space_profiler/space_profiler.cc b/source/blender/editors/space_profiler/space_profiler.cc
new file mode 100644
index 00000000000..4bbdfbc9fe0
--- /dev/null
+++ b/source/blender/editors

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list