[Bf-blender-cvs] [0d39a424fdf] temp-vse-grid-lines: VSE: Don't draw time grid lines

Richard Antalik noreply at git.blender.org
Tue Jul 27 18:30:43 CEST 2021


Commit: 0d39a424fdf293affc7e44181496d480e3088379
Author: Richard Antalik
Date:   Tue Jul 27 17:40:53 2021 +0200
Branches: temp-vse-grid-lines
https://developer.blender.org/rB0d39a424fdf293affc7e44181496d480e3088379

VSE: Don't draw time grid lines

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.

{F10224091,size=full}

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/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..cd79ee05f67 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(0x363636ff),
     .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 55714e0b0a5..1354cac1d60 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/blenloader/intern/versioning_300.c b/source/blender/blenloader/intern/versioning_300.c
index 3c58c29c162..7e54644af13 100644
--- a/source/blender/blenloader/intern/versioning_300.c
+++ b/source/blender/blenloader/intern/versioning_300.c
@@ -540,5 +540,16 @@ void blo_do_versions_300(FileData *fd, Library *UNUSED(lib), Main *bmain)
    */
   {
     /* Keep this block, even when empty. */
+
+    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;
+          }
+        }
+      }
+    }
   }
 }
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 42b27f57e2c..743d12d9456 100644
--- a/source/blender/blenloader/intern/versioning_userdef.c
+++ b/source/blender/blenloader/intern/versioning_userdef.c
@@ -297,6 +297,8 @@ static void do_versions_theme(const UserDef *userdef, bTheme *btheme)
    */
   {
     /* Keep this block, even when empty. */
+    copy_v4_uchar(btheme->space_sequencer.grid, 54);
+    btheme->space_sequencer.grid[3] = 255;
   }
 
 #undef FROM_DEFAULT_V4_UCHAR
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 e9804840801..c68b09ab941 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 f7ef8c06389..51294fe246f 100644
--- a/source/blender/editors/interface/view2d_draw.c
+++ b/source/blender/editors/interface/view2d_draw.c
@@ -460,10 +460,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)
@@ -478,21 +479,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,
-                                                        bool display_seconds)
+                                                        bool display_seconds,
+                                                        bool display_minor_lines)
 {
   if (display_seconds) {
-    UI_view2d_draw_lines_x__discrete_time(v2d, scene);
+    UI_view2d_draw_lines_x__discrete_time(v2d, scene, display_minor_lines);
   }
   else {
-    UI_view2d_draw_lines_x__discrete_values(v2d);
+    UI_view2d_draw_lines_x__discrete_values(v2d, display_minor_lines);
   }
 }
 
@@ -501,7 +506,7 @@ void UI_view2d_draw_lines_x__frames_or_seconds(const View2D *v2d,
                                                bool display_seconds)
 {
   if (display_seconds) {
-    UI_view2d_draw_lines_x__discrete_time(v2d, scene);
+    UI_view2d_draw_lines_x__discrete_time(

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list