[Bf-blender-cvs] [0491052a969] master: VSE: Change grid line drawing

Richard Antalik noreply at git.blender.org
Thu Jul 29 11:39:41 CEST 2021


Commit: 0491052a9697a706b4cd14a1f478180ad6fb8c75
Author: Richard Antalik
Date:   Thu Jul 29 11:35:48 2021 +0200
Branches: master
https://developer.blender.org/rB0491052a9697a706b4cd14a1f478180ad6fb8c75

VSE: Change grid line drawing

Add overlay option to disable grid drawing.
Reuse drawing code from other editors (timeline editor)
Add argument `display_minor_lines` to function
`UI_view2d_draw_lines_x__discrete_frames_or_seconds`
This way minor line drawing can be disabled and so it doesn't cause
too much visual noise. Also spacing seems to be too fine, so VSE uses 3x
what is defined in preferences.

Reviewed By: fsiddi, Severin

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

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

M	release/datafiles/userdef/userdef_default_theme.c
M	release/scripts/startup/bl_ui/space_sequencer.py
M	source/blender/blenkernel/BKE_blender_version.h
M	source/blender/blenloader/intern/versioning_300.c
M	source/blender/blenloader/intern/versioning_defaults.c
M	source/blender/blenloader/intern/versioning_userdef.c
M	source/blender/editors/include/UI_view2d.h
M	source/blender/editors/interface/view2d.c
M	source/blender/editors/interface/view2d_draw.c
M	source/blender/editors/space_action/space_action.c
M	source/blender/editors/space_clip/space_clip.c
M	source/blender/editors/space_nla/space_nla.c
M	source/blender/editors/space_sequencer/sequencer_draw.c
M	source/blender/editors/space_sequencer/space_sequencer.c
M	source/blender/makesdna/DNA_space_types.h
M	source/blender/makesrna/intern/rna_space.c

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

diff --git a/release/datafiles/userdef/userdef_default_theme.c b/release/datafiles/userdef/userdef_default_theme.c
index 441a92127ea..85532d01d5c 100644
--- a/release/datafiles/userdef/userdef_default_theme.c
+++ b/release/datafiles/userdef/userdef_default_theme.c
@@ -638,7 +638,7 @@ const bTheme U_theme_default = {
       .sub_back = RGBA(0x0000003e),
     },
     .shade1 = RGBA(0xa0a0a000),
-    .grid = RGBA(0x404040ff),
+    .grid = RGBA(0x212121ff),
     .vertex_select = RGBA(0xff8500ff),
     .bone_pose = RGBA(0x50c8ff50),
     .cframe = RGBA(0x5680c2ff),
diff --git a/release/scripts/startup/bl_ui/space_sequencer.py b/release/scripts/startup/bl_ui/space_sequencer.py
index c9b38fbf095..30467521c3d 100644
--- a/release/scripts/startup/bl_ui/space_sequencer.py
+++ b/release/scripts/startup/bl_ui/space_sequencer.py
@@ -263,6 +263,7 @@ class SEQUENCER_PT_sequencer_overlay(Panel):
 
         layout.prop(st, "show_strip_offset", text="Offsets")
         layout.prop(st, "show_fcurves", text="F-Curves")
+        layout.prop(st, "show_grid", text="Grid")
 
         layout.separator()
 
