[Bf-blender-cvs] [2269759fdf9] master: UI: add theme option for grid levels to display in node editor background

Pawel Franitza noreply at git.blender.org
Fri Feb 28 14:24:54 CET 2020


Commit: 2269759fdf94cb7017685e4ce3f7677b3d8227ae
Author: Pawel Franitza
Date:   Fri Feb 28 14:07:21 2020 +0100
Branches: master
https://developer.blender.org/rB2269759fdf94cb7017685e4ce3f7677b3d8227ae

UI: add theme option for grid levels to display in node editor background

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

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

M	release/datafiles/userdef/userdef_default_theme.c
M	release/scripts/presets/interface_theme/blender_light.xml
M	source/blender/blenloader/intern/versioning_userdef.c
M	source/blender/editors/include/UI_resources.h
M	source/blender/editors/interface/resources.c
M	source/blender/editors/space_node/node_draw.c
M	source/blender/makesdna/DNA_userdef_types.h
M	source/blender/makesrna/intern/rna_userdef.c

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

diff --git a/release/datafiles/userdef/userdef_default_theme.c b/release/datafiles/userdef/userdef_default_theme.c
index 3ad2da99b9f..97299a8edec 100644
--- a/release/datafiles/userdef/userdef_default_theme.c
+++ b/release/datafiles/userdef/userdef_default_theme.c
@@ -827,6 +827,7 @@ const bTheme U_theme_default = {
     .nodeclass_pattern = RGBA(0x6c696fff),
     .nodeclass_layout = RGBA(0x6c696fff),
     .movie = RGBA(0x1a1a1acc),
+    .grid_levels = 2,
     .gp_vertex_size = 3,
     .gp_vertex = RGBA(0x97979700),
     .gp_vertex_select = RGBA(0xff8500ff),
diff --git a/release/scripts/presets/interface_theme/blender_light.xml b/release/scripts/presets/interface_theme/blender_light.xml
index dee7d2d2c59..cc4087f3eea 100644
--- a/release/scripts/presets/interface_theme/blender_light.xml
+++ b/release/scripts/presets/interface_theme/blender_light.xml
@@ -920,6 +920,7 @@
         matte_node="#977474"
         distor_node="#749797"
         noodle_curving="0"
+        grid_levels="2"
         input_node="#ff6675"
         output_node="#ff6675"
         filter_node="#6c696f"
diff --git a/source/blender/blenloader/intern/versioning_userdef.c b/source/blender/blenloader/intern/versioning_userdef.c
index f70988c9277..2fefa56fbe5 100644
--- a/source/blender/blenloader/intern/versioning_userdef.c
+++ b/source/blender/blenloader/intern/versioning_userdef.c
@@ -188,6 +188,10 @@ static void do_versions_theme(const UserDef *userdef, bTheme *btheme)
     FROM_DEFAULT_V4_UCHAR(space_clip.time_marker_line_selected);
   }
 
+  if (!USER_VERSION_ATLEAST(283, 6)) {
+    btheme->space_node.grid_levels = U_theme_default.space_node.grid_levels;
+  }
+
   /**
    * Versioning code until next subversion bump goes here.
    *
diff --git a/source/blender/editors/include/UI_resources.h b/source/blender/editors/include/UI_resources.h
index 10ca89c8222..8730d945c81 100644
--- a/source/blender/editors/include/UI_resources.h
+++ b/source/blender/editors/include/UI_resources.h
@@ -231,6 +231,7 @@ typedef enum ThemeColorID {
   TH_DRAWEXTRA_FACEANG,
 
   TH_NODE_CURVING,
+  TH_NODE_GRID_LEVELS,
 
   TH_MARKER_OUTLINE,
   TH_MARKER,
diff --git a/source/blender/editors/interface/resources.c b/source/blender/editors/interface/resources.c
index cdbd049346e..4d8bfe6b418 100644
--- a/source/blender/editors/interface/resources.c
+++ b/source/blender/editors/interface/resources.c
@@ -640,6 +640,9 @@ const uchar *UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colorid)
         case TH_NODE_CURVING:
           cp = &ts->noodle_curving;
           break;
+        case TH_NODE_GRID_LEVELS:
+          cp = &ts->grid_levels;
+          break;
 
         case TH_SEQ_MOVIE:
           cp = ts->movie;
diff --git a/source/blender/editors/space_node/node_draw.c b/source/blender/editors/space_node/node_draw.c
index d9e1216e1bb..91a42de05f2 100644
--- a/source/blender/editors/space_node/node_draw.c
+++ b/source/blender/editors/space_node/node_draw.c
@@ -1691,6 +1691,8 @@ void drawnodespace(const bContext *C, ARegion *ar)
   snode->cursor[0] /= UI_DPI_FAC;
   snode->cursor[1] /= UI_DPI_FAC;
 
+  int grid_levels = UI_GetThemeValueType(TH_NODE_GRID_LEVELS, SPACE_NODE);
+
   ED_region_draw_cb_draw(C, ar, REGION_DRAW_PRE_VIEW);
 
   /* only set once */
@@ -1753,8 +1755,11 @@ void drawnodespace(const bContext *C, ARegion *ar)
       snode_setup_v2d(snode, ar, center);
 
       /* grid, uses theme color based on node path depth */
-      UI_view2d_multi_grid_draw(
-          v2d, (depth > 0 ? TH_NODE_GROUP : TH_BACK), ED_node_grid_size(), NODE_GRID_STEPS, 2);
+      UI_view2d_multi_grid_draw(v2d,
+                                (depth > 0 ? TH_NODE_GROUP : TH_BACK),
+                                ED_node_grid_size(),
+                                NODE_GRID_STEPS,
+                                grid_levels);
 
       /* backdrop */
       draw_nodespace_back_pix(C, ar, snode, path->parent_key);
@@ -1795,7 +1800,7 @@ void drawnodespace(const bContext *C, ARegion *ar)
   }
   else {
     /* default grid */
-    UI_view2d_multi_grid_draw(v2d, TH_BACK, ED_node_grid_size(), NODE_GRID_STEPS, 2);
+    UI_view2d_multi_grid_draw(v2d, TH_BACK, ED_node_grid_size(), NODE_GRID_STEPS, grid_levels);
 
     /* backdrop */
     draw_nodespace_back_pix(C, ar, snode, NODE_INSTANCE_KEY_NONE);
diff --git a/source/blender/makesdna/DNA_userdef_types.h b/source/blender/makesdna/DNA_userdef_types.h
index d0d966381d1..e79d4ccae3a 100644
--- a/source/blender/makesdna/DNA_userdef_types.h
+++ b/source/blender/makesdna/DNA_userdef_types.h
@@ -315,6 +315,7 @@ typedef struct ThemeSpace {
 
   unsigned char vertex_size, outline_width, obcenter_dia, facedot_size;
   unsigned char noodle_curving;
+  unsigned char grid_levels;
 
   /* syntax for textwindow and nodes */
   unsigned char syntaxl[4], syntaxs[4];  // in nodespace used for backdrop matte
@@ -323,7 +324,7 @@ typedef struct ThemeSpace {
   unsigned char syntaxd[4], syntaxr[4];  // in nodespace used for distort
 
   unsigned char line_numbers[4];
-  char _pad6[4];
+  char _pad6[3];
 
   unsigned char nodeclass_output[4], nodeclass_filter[4];
   unsigned char nodeclass_vector[4], nodeclass_texture[4];
diff --git a/source/blender/makesrna/intern/rna_userdef.c b/source/blender/makesrna/intern/rna_userdef.c
index 3e223d613b8..4b2a512c010 100644
--- a/source/blender/makesrna/intern/rna_userdef.c
+++ b/source/blender/makesrna/intern/rna_userdef.c
@@ -2817,6 +2817,14 @@ static void rna_def_userdef_theme_space_node(BlenderRNA *brna)
   RNA_def_property_ui_text(prop, "Noodle curving", "Curving of the noodle");
   RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
 
+  prop = RNA_def_property(srna, "grid_levels", PROP_INT, PROP_NONE);
+  RNA_def_property_int_sdna(prop, NULL, "grid_levels");
+  RNA_def_property_int_default(prop, 2);
+  RNA_def_property_range(prop, 0, 2);
+  RNA_def_property_ui_text(
+      prop, "Grid levels", "Amount of grid lines displayed in the background");
+  RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
+
   prop = RNA_def_property(srna, "input_node", PROP_FLOAT, PROP_COLOR_GAMMA);
   RNA_def_property_float_sdna(prop, NULL, "syntaxn");
   RNA_def_property_array(prop, 3);



More information about the Bf-blender-cvs mailing list