[Bf-blender-cvs] [794c0a09ebe] temp-spreadsheet-editor: spreadsheet background

Jacques Lucke noreply at git.blender.org
Mon Feb 22 13:12:49 CET 2021


Commit: 794c0a09ebe457bc392baaaa88dc8500043d5ea0
Author: Jacques Lucke
Date:   Mon Feb 22 12:53:30 2021 +0100
Branches: temp-spreadsheet-editor
https://developer.blender.org/rB794c0a09ebe457bc392baaaa88dc8500043d5ea0

spreadsheet background

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

M	source/blender/blenkernel/BKE_context.h
M	source/blender/blenkernel/intern/context.c
M	source/blender/editors/space_spreadsheet/space_spreadsheet.cc

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

diff --git a/source/blender/blenkernel/BKE_context.h b/source/blender/blenkernel/BKE_context.h
index 94392dd78da..3d30188e517 100644
--- a/source/blender/blenkernel/BKE_context.h
+++ b/source/blender/blenkernel/BKE_context.h
@@ -197,6 +197,7 @@ struct SpaceInfo *CTX_wm_space_info(const bContext *C);
 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);
 
 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 6bc385ecd31..cbf7a4483c0 100644
--- a/source/blender/blenkernel/intern/context.c
+++ b/source/blender/blenkernel/intern/context.c
@@ -914,6 +914,15 @@ struct SpaceTopBar *CTX_wm_space_topbar(const bContext *C)
   return NULL;
 }
 
+struct SpaceSpreadsheet *CTX_wm_space_spreadsheet(const bContext *C)
+{
+  ScrArea *area = CTX_wm_area(C);
+  if (area && area->spacetype == SPACE_SPREADSHEET) {
+    return area->spacedata.first;
+  }
+  return NULL;
+}
+
 void CTX_wm_manager_set(bContext *C, wmWindowManager *wm)
 {
   C->wm.manager = wm;
diff --git a/source/blender/editors/space_spreadsheet/space_spreadsheet.cc b/source/blender/editors/space_spreadsheet/space_spreadsheet.cc
index 9c263734e59..dcb9abdc376 100644
--- a/source/blender/editors/space_spreadsheet/space_spreadsheet.cc
+++ b/source/blender/editors/space_spreadsheet/space_spreadsheet.cc
@@ -30,18 +30,22 @@
 
 #include "MEM_guardedalloc.h"
 
+#include "UI_interface.h"
+#include "UI_resources.h"
+#include "UI_view2d.h"
+
 #include "spreadsheet_intern.hh"
 
 static SpaceLink *spreadsheet_create(const ScrArea *UNUSED(area), const Scene *UNUSED(scene))
 {
-  SpaceSpreadsheet *sspreadsheet = (SpaceSpreadsheet *)MEM_callocN(sizeof(SpaceSpreadsheet),
-                                                                   "spreadsheet space");
-  sspreadsheet->spacetype = SPACE_SPREADSHEET;
+  SpaceSpreadsheet *spreadsheet_space = (SpaceSpreadsheet *)MEM_callocN(sizeof(SpaceSpreadsheet),
+                                                                        "spreadsheet space");
+  spreadsheet_space->spacetype = SPACE_SPREADSHEET;
 
   {
     /* header */
     ARegion *region = (ARegion *)MEM_callocN(sizeof(ARegion), "spreadsheet header");
-    BLI_addtail(&sspreadsheet->regionbase, region);
+    BLI_addtail(&spreadsheet_space->regionbase, region);
     region->regiontype = RGN_TYPE_HEADER;
     region->alignment = (U.uiflag & USER_HEADER_BOTTOM) ? RGN_ALIGN_BOTTOM : RGN_ALIGN_TOP;
   }
@@ -49,11 +53,11 @@ static SpaceLink *spreadsheet_create(const ScrArea *UNUSED(area), const Scene *U
   {
     /* main window */
     ARegion *region = (ARegion *)MEM_callocN(sizeof(ARegion), "spreadsheet main region");
-    BLI_addtail(&sspreadsheet->regionbase, region);
+    BLI_addtail(&spreadsheet_space->regionbase, region);
     region->regiontype = RGN_TYPE_WINDOW;
   }
 
-  return (SpaceLink *)sspreadsheet;
+  return (SpaceLink *)spreadsheet_space;
 }
 
 static void spreadsheet_free(SpaceLink *UNUSED(sl))
@@ -77,8 +81,11 @@ static void spreadsheet_main_region_init(wmWindowManager *UNUSED(wm), ARegion *U
 {
 }
 
-static void spreadsheet_main_region_draw(const bContext *UNUSED(C), ARegion *UNUSED(region))
+static void spreadsheet_main_region_draw(const bContext *C, ARegion *UNUSED(region))
 {
+  SpaceSpreadsheet *spreadsheet_space = CTX_wm_space_spreadsheet(C);
+
+  UI_ThemeClearColor(TH_BACK);
 }
 
 static void spreadsheet_header_region_init(wmWindowManager *UNUSED(wm), ARegion *region)



More information about the Bf-blender-cvs mailing list