summaryrefslogtreecommitdiff
path: root/saedit/spritedrawingarea/sdalayer.h
blob: e1bac042a5dfed856e1ca884b3ba37f256e69faf (plain) (blame)
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#ifndef _SDALAYER_H_
#define _SDALAYER_H_

#include <glib-object.h>
#include <cairo.h>

G_BEGIN_DECLS

#define SDA_TYPE_LAYER (sda_layer_get_type ())
#define SDA_LAYER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SDA_TYPE_LAYER, SDALayer))
#define SDA_LAYER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SDA_TYPE_LAYER, SDALayerClass))
#define IS_SDA_LAYER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SDA_TYPE_LAYER))
#define IS_SDA_LAYER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SDA_TYPE_LAYER))
#define SDA_LAYER_GET_CLASS(obj) ((obj), SDA_TYPE_LAYER, SDALayerClass)

typedef struct _SDALayer SDALayer;
typedef struct _SDALayerClass SDALayerClass;
typedef struct _SDALayerPrivate SDALayerPrivate;

struct _SDALayerClass {
	GObjectClass parent_class;
};

GType
sda_layer_get_type (void);

typedef void
(* SDALayerDrawFunc) (
	SDALayer *layer,
	cairo_t *cr,
	gpointer user_data
);

SDALayer *
sda_layer_new (
	SDALayerDrawFunc draw_func,
	gpointer user_data
);

gint
sda_layer_compare_by_z_index (
	const SDALayer *a,
	const SDALayer *b
);

void
sda_layer_set_z_index (SDALayer *layer, gint z_index);

void
sda_layer_set_visible (SDALayer *layer, gboolean visible);

G_END_DECLS

#endif