31
typedef sigc::slot<void, const char *, guint, GdkPixbuf *> IconLoaderCallback;
36
// DO NOT `delete` this...ever.
37
static IconLoader * GetDefault ();
39
void LoadFromIconName (const char *icon_name,
41
IconLoaderCallback slot);
43
void LoadFromGIconString (const char *gicon_string,
45
IconLoaderCallback slot);
47
void LoadFromFilename (const char *filename,
49
IconLoaderCallback slot);
51
void LoadFromURI (const char *uri,
53
IconLoaderCallback slot);
31
typedef sigc::slot<void, const char*, guint, GdkPixbuf*> IconLoaderCallback;
36
// DO NOT `delete` this...ever.
37
static IconLoader* GetDefault();
39
void LoadFromIconName(const char* icon_name,
41
IconLoaderCallback slot);
43
void LoadFromGIconString(const char* gicon_string,
45
IconLoaderCallback slot);
47
void LoadFromFilename(const char* filename,
49
IconLoaderCallback slot);
51
void LoadFromURI(const char* uri,
53
IconLoaderCallback slot);
56
56
enum IconLoaderRequestType
58
REQUEST_TYPE_ICON_NAME=0,
58
REQUEST_TYPE_ICON_NAME = 0,
59
59
REQUEST_TYPE_GICON_STRING,
63
63
struct IconLoaderTask
65
65
IconLoaderRequestType type;
69
69
IconLoaderCallback slot;
74
void QueueTask (const char *key,
77
IconLoaderCallback slot,
78
IconLoaderRequestType type);
79
char * Hash (const char *data, guint size);
80
bool CacheLookup (const char *key,
83
IconLoaderCallback slot);
84
bool ProcessTask (IconLoaderTask *task);
85
bool ProcessIconNameTask (IconLoaderTask *task);
86
bool ProcessGIconTask (IconLoaderTask *task);
87
bool ProcessURITask (IconLoaderTask *task);
88
void ProcessURITaskReady (IconLoaderTask *task, char *contents, gsize length);
90
void FreeTask (IconLoaderTask *task);
92
static bool Loop (IconLoader *self);
93
static void LoadContentsReady (GObject *object, GAsyncResult *res, IconLoaderTask *task);
74
void QueueTask(const char* key,
77
IconLoaderCallback slot,
78
IconLoaderRequestType type);
79
char* Hash(const char* data, guint size);
80
bool CacheLookup(const char* key,
83
IconLoaderCallback slot);
84
bool ProcessTask(IconLoaderTask* task);
85
bool ProcessIconNameTask(IconLoaderTask* task);
86
bool ProcessGIconTask(IconLoaderTask* task);
87
bool ProcessURITask(IconLoaderTask* task);
88
void ProcessURITaskReady(IconLoaderTask* task, char* contents, gsize length);
90
void FreeTask(IconLoaderTask* task);
92
static bool Loop(IconLoader* self);
93
static void LoadContentsReady(GObject* object, GAsyncResult* res, IconLoaderTask* task);
98
std::map<std::string, GdkPixbuf *> _cache;
98
std::map<std::string, GdkPixbuf*> _cache;
101
GtkIconTheme *_theme;
101
GtkIconTheme* _theme;
102
102
gint64 _idle_start_time;