Download

Support

lib/efreet_icon.h

Go to the documentation of this file.
00001 /* vim: set sw=4 ts=4 sts=4 et: */
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     /* An icon theme can have multiple directories that store it's icons. We
00069      * need to be able to find a search each one. If count is 1 then path
00070      * will be a char * pointing to the directory. If count > 1 then path
00071      * will be an Ecore_List of char *'s pointing to the directories */
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                                             const char *size);
00170 EAPI char              *efreet_icon_list_find(const char *theme_name,
00171                                                 Ecore_List *icons,
00172                                                 const char *size);
00173 EAPI char              *efreet_icon_path_find(const char *theme,
00174                                                 const char *icon,
00175                                                 const char *size);
00176 EAPI void               efreet_icon_free(Efreet_Icon *icon);
00177 
00182 #endif

Copyright © Enlightenment.org

Efreet Documentation Generated: Sat May 17 16:35:27 2008