lib/efreet_icon.h
Go to the documentation of this file.00001
00002 #ifndef EFREET_ICON_H
00003 #define EFREET_ICON_H
00004
00018 enum Efreet_Icon_Theme_Context
00019 {
00020 EFREET_ICON_THEME_CONTEXT_NONE,
00021 EFREET_ICON_THEME_CONTEXT_ACTIONS,
00022 EFREET_ICON_THEME_CONTEXT_DEVICES,
00023 EFREET_ICON_THEME_CONTEXT_FILESYSTEMS,
00024 EFREET_ICON_THEME_CONTEXT_MIMETYPES
00025 };
00026
00030 typedef enum Efreet_Icon_Theme_Context Efreet_Icon_Theme_Context;
00031
00035 enum Efreet_Icon_Size_Type
00036 {
00037 EFREET_ICON_SIZE_TYPE_NONE,
00038 EFREET_ICON_SIZE_TYPE_FIXED,
00039 EFREET_ICON_SIZE_TYPE_SCALABLE,
00040 EFREET_ICON_SIZE_TYPE_THRESHOLD
00041 };
00042
00046 typedef enum Efreet_Icon_Size_Type Efreet_Icon_Size_Type;
00047
00051 typedef struct Efreet_Icon_Theme Efreet_Icon_Theme;
00052
00057 struct Efreet_Icon_Theme
00058 {
00059 struct
00060 {
00061 const char *internal;
00062 const char *name;
00063 } name;
00065 char *comment;
00066 char *example_icon;
00068
00069
00070
00071
00072 struct
00073 {
00074 void *path;
00075 int count;
00076 } paths;
00078 Ecore_List *inherits;
00079 Ecore_List *directories;
00081 double last_cache_check;
00082 Ecore_Hash *icon_cache;
00084 unsigned char hidden:1;
00085 unsigned char valid:1;
00086 unsigned char fake:1;
00089 };
00090
00094 typedef struct Efreet_Icon_Theme_Directory Efreet_Icon_Theme_Directory;
00095
00100 struct Efreet_Icon_Theme_Directory
00101 {
00102 char *name;
00103 Efreet_Icon_Theme_Context context;
00104 Efreet_Icon_Size_Type type;
00106 struct
00107 {
00108 unsigned int normal;
00109 unsigned int min;
00110 unsigned int max;
00111 unsigned int threshold;
00112 } size;
00113 };
00114
00118 typedef struct Efreet_Icon Efreet_Icon;
00119
00124 struct Efreet_Icon
00125 {
00126 char *path;
00127 char *name;
00130 struct
00131 {
00132 int x0,
00133 y0,
00134 x1,
00135 y1;
00136 } embedded_text_rectangle;
00139 Ecore_List *attach_points;
00142 unsigned int ref_count;
00143 unsigned char has_embedded_text_rectangle:1;
00145 };
00146
00150 typedef struct Efreet_Icon_Point Efreet_Icon_Point;
00151
00156 struct Efreet_Icon_Point
00157 {
00158 int x;
00159 int y;
00160 };
00161
00162 const char *efreet_icon_dir_get(void);
00163 void efreet_icon_extension_add(const char *ext);
00164
00165 Ecore_List *efreet_icon_extra_list_get(void);
00166 Ecore_List *efreet_icon_theme_list_get(void);
00167 Efreet_Icon_Theme *efreet_icon_theme_find(const char *theme_name);
00168 Efreet_Icon *efreet_icon_find(const char *theme_name, const char *icon,
00169 const char *size);
00170
00171 const char *efreet_icon_path_find(const char *theme, const char *icon,
00172 const char *size);
00173
00178 #endif
00179