summaryrefslogtreecommitdiff
path: root/backingstore.h
blob: 2d3921479b489d46bedfd64f917c87cd275c0a75 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <gtk/gtk.h>
#include <gdk/gdk.h>
#include <cairo.h>

typedef struct BackingStore BackingStore;

typedef void     (* BackingPaintFunc) (cairo_t   *cr,
				       GdkRegion *region,
				       gpointer   data);
typedef gboolean (* BackingInputFunc) (gpointer   input_data,
				       gpointer   user_data);

BackingStore *backing_store_new                   (GdkWindow       *window,
						   int              width,
						   int              height);
void	      backing_store_free                  (BackingStore    *store);
void          backing_store_draw                  (BackingStore    *store, 
						   GdkDrawable     *dest,
						   GdkRegion       *clip,
						   int              dest_x,
						   int              dest_y);
void          backing_store_scroll                (BackingStore    *store,
						   int              dx,
						   int              dy);
void          backing_store_invalidate_rect       (BackingStore    *store,
						   GdkRectangle    *rect);
void          backing_store_invalidate_region     (BackingStore    *store,
						   GdkRegion       *region);
void          backing_store_invalidate_all        (BackingStore    *store);
void          backing_store_resize                (BackingStore    *store,
						   int              width,
						   int              height);
void          backing_store_process_updates       (BackingStore    *store,
						   BackingPaintFunc func,
						   gpointer         data);