diff options
Diffstat (limited to 'source/blender/editors')
-rw-r--r-- | source/blender/editors/include/UI_interface_icons.h | 5 | ||||
-rw-r--r-- | source/blender/editors/interface/interface_icons.c | 66 |
2 files changed, 69 insertions, 2 deletions
diff --git a/source/blender/editors/include/UI_interface_icons.h b/source/blender/editors/include/UI_interface_icons.h index 634dd3d5bbc..945ac1b6db9 100644 --- a/source/blender/editors/include/UI_interface_icons.h +++ b/source/blender/editors/include/UI_interface_icons.h @@ -34,9 +34,12 @@ struct bContext; struct ID; +struct Scene; struct PreviewImage; struct PointerRNA; +enum eIconSizes; + typedef struct IconFile { struct IconFile *next, *prev; char filename[256]; /* FILE_MAXFILE size */ @@ -60,6 +63,7 @@ int UI_icon_get_height(int icon_id); void UI_id_icon_render( const struct bContext *C, struct Scene *scene, struct ID *id, const bool big, const bool use_job); +int UI_preview_render_size(enum eIconSizes size); void UI_icon_draw(float x, float y, int icon_id); void UI_icon_draw_preview(float x, float y, int icon_id); @@ -78,5 +82,6 @@ int UI_iconfile_get_index(const char *filename); struct PreviewImage *UI_icon_to_preview(int icon_id); int UI_rnaptr_icon_get(struct bContext *C, struct PointerRNA *ptr, int rnaicon, const bool big); +int UI_idcode_icon_get(const int idcode); #endif /* __UI_INTERFACE_ICONS_H__ */ diff --git a/source/blender/editors/interface/interface_icons.c b/source/blender/editors/interface/interface_icons.c index db1eacf57dc..95139c5656e 100644 --- a/source/blender/editors/interface/interface_icons.c +++ b/source/blender/editors/interface/interface_icons.c @@ -900,7 +900,7 @@ void UI_icons_init(int first_dyn_id) /* Render size for preview images and icons */ -static int preview_render_size(enum eIconSizes size) +int UI_preview_render_size(enum eIconSizes size) { switch (size) { case ICON_SIZE_ICON: @@ -916,7 +916,7 @@ static int preview_render_size(enum eIconSizes size) */ static void icon_create_rect(struct PreviewImage *prv_img, enum eIconSizes size) { - unsigned int render_size = preview_render_size(size); + unsigned int render_size = UI_preview_render_size(size); if (!prv_img) { if (G.debug & G_DEBUG) @@ -1399,6 +1399,68 @@ int UI_rnaptr_icon_get(bContext *C, PointerRNA *ptr, int rnaicon, const bool big return rnaicon; } +int UI_idcode_icon_get(const int idcode) +{ + switch (idcode) { + case ID_AC: + return ICON_ANIM_DATA; + case ID_AR: + return ICON_ARMATURE_DATA; + case ID_BR: + return ICON_BRUSH_DATA; + case ID_CA: + return ICON_CAMERA_DATA; + case ID_CU: + return ICON_CURVE_DATA; + case ID_GD: + return ICON_GREASEPENCIL; + case ID_GR: + return ICON_GROUP; + case ID_IM: + return ICON_IMAGE_DATA; + case ID_LA: + return ICON_LAMP_DATA; + case ID_LS: + return ICON_LINE_DATA; + case ID_LT: + return ICON_LATTICE_DATA; + case ID_MA: + return ICON_MATERIAL_DATA; + case ID_MB: + return ICON_META_DATA; + case ID_MC: + return ICON_CLIP; + case ID_ME: + return ICON_MESH_DATA; + case ID_MSK: + return ICON_MOD_MASK; /* TODO! this would need its own icon! */ + case ID_NT: + return ICON_NODETREE; + case ID_OB: + return ICON_OBJECT_DATA; + case ID_PAL: + return ICON_COLOR; /* TODO! this would need its own icon! */ + case ID_PC: + return ICON_CURVE_BEZCURVE; /* TODO! this would need its own icon! */ + case ID_SCE: + return ICON_SCENE_DATA; + case ID_SPK: + return ICON_SPEAKER; + case ID_SO: + return ICON_SOUND; + case ID_TE: + return ICON_TEXTURE_DATA; + case ID_TXT: + return ICON_TEXT; + case ID_VF: + return ICON_FONT_DATA; + case ID_WO: + return ICON_WORLD_DATA; + default: + return ICON_NONE; + } +} + static void icon_draw_at_size( float x, float y, int icon_id, float aspect, float alpha, enum eIconSizes size, const bool nocreate) |