diff --git a/source/blender/blenkernel/BKE_blender_version.h b/source/blender/blenkernel/BKE_blender_version.h
index 62700d0647f..e76e3ed8fe0 100644
--- a/source/blender/blenkernel/BKE_blender_version.h
+++ b/source/blender/blenkernel/BKE_blender_version.h
@@ -39,7 +39,7 @@ extern "C" {
 
 /* Blender file format version. */
 #define BLENDER_FILE_VERSION BLENDER_VERSION
-#define BLENDER_FILE_SUBVERSION 14
+#define BLENDER_FILE_SUBVERSION 15
 
 /* Minimum Blender version that supports reading file written with the current
  * version. Older Blender versions will test this and show a warning if the file
diff --git a/source/blender/blenloader/intern/versioning_300.c b/source/blender/blenloader/intern/versioning_300.c
index fb22a88c28e..95440f78cd2 100644
--- a/source/blender/blenloader/intern/versioning_300.c
+++ b/source/blender/blenloader/intern/versioning_300.c
@@ -678,6 +678,19 @@ void blo_do_versions_300(FileData *fd, Library *UNUSED(lib), Main *bmain)
     }
   }
 
+  if (!MAIN_VERSION_ATLEAST(bmain, 300, 15)) {
+    LISTBASE_FOREACH (bScreen *, screen, &bmain->screens) {
+      LISTBASE_FOREACH (ScrArea *, area, &screen->areabase) {
+        LISTBASE_FOREACH (SpaceLink *, sl, &area->spacedata) {
+          if (sl->spacetype == SPACE_SEQ) {
+            SpaceSeq *sseq = (SpaceSeq *)sl;
+            sseq->flag |= SEQ_SHOW_GRID;
+          }
+        }
+      }
+    }
+  }
+
   /**
    * Versioning code until next subversion bump goes here.
    *
diff --git a/source/blender/blenloader/intern/versioning_defaults.c b/source/blender/blenloader/intern/versioning_defaults.c
index 10b24532014..6b54600f915 100644
--- a/source/blender/blenloader/intern/versioning_defaults.c
+++ b/source/blender/blenloader/intern/versioning_defaults.c
@@ -183,7 +183,7 @@ static void blo_update_defaults_screen(bScreen *screen,
     else if (area->spacetype == SPACE_SEQ) {
       SpaceSeq *seq = area->spacedata.first;
       seq->flag |= SEQ_SHOW_MARKERS | SEQ_SHOW_FCURVES | SEQ_ZOOM_TO_FIT | SEQ_SHOW_STRIP_OVERLAY |
-                   SEQ_SHOW_STRIP_SOURCE | SEQ_SHOW_STRIP_NAME | SEQ_SHOW_STRIP_DURATION;
+                   SEQ_SHOW_STRIP_SOURCE | SEQ_SHOW_STRIP_NAME | SEQ_SHOW_STRIP_DURATION | SEQ_SHOW_GRID;
 
       seq->render_size = SEQ_RENDER_SIZE_PROXY_100;
       seq->flag |= SEQ_USE_PROXIES;
diff --git a/source/blender/blenloader/intern/versioning_userdef.c b/source/blender/blenloader/intern/versioning_userdef.c
index 152dcbed6a4..c409f0a71fc 100644
--- a/source/blender/blenloader/intern/versioning_userdef.c
+++ b/source/blender/blenloader/intern/versioning_userdef.c
@@ -286,6 +286,11 @@ static void do_versions_theme(const UserDef *userdef, bTheme *btheme)
     FROM_DEFAULT_V4_UCHAR(space_spreadsheet.selected_highlight);
   }
 
+  if (!USER_VERSION_ATLEAST(300, 15)) {
+    copy_v4_uchar(btheme->space_sequencer.grid, 33);
+    btheme->space_sequencer.grid[3] = 255;
+  }
+
   /**
    * Versioning code until next subversion bump goes here.
    *
diff --git a/source/blender/editors/include/UI_view2d.h b/source/blender/editors/include/UI_view2d.h
index 8191a9a9062..4ee7df89487 100644
--- a/source/blender/editors/include/UI_view2d.h
+++ b/source/blender/editors/include/UI_view2d.h
@@ -143,17 +143,19 @@ void UI_view2d_view_orthoSpecial(struct ARegion *region, struct View2D *v2d, con
 void UI_view2d_view_restore(const struct bContext *C);
 
 /* grid drawing */
-void UI_view2d_constant_grid_draw(const struct View2D *v2d, float step);
 void UI_view2d_multi_grid_draw(
     const struct View2D *v2d, int colorid, float step, int level_size, int totlevels);
 
 void UI_view2d_draw_lines_y__values(const struct View2D *v2d);
 void UI_view2d_draw_lines_x__values(const struct View2D *v2d);
-void UI_view2d_draw_lines_x__discrete_values(const struct View2D *v2d);
-void UI_view2d_draw_lines_x__discrete_time(const struct View2D *v2d, const struct Scene *scene);
+void UI_view2d_draw_lines_x__discrete_values(const struct View2D *v2d, bool display_minor_lines);
+void UI_view2d_draw_lines_x__discrete_time(const struct View2D *v2d,
+                                           const struct Scene *scene,
+                                           bool display_minor_lines);
 void UI_view2d_draw_lines_x__discrete_frames_or_seconds(const struct View2D *v2d,
                                                         const struct Scene *scene,
-                                                        bool display_seconds);
+                                                        bool display_seconds,
+                                                        bool display_minor_lines);
 void UI_view2d_draw_lines_x__frames_or_seconds(const struct View2D *v2d,
                                                const struct Scene *scene,
                                                bool display_seconds);
diff --git a/source/blender/editors/interface/view2d.c b/source/blender/editors/interface/view2d.c
index db2766f1b19..23c8a0d35bf 100644
--- a/source/blender/editors/interface/view2d.c
+++ b/source/blender/editors/interface/view2d.c
@@ -1194,78 +1194,6 @@ void UI_view2d_view_restore(const bContext *C)
 /** \name Grid-Line Drawing
  * \{ */
 
