enum {
PROP_0,
+ PROP_RATIO,
PROP_CONSTRAIN,
PROP_FILL,
};
object_class->set_property = aspect_bin_set_property;
object_class->get_property = aspect_bin_get_property;
+ g_object_class_install_property(object_class,
+ PROP_RATIO,
+ g_param_spec_float("ratio",
+ "Aspect Ratio",
+ "Width:height ratio of the body.",
+ 0.2, 5.0, 1.0,
+ G_PARAM_READWRITE));
g_object_class_install_property(object_class,
PROP_FILL,
g_param_spec_boolean("fill",
GParamSpec *pspec)
{
AspectBin *abin = ASPECT_BIN(object);
+ gfloat tmp;
switch (prop_id) {
+ case PROP_RATIO:
+ tmp = abin->ratio;
+ abin->ratio = g_value_get_float(value);
+ if (tmp != abin->ratio)
+ gtk_widget_queue_resize(GTK_WIDGET(abin));
+ break;
case PROP_CONSTRAIN:
abin->constrain = g_value_get_boolean(value);
gtk_widget_queue_resize(GTK_WIDGET(abin));
AspectBin *abin = ASPECT_BIN(object);
switch (prop_id) {
+ case PROP_RATIO:
+ g_value_set_float(value, abin->ratio);
+ break;
case PROP_CONSTRAIN:
g_value_set_boolean(value, abin->constrain);
break;