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;
00083 unsigned char hidden:1;
00084 unsigned char valid:1;
00085 unsigned char fake:1;
00088 };
00089
00093 typedef struct Efreet_Icon_Theme_Directory Efreet_Icon_Theme_Directory;
00094
00099 struct Efreet_Icon_Theme_Directory
00100 {
00101 char *name;
00102 Efreet_Icon_Theme_Context context;
00103 Efreet_Icon_Size_Type type;
00105 struct
00106 {
00107 unsigned int normal;
00108 unsigned int min;
00109 unsigned int max;
00110 unsigned int threshold;
00111 } size;
00112 };
00113
00117 typedef struct Efreet_Icon Efreet_Icon;
00118
00123 struct Efreet_Icon
00124 {
00125 char *path;
00126 char *name;
00129 struct
00130 {
00131 int x0,
00132 y0,
00133 x1,
00134 y1;
00135 } embedded_text_rectangle;
00138 Ecore_List *attach_points;
00141 unsigned int ref_count;
00142 unsigned char has_embedded_text_rectangle:1;
00144 };
00145
00149 typedef struct Efreet_Icon_Point Efreet_Icon_Point;
00150
00155 struct Efreet_Icon_Point
00156 {
00157 int x;
00158 int y;
00159 };
00160
00161 EAPI const char *efreet_icon_user_dir_get(void);
00162 EAPI void efreet_icon_extension_add(const char *ext);
00163
00164 EAPI Ecore_List *efreet_icon_extra_list_get(void);
00165 EAPI Ecore_List *efreet_icon_theme_list_get(void);
00166 EAPI Efreet_Icon_Theme *efreet_icon_theme_find(const char *theme_name);
00167 EAPI Efreet_Icon *efreet_icon_find(const char *theme_name,
00168 const char *icon,
00169 unsigned int size);
00170 EAPI char *efreet_icon_list_find(const char *theme_name,
00171 Ecore_List *icons,
00172 unsigned int size);
00173 EAPI char *efreet_icon_path_find(const char *theme_name,
00174 const char *icon,
00175 unsigned int size);
00176 EAPI void efreet_icon_free(Efreet_Icon *icon);
00177
00182 #endif