Cleanup: remove redundant doxygen \file argument
[blender.git] / source / blender / editors / include / UI_interface_icons.h
1 /*
2  * This program is free software; you can redistribute it and/or
3  * modify it under the terms of the GNU General Public License
4  * as published by the Free Software Foundation; either version 2
5  * of the License, or (at your option) any later version.
6  *
7  * This program is distributed in the hope that it will be useful,
8  * but WITHOUT ANY WARRANTY; without even the implied warranty of
9  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
10  * GNU General Public License for more details.
11  *
12  * You should have received a copy of the GNU General Public License
13  * along with this program; if not, write to the Free Software Foundation,
14  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
15  *
16  * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
17  * All rights reserved.
18  */
19
20 /** \file \ingroup editorui
21  */
22
23 #ifndef __UI_INTERFACE_ICONS_H__
24 #define __UI_INTERFACE_ICONS_H__
25
26 struct ID;
27 struct PointerRNA;
28 struct PreviewImage;
29 struct Scene;
30 struct bContext;
31
32 enum eIconSizes;
33
34 typedef struct IconFile {
35         struct IconFile *next, *prev;
36         char filename[256]; /* FILE_MAXFILE size */
37         int index;
38 } IconFile;
39
40 #define ICON_DEFAULT_HEIGHT 16
41 #define ICON_DEFAULT_WIDTH  16
42
43 #define ICON_DEFAULT_HEIGHT_TOOLBAR 32
44
45 #define ICON_DEFAULT_HEIGHT_SCALE ((int)(UI_UNIT_Y * 0.8f))
46 #define ICON_DEFAULT_WIDTH_SCALE  ((int)(UI_UNIT_X * 0.8f))
47
48 #define PREVIEW_DEFAULT_HEIGHT 128
49
50 /*
51  * Resizable Icons for Blender
52  */
53 void UI_icons_init(void);
54 int UI_icon_get_width(int icon_id);
55 int UI_icon_get_height(int icon_id);
56
57 void UI_id_icon_render(
58         const struct bContext *C, struct Scene *scene, struct ID *id, const bool big, const bool use_job);
59 int UI_preview_render_size(enum eIconSizes size);
60
61 void UI_icon_draw(float x, float y, int icon_id);
62 void UI_icon_draw_alpha(float x, float y, int icon_id, float alpha);
63 void UI_icon_draw_preview(float x, float y, int icon_id);
64 void UI_icon_draw_preview_aspect(float x, float y, int icon_id, float aspect);
65 void UI_icon_draw_preview_aspect_size(float x, float y, int icon_id, float aspect, float alpha, int size);
66
67 void UI_icon_draw_aspect(float x, float y, int icon_id, float aspect, float alpha, const char mono_color[4]);
68 void UI_icon_draw_aspect_color(float x, float y, int icon_id, float aspect, const float rgb[3], const char mono_color[4]);
69 void UI_icon_draw_size(float x, float y, int size, int icon_id, float alpha);
70 void UI_icon_draw_desaturate(float x, float y, int icon_id, float aspect, float alpha, float desaturate, const char mono_color[4]);
71 void UI_icons_free(void);
72 void UI_icons_free_drawinfo(void *drawinfo);
73
74 void UI_icon_draw_cache_begin(void);
75 void UI_icon_draw_cache_end(void);
76
77 struct ListBase *UI_iconfile_list(void);
78 int UI_iconfile_get_index(const char *filename);
79
80 struct PreviewImage *UI_icon_to_preview(int icon_id);
81
82 int UI_rnaptr_icon_get(struct bContext *C, struct PointerRNA *ptr, int rnaicon, const bool big);
83 int UI_idcode_icon_get(const int idcode);
84
85 #endif /*  __UI_INTERFACE_ICONS_H__ */