aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/elementary/elm_icon.h
blob: a7366fb9778f51495af1c7fcfe84c9787ab7b209 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
/**
 * @defgroup Elm_Icon Icon
 * @ingroup Elementary
 *
 * @image html icon_inheritance_tree.png
 * @image latex icon_inheritance_tree.eps
 *
 * An icon object is used to display standard icon images ("delete",
 * "edit", "arrows", etc.) or images coming from a custom file (PNG,
 * JPG, EDJE, etc.), on icon contexts.
 *
 * The icon image requested can be in the Elementary theme in use, or
 * in the @c freedesktop.org theme paths. It's possible to set the
 * order of preference from where an image will be fetched.
 *
 * This widget inherits from the @ref Image one, so that all the
 * functions acting on it also work for icon objects.
 *
 * You should be using an icon, instead of an image, whenever one of
 * the following apply:
 * - you need a @b thumbnail version of an original image
 * - you need freedesktop.org provided icon images
 * - you need theme provided icon images (Edje groups)
 *
 * Various calls on the icon's API are marked as @b deprecated, as
 * they just wrap the image counterpart functions. Use the ones we
 * point you to, for each case of deprecation here, instead --
 * eventually the deprecated ones will be discarded (next major
 * release).
 *
 * Default images provided by Elementary's default theme are described
 * below.
 *
 * These are names that follow (more or less) the @b Freedesktop icon naming
 * specification. Use of these names are @b preferred, at least if you want to
 * give your user the ability to use other themes. All these icons can be
 * seen in the elementary_test application, the test is called "Icon Standard".
 *
 * @li @c "folder" (since 1.13)
 * @li @c "user-home" (since 1.13)
 * @li @c "user-trash" (since 1.13)
 *
 * @li @c "view-close" (since 1.13)
 * @li @c "view-refresh" (since 1.13)
 *
 * @li @c "window-close" (since 1.13)
 *
 * @li @c "document-close" (since 1.13)
 * @li @c "document-edit" (since 1.13)
 *
 * @li @c "dialog-info" (since 1.13)
 * @li @c "dialog-close" (since 1.13)
 *
 * @li @c "go-home" (sine 1.18)
 * @li @c "go-up" (since 1.18)
 * @li @c "go-down" (since 1.18)
 * @li @c "go-previous" (since 1.18)
 * @li @c "go-next" (since 1.18)
 *
 * @li @c "edit-delete" (since 1.13)
 * @li @c "edit-find" (since 1.13)
 *
 * @li @c "application-chat" (since 1.13)
 * @li @c "application-clock" (since 1.13)
 *
 * @li @c "media-seek-forward" (since 1.13)
 * @li @c "media-seek-backward" (since 1.13)
 * @li @c "media-skip-forward" (since 1.13)
 * @li @c "media-skip-backward" (since 1.13)
 * @li @c "media-playback-pause" (since 1.13)
 * @li @c "media-playback-start" (since 1.13)
 * @li @c "media-playback-stop" (since 1.13)
 * @li @c "media-eject" (since 1.13)
 *
 * @li @c "audio-volume" (since 1.13)
 * @li @c "audio-volume-muted" (since 1.13)
 *
 * There is also a selection of old names that were used before standard names
 * were being encouraged. These should be considered deprecated and one of the
 * names above used instead.
 *
 * @li @c "arrow_up" (since 1.13)
 * @li @c "arrow_down" (since 1.13)
 * @li @c "arrow_left" (since 1.13)
 * @li @c "arrow_right" (since 1.13)
 * @li @c "search" (since 1.13)
 *
 * These are names for icons that were first intended to be used in
 * toolbars, but can be used in many other places too:
 * @li @c "home"
 * @li @c "close"
 * @li @c "apps"
 * @li @c "arrow_up"
 * @li @c "arrow_down"
 * @li @c "arrow_left"
 * @li @c "arrow_right"
 * @li @c "chat"
 * @li @c "clock"
 * @li @c "delete"
 * @li @c "edit"
 * @li @c "refresh"
 * @li @c "folder"
 * @li @c "file"
 *
 * These are names for icons that were designed to be used in menus
 * (but again, you can use them anywhere else):
 * @li @c "menu/home"
 * @li @c "menu/close"
 * @li @c "menu/apps"
 * @li @c "menu/arrow_up"
 * @li @c "menu/arrow_down"
 * @li @c "menu/arrow_left"
 * @li @c "menu/arrow_right"
 * @li @c "menu/chat"
 * @li @c "menu/clock"
 * @li @c "menu/delete"
 * @li @c "menu/edit"
 * @li @c "menu/refresh"
 * @li @c "menu/folder"
 * @li @c "menu/file"
 *
 * And these are names for some media player specific icons:
 * @li @c "media_player/forward"
 * @li @c "media_player/info"
 * @li @c "media_player/next"
 * @li @c "media_player/pause"
 * @li @c "media_player/play"
 * @li @c "media_player/prev"
 * @li @c "media_player/rewind"
 * @li @c "media_player/stop"
 *
 * This widget emits the following signals, besides the ones sent from
 * @ref Image:
 * - @c "thumb,done" - elm_icon_thumb_set() has completed with success
 *                     (since 1.7)
 * - @c "thumb,error" - elm_icon_thumb_set() has failed (since 1.7)
 *
 * Elementary icon objects support the following API calls:
 * @li elm_object_signal_emit()
 * @li elm_object_signal_callback_add()
 * @li elm_object_signal_callback_del()
 * for emitting and listening to signals on the object, when the
 * internal image comes from an Edje object. This behavior was added
 * unintentionally, though, and is @b deprecated. Expect it to be
 * dropped on future releases.
 *
 * An example of usage for this API follows:
 * @li @ref tutorial_icon
 */

#ifndef EFL_NOLEGACY_API_SUPPORT
#include "elm_icon_legacy.h"
#endif
/**
 * @}
 */