/build/buildd/efreet-0.5.0.063/src/lib/efreet_icon.h
Go to the documentation of this file.00001
00002 #ifndef EFREET_ICON_H
00003 #define EFREET_ICON_H
00004
00018 typedef 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 } Efreet_Icon_Theme_Context;
00026
00030 typedef enum Efreet_Icon_Size_Type
00031 {
00032 EFREET_ICON_SIZE_TYPE_NONE,
00033 EFREET_ICON_SIZE_TYPE_FIXED,
00034 EFREET_ICON_SIZE_TYPE_SCALABLE,
00035 EFREET_ICON_SIZE_TYPE_THRESHOLD
00036 } Efreet_Icon_Size_Type;
00037
00041 typedef struct Efreet_Icon_Theme Efreet_Icon_Theme;
00042
00047 struct Efreet_Icon_Theme
00048 {
00049 struct
00050 {
00051 const char *internal;
00052 const char *name;
00053 } name;
00055 char *comment;
00056 char *example_icon;
00058
00059
00060
00061 Eina_List *paths;
00062 Eina_List *inherits;
00063 Eina_List *directories;
00065 double last_cache_check;
00067 unsigned char hidden:1;
00068 unsigned char valid:1;
00069 unsigned char fake:1;
00072 };
00073
00077 typedef struct Efreet_Icon_Theme_Directory Efreet_Icon_Theme_Directory;
00078
00083 struct Efreet_Icon_Theme_Directory
00084 {
00085 char *name;
00086 Efreet_Icon_Theme_Context context;
00087 Efreet_Icon_Size_Type type;
00089 struct
00090 {
00091 unsigned int normal;
00092 unsigned int min;
00093 unsigned int max;
00094 unsigned int threshold;
00095 } size;
00096 };
00097
00101 typedef struct Efreet_Icon Efreet_Icon;
00102
00107 struct Efreet_Icon
00108 {
00109 char *path;
00110 char *name;
00113 struct
00114 {
00115 int x0,
00116 y0,
00117 x1,
00118 y1;
00119 } embedded_text_rectangle;
00122 Eina_List *attach_points;
00125 unsigned int ref_count;
00126 unsigned char has_embedded_text_rectangle:1;
00128 };
00129
00133 typedef struct Efreet_Icon_Point Efreet_Icon_Point;
00134
00139 struct Efreet_Icon_Point
00140 {
00141 int x;
00142 int y;
00143 };
00144
00145 EAPI const char *efreet_icon_user_dir_get(void);
00146 EAPI void efreet_icon_extension_add(const char *ext);
00147
00148 EAPI Eina_List **efreet_icon_extra_list_get(void);
00149 EAPI Eina_List *efreet_icon_theme_list_get(void);
00150 EAPI Efreet_Icon_Theme *efreet_icon_theme_find(const char *theme_name);
00151 EAPI Efreet_Icon *efreet_icon_find(const char *theme_name,
00152 const char *icon,
00153 unsigned int size);
00154 EAPI char *efreet_icon_list_find(const char *theme_name,
00155 Eina_List *icons,
00156 unsigned int size);
00157 EAPI char *efreet_icon_path_find(const char *theme_name,
00158 const char *icon,
00159 unsigned int size);
00160 EAPI void efreet_icon_free(Efreet_Icon *icon);
00161
00166 #endif