Use cairo for drawing
[projects/chimara/chimara.git] / libchimara / graphics.h
index 34cde77db454609e5c49b4435e8251fd730b192e..5ca8c609e72b93b182e07877f9779776417b809c 100644 (file)
@@ -8,12 +8,21 @@
 #include "gi_blorb.h"
 #include "resource.h"
 #include "window.h"
+#include "style.h"
+#include "strio.h"
+
+#define IMAGE_CACHE_MAX_NUM 10
+#define IMAGE_CACHE_MAX_SIZE 5242880
 
 struct image_info {
        guint32 resource_number;
        gint width, height;
+       GdkPixbuf* pixbuf;
+       gboolean scaled;
 };
 
-void on_graphics_size_allocate(GtkWidget *widget, GtkAllocation *allocation, winid_t win);
+gboolean on_graphics_configure(GtkWidget *widget, GdkEventConfigure *event, winid_t win);
+gboolean on_graphics_draw(GtkWidget *widget, cairo_t *cr, winid_t win);
+void clear_image_cache(struct image_info *data, gpointer user_data);
 
 #endif