[Bf-blender-cvs] [4def6e80728] master: Icons: Programmatically create indirect library icon, remove from SVG

Julian Eisel noreply at git.blender.org
Tue Mar 29 14:42:13 CEST 2022


Commit: 4def6e80728a120977f869b475251b133d88e4ab
Author: Julian Eisel
Date:   Tue Mar 29 14:36:06 2022 +0200
Branches: master
https://developer.blender.org/rB4def6e80728a120977f869b475251b133d88e4ab

Icons: Programmatically create indirect library icon, remove from SVG

The indirect library data icon was just a grayed out version of the
regular one. This graying out is now done in code, so the icon can be
removed from the SVG. Note that the icon is still defined as
`ICON_LIBRARY_DATA_INDIRECT` (or `LIBRARY_DATA_INDIRECT` in BPY).

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

M	release/datafiles/blender_icons.svg
D	release/datafiles/blender_icons16/icon16_library_data_indirect.dat
D	release/datafiles/blender_icons32/icon32_library_data_indirect.dat
M	source/blender/editors/datafiles/CMakeLists.txt
M	source/blender/editors/include/UI_icons.h
M	source/blender/editors/interface/interface_icons.c

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

diff --git a/release/datafiles/blender_icons.svg b/release/datafiles/blender_icons.svg
index 6de808a9386..d3df024aa48 100644
--- a/release/datafiles/blender_icons.svg
+++ b/release/datafiles/blender_icons.svg
@@ -12431,11 +12431,6 @@
          id="path24010-2"
          inkscape:connector-curvature="0" />
     </g>
-    <path
-       style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:norma [...]
-       d="m 310.57031,473.01758 c -0.79787,-0.038 -1.57177,0.27684 -2.16015,0.86523 l -1.48633,1.48828 c -0.61577,0.57533 -0.93433,1.35407 -0.89258,2.1543 a 0.50005,0.50005 0 1 0 0.99805,-0.0508 c -0.0269,-0.51495 0.15566,-0.98016 0.57617,-1.37305 a 0.50005,0.50005 0 0 0 0.0117,-0.0117 l 1.5,-1.5 c 0.41161,-0.41161 0.88966,-0.59872 1.40429,-0.57422 0.51464,0.0245 1.08439,0.26993 1.63868,0.82422 0.55479,0.5548 0.80954,1.13546 0.83789,1.65235 0.0283,0.51688 -0.15241,0.9848 -0.57422,1.3789  [...]
-       id="path23281"
-       inkscape:connector-curvature="0" />
     <g
        style="display:inline;fill:#ffffff;enable-background:new"
        id="g23341"
diff --git a/release/datafiles/blender_icons16/icon16_library_data_indirect.dat b/release/datafiles/blender_icons16/icon16_library_data_indirect.dat
deleted file mode 100644
index 78c012bb755..00000000000
Binary files a/release/datafiles/blender_icons16/icon16_library_data_indirect.dat and /dev/null differ
diff --git a/release/datafiles/blender_icons32/icon32_library_data_indirect.dat b/release/datafiles/blender_icons32/icon32_library_data_indirect.dat
deleted file mode 100644
index bc8198d8a5b..00000000000
Binary files a/release/datafiles/blender_icons32/icon32_library_data_indirect.dat and /dev/null differ
diff --git a/source/blender/editors/datafiles/CMakeLists.txt b/source/blender/editors/datafiles/CMakeLists.txt
index d58bbec01cd..e820423cdff 100644
--- a/source/blender/editors/datafiles/CMakeLists.txt
+++ b/source/blender/editors/datafiles/CMakeLists.txt
@@ -191,7 +191,6 @@ set(ICON_NAMES
   library_data_broken
   boids
   strands
-  library_data_indirect
   greasepencil
   line_data
   library_data_override
diff --git a/source/blender/editors/include/UI_icons.h b/source/blender/editors/include/UI_icons.h
index a560208ac1e..8607c6d242c 100644
--- a/source/blender/editors/include/UI_icons.h
+++ b/source/blender/editors/include/UI_icons.h
@@ -246,7 +246,7 @@ DEF_ICON(RENDER_STILL)
 DEF_ICON(LIBRARY_DATA_BROKEN)
 DEF_ICON(BOIDS)
 DEF_ICON(STRANDS)
-DEF_ICON(LIBRARY_DATA_INDIRECT)
+DEF_ICON_BLANK(263)
 DEF_ICON(GREASEPENCIL)
 DEF_ICON_SHADING(LINE_DATA)
 DEF_ICON(LIBRARY_DATA_OVERRIDE)
@@ -981,6 +981,8 @@ DEF_ICON_VECTOR(SEQUENCE_COLOR_07)
 DEF_ICON_VECTOR(SEQUENCE_COLOR_08)
 DEF_ICON_VECTOR(SEQUENCE_COLOR_09)
 
+DEF_ICON_VECTOR(LIBRARY_DATA_INDIRECT)
+
 /* Events. */
 DEF_ICON_COLOR(EVENT_A)
 DEF_ICON_COLOR(EVENT_B)
diff --git a/source/blender/editors/interface/interface_icons.c b/source/blender/editors/interface/interface_icons.c
index 07e4f6c2a24..887781beda1 100644
--- a/source/blender/editors/interface/interface_icons.c
+++ b/source/blender/editors/interface/interface_icons.c
@@ -465,6 +465,17 @@ DEF_ICON_STRIP_COLOR_DRAW(09, SEQUENCE_COLOR_09);
 
 #  undef DEF_ICON_STRIP_COLOR_DRAW
 
+#  define ICON_INDIRECT_DATA_ALPHA 0.6f
+
+static void vicon_strip_color_draw_library_data_indirect(
+    int x, int y, int w, int UNUSED(h), float alpha)
+{
+  const float aspect = (float)ICON_DEFAULT_WIDTH / (float)w;
+
+  UI_icon_draw_ex(
+      x, y, ICON_LIBRARY_DATA_DIRECT, aspect, ICON_INDIRECT_DATA_ALPHA * alpha, 0.0f, NULL, false);
+}
+
 /* Dynamically render icon instead of rendering a plain color to a texture/buffer
  * This is not strictly a "vicon", as it needs access to icon->obj to get the color info,
  * but it works in a very similar way.
@@ -974,6 +985,8 @@ static void init_internal_icons(void)
   def_internal_vicon(ICON_SEQUENCE_COLOR_07, vicon_strip_color_draw_07);
   def_internal_vicon(ICON_SEQUENCE_COLOR_08, vicon_strip_color_draw_08);
   def_internal_vicon(ICON_SEQUENCE_COLOR_09, vicon_strip_color_draw_09);
+
+  def_internal_vicon(ICON_LIBRARY_DATA_INDIRECT, vicon_strip_color_draw_library_data_indirect);
 }
 
 static void init_iconfile_list(struct ListBase *list)



More information about the Bf-blender-cvs mailing list