3 #include <glib-object.h>
5 #include "exportable.h"
10 #define TEXTURE_GET_PRIV(o) \
11 G_TYPE_INSTANCE_GET_PRIVATE(o, ENGINE_TEXTURE_TYPE, struct texture_priv)
19 unsigned char buf[2048];
23 void exportable_init(UObjectExportable *e)
27 G_DEFINE_DYNAMIC_TYPE(EngineTexture, engine_texture, U_OBJECT_TYPE);
29 static int deserialize(UObject *o, struct upkg_file *f)
31 struct texture_priv *priv = TEXTURE_GET_PRIV(o);
32 EngineTexture *t = ENGINE_TEXTURE(o);
35 U_OBJECT_CLASS(engine_texture_parent_class)->deserialize(o, f);
37 val = u_object_get_property(o, "USize");
38 if (!(val && G_VALUE_HOLDS(val, G_TYPE_ULONG)))
40 t->usize = g_value_get_ulong(val);
42 val = u_object_get_property(o, "USize");
43 if (!(val && G_VALUE_HOLDS(val, G_TYPE_ULONG)))
45 t->vsize = g_value_get_ulong(val);
47 printf("Texture size: %lux%lu\n", t->usize, t->vsize);
52 void texture_register(GTypeModule *m)
54 engine_texture_register_type(m);
57 static void engine_texture_init(EngineTexture *m)
61 static void engine_texture_class_init(EngineTextureClass *class)
63 UObjectClass *uo = U_OBJECT_CLASS(class);
65 g_type_class_add_private(class, sizeof (struct texture_priv));
67 uo->deserialize = deserialize;
70 static void engine_texture_class_finalize(EngineTextureClass *class)