-/* Draw a constant grid in given 2d-region */
-void UI_view2d_constant_grid_draw(const View2D *v2d, float step)
-{
-  float start_x, start_y;
-  int count_x, count_y;
-
-  start_x = v2d->cur.xmin;
-  if (start_x < 0.0) {
-    start_x += -(float)fmod(v2d->cur.xmin, step);
-  }
-  else {
-    start_x += (step - (float)fmod(v2d->cur.xmin, step));
-  }
-
-  if (start_x > v2d->cur.xmax) {
-    count_x = 0;
-  }
-  else {
-    count_x = (v2d->cur.xmax - start_x) / step + 1;
-  }
-
-  start_y = v2d->cur.ymin;
-  if (start_y < 0.0) {
-    start_y += -(float)fmod(v2d->cur.ymin, step);
-  }
-  else {
-    start_y += (step - (float)fabs(fmod(v2d->cur.ymin, step)));
-  }
-
-  if (start_y > v2d->cur.ymax) {
-    count_y = 0;
-  }
-  else {
-    count_y = (v2d->cur.ymax - start_y) / step + 1;
-  }
-
-  if (count_x > 0 || count_y > 0) {
-    GPUVertFormat *format = immVertexFormat();
-    const uint pos = GPU_vertformat_attr_add(format, "pos", GPU_COMP_F32, 2, GPU_FETCH_FLOAT);
-    const uint color = GPU_vertformat_attr_add(format, "color", GPU_COMP_F32, 3, GPU_FETCH_FLOAT);
-    float theme_color[3];
-
-    UI_GetThemeColorShade3fv(TH_BACK, -10, theme_color);
-
-    immBindBuiltinProgram(GPU_SHADER_2D_FLAT_COLOR);
-    immBegin(GPU_PRIM_LINES, count_x * 2 + count_y * 2 + 4);
-
-    immAttr3fv(color, theme_color);
-    for (int i = 0; i < count_x; start_x += step, i++) {
-      immVertex2f(pos, start_x, v2d->cur.ymin);
-      immVertex2f(pos, start_x, v2d->cur.ymax);
-    }
-
-    for (int i = 0; i < count_y; start_y += step, i++) {
-      immVertex2f(pos, v2d->cur.xmin, start_y);
-      immVertex2f(pos, v2d->cur.xmax, start_y);
-    }
-
-    /* X and Y axis */
-    UI_GetThemeColorShade3fv(TH_BACK, -18, theme_color);
-
-    immAttr3fv(color, theme_color);
-    immVertex2f(pos, 0.0f, v2d->cur.ymin);
-    immVertex2f(pos, 0.0f, v2d->cur.ymax);
-    immVertex2f(pos, v2d->cur.xmin, 0.0f);
-    immVertex2f(pos, v2d->cur.xmax, 0.0f);
-
-    immEnd();
-    immUnbindProgram();
-  }
-}
-
 /* Draw a multi-level grid in given 2d-region */
 void UI_view2d_multi_grid_draw(
     const View2D *v2d, int colorid, float step, int level_size, int totlevels)
diff --git a/source/blender/editors/interface/view2d_draw.c b/source/blender/editors/interface/view2d_draw.c
index 37c84b707fd..a9393b3a6e7 100644
--- a/source/blender/editors/interface/view2d_draw.c
+++ b/source/blender/editors/interface/view2d_draw.c
@@ -480,10 +480,11 @@ float UI_view2d_grid_resolution_y__values(const struct View2D *v2d)
 /* Line Drawing API
  **************************************************/
 
-void UI_view2d_draw_lines_x__discrete_values(const View2D *v2d)
+void UI_view2d_draw_lines_x__discrete_values(const View2D *v2d, bool display_minor_lines)
 {
   const uint major_line_distance = view2d_major_step_x__discrete(v2d);
-  view2d_draw_lines(v2d, major_line_distance, major_line_distance > 1, 'v');
+  view2d_draw_lines(
+      v2d, major_line_distance, display_minor_lines && (major_line_distance > 1), 'v');
 }
 
 void UI_view2d_draw_lines_x__values(const View2D *v2d)
@@ -498,21 +499,25 @@ void UI_view2d_draw_lines_y__values(const View2D *v2d)
   view2d_draw_lines(v2d, major_line_distance, true, 'h');
 }
 
-void UI_view2d_draw_lines_x__discrete_time(const View2D *v2d, const Scene *scene)
+void UI_view2d_draw_lines_x__discrete_time(const View2D *v2d,
+                                           const Scene *scene,
+                                           bool display_minor_lines)
 {
   const float major_line_distance = view2d_major_step_x__time(v2d, scene);
-  view2d_draw_lines(v2d, major_line_distance, major_line_distance > 1, 'v');
+  view2d_draw_lines(
+      v2d, major_line_distance, display_minor_lines && (major_line_distance > 1), 'v');
 }
 
 void UI_view2d_draw_lines_x__discrete_frames_or_seconds(const View2D *v2d,
                                                         const Scene *scene,
-                                                  

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list