X-Git-Url: http://git.draconx.ca/gitweb/upkg.git/blobdiff_plain/d32d8618e0dcf6e83872394f68fd1770d6bd803f..f8b626c27a45abf36ee0f3d65e8ef5d19b6ede98:/src/engine/texture.c diff --git a/src/engine/texture.c b/src/engine/texture.c index f0f0aaa..db6edd0 100644 --- a/src/engine/texture.c +++ b/src/engine/texture.c @@ -23,6 +23,7 @@ #include #include #include "texture.h" +#include "palette.h" #include "upkg.h" #define TEXTURE_GET_PRIV(o) \ @@ -36,6 +37,7 @@ enum { PROP_VCLAMP, PROP_UBITS, PROP_VBITS, + PROP_PALETTE, }; struct texture_priv { @@ -93,6 +95,9 @@ set_property(GObject *o, guint id, const GValue *val, GParamSpec *spec) case PROP_VBITS: t->vbits = g_value_get_uint(val); break; + case PROP_PALETTE: + t->palette = g_value_get_object(val); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(o, id, spec); } @@ -122,6 +127,9 @@ get_property(GObject *o, guint id, GValue *val, GParamSpec *spec) case PROP_VBITS: g_value_set_uint(val, t->vbits); break; + case PROP_PALETTE: + g_value_set_object(val, t->palette); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(o, id, spec); } @@ -179,6 +187,12 @@ static void engine_texture_class_init(EngineTextureClass *class) "???", 0, 64, 0, G_PARAM_READWRITE)); + g_object_class_install_property(go, PROP_PALETTE, + g_param_spec_object("Palette", + "Palette", + "Palette reference for the texture.", + ENGINE_PALETTE_TYPE, + G_PARAM_READWRITE)); } static void engine_texture_class_finalize(EngineTextureClass *class)