[Bf-blender-cvs] [0330b0552b9] master: Cleanup: Explicitly pass icon size to generation function, not just bool

Julian Eisel noreply at git.blender.org
Sat Jan 2 15:37:04 CET 2021


Commit: 0330b0552b90e647df3ea1f2094f4517df26250d
Author: Julian Eisel
Date:   Sat Jan 2 15:29:01 2021 +0100
Branches: master
https://developer.blender.org/rB0330b0552b90e647df3ea1f2094f4517df26250d

Cleanup: Explicitly pass icon size to generation function, not just bool

* This way you don't have to look up the function declaration to know what the
  boolean value means.
* You can call the function in a loop over the available sizes and pass the
  index as size.
* Makes it easier to add a new size in future if needed.

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

M	source/blender/editors/asset/asset_edit.c
M	source/blender/editors/include/UI_interface_icons.h
M	source/blender/editors/interface/interface_icons.c
M	source/blender/editors/util/ed_util_ops.c
M	source/blender/windowmanager/intern/wm_operators.c

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

diff --git a/source/blender/editors/asset/asset_edit.c b/source/blender/editors/asset/asset_edit.c
index 5333c08c66a..3dca87d3a03 100644
--- a/source/blender/editors/asset/asset_edit.c
+++ b/source/blender/editors/asset/asset_edit.c
@@ -45,7 +45,7 @@ bool ED_asset_mark_id(const bContext *C, ID *id)
 
   id->asset_data = BKE_asset_metadata_create();
 
-  UI_icon_render_id(C, NULL, id, true, true);
+  UI_icon_render_id(C, NULL, id, ICON_SIZE_PREVIEW, true);
 
   return true;
 }
diff --git a/source/blender/editors/include/UI_interface_icons.h b/source/blender/editors/include/UI_interface_icons.h
index 78fcd6e7dfa..d77a87e7200 100644
--- a/source/blender/editors/include/UI_interface_icons.h
+++ b/source/blender/editors/include/UI_interface_icons.h
@@ -76,7 +76,7 @@ bool UI_icon_get_theme_color(int icon_id, unsigned char color[4]);
 void UI_icon_render_id(const struct bContext *C,
                        struct Scene *scene,
                        struct ID *id,
-                       const bool big,
+                       const enum eIconSizes size,
                        const bool use_job);
 int UI_icon_preview_to_render_size(enum eIconSizes size);
 
diff --git a/source/blender/editors/interface/interface_icons.c b/source/blender/editors/interface/interface_icons.c
index 1a214d6a899..4e1088edb82 100644
--- a/source/blender/editors/interface/interface_icons.c
+++ b/source/blender/editors/interface/interface_icons.c
@@ -1955,7 +1955,8 @@ static void ui_id_preview_image_render_size(
 /**
  * Note that if an ID doesn't support jobs for preview creation, \a use_job will be ignored.
  */
-void UI_icon_render_id(const bContext *C, Scene *scene, ID *id, const bool big, const bool use_job)
+void UI_icon_render_id(
+    const bContext *C, Scene *scene, ID *id, const enum eIconSizes size, const bool use_job)
 {
   PreviewImage *pi = BKE_previewimg_id_ensure(id);
 
@@ -1963,14 +1964,7 @@ void UI_icon_render_id(const bContext *C, Scene *scene, ID *id, const bool big,
     return;
   }
 
-  if (big) {
-    /* bigger preview size */
-    ui_id_preview_image_render_size(C, scene, id, pi, ICON_SIZE_PREVIEW, use_job);
-  }
-  else {
-    /* icon size */
-    ui_id_preview_image_render_size(C, scene, id, pi, ICON_SIZE_ICON, use_job);
-  }
+  ui_id_preview_image_render_size(C, scene, id, pi, size, use_job);
 }
 
 static void ui_id_icon_render(const bContext *C, ID *id, bool use_jobs)
@@ -2170,7 +2164,7 @@ int ui_id_icon_get(const bContext *C, ID *id, const bool big)
     case ID_LA: /* fall through */
       iconid = BKE_icon_id_ensure(id);
       /* checks if not exists, or changed */
-      UI_icon_render_id(C, NULL, id, big, true);
+      UI_icon_render_id(C, NULL, id, big ? ICON_SIZE_PREVIEW : ICON_SIZE_ICON, true);
       break;
     case ID_SCR:
       iconid = ui_id_screen_get_icon(C, id);
diff --git a/source/blender/editors/util/ed_util_ops.c b/source/blender/editors/util/ed_util_ops.c
index 88df20c5966..bb531b11b12 100644
--- a/source/blender/editors/util/ed_util_ops.c
+++ b/source/blender/editors/util/ed_util_ops.c
@@ -131,7 +131,7 @@ static int lib_id_generate_preview_exec(bContext *C, wmOperator *UNUSED(op))
   if (preview) {
     BKE_previewimg_clear(preview);
   }
-  UI_icon_render_id(C, NULL, id, true, true);
+  UI_icon_render_id(C, NULL, id, ICON_SIZE_PREVIEW, true);
 
   WM_event_add_notifier(C, NC_ASSET, NULL);
 
diff --git a/source/blender/windowmanager/intern/wm_operators.c b/source/blender/windowmanager/intern/wm_operators.c
index 4d80cf7749c..5a64b42a653 100644
--- a/source/blender/windowmanager/intern/wm_operators.c
+++ b/source/blender/windowmanager/intern/wm_operators.c
@@ -3314,8 +3314,8 @@ static void previews_id_ensure(bContext *C, Scene *scene, ID *id)
   /* Only preview non-library datablocks, lib ones do not pertain to this .blend file!
    * Same goes for ID with no user. */
   if (!ID_IS_LINKED(id) && (id->us != 0)) {
-    UI_icon_render_id(C, scene, id, false, false);
-    UI_icon_render_id(C, scene, id, true, false);
+    UI_icon_render_id(C, scene, id, ICON_SIZE_ICON, false);
+    UI_icon_render_id(C, scene, id, ICON_SIZE_PREVIEW, false);
   }
 }



More information about the Bf-blender-cvs mailing list