void update_x_y_from_touch(GeisTouch touch, float *x, float *y) { GeisAttr attr; attr = geis_touch_attr_by_name(touch, GEIS_TOUCH_ATTRIBUTE_X); *x = geis_attr_value_to_float(attr); attr = geis_touch_attr_by_name(touch, GEIS_TOUCH_ATTRIBUTE_Y); *y = geis_attr_value_to_float(attr); }
void print_attr(GeisAttr attr) { GeisString attr_name = geis_attr_name(attr); switch (geis_attr_type(attr)) { case GEIS_ATTR_TYPE_BOOLEAN: printf(" \"%s\": %s\n", attr_name, geis_attr_value_to_boolean(attr) ? "true" : "false"); break; case GEIS_ATTR_TYPE_FLOAT: printf(" \"%s\": %g\n", attr_name, geis_attr_value_to_float(attr)); break; case GEIS_ATTR_TYPE_INTEGER: printf(" \"%s\": %d\n", attr_name, geis_attr_value_to_integer(attr)); break; case GEIS_ATTR_TYPE_STRING: printf(" \"%s\": %s\n", attr_name, geis_attr_value_to_string(attr)); break; default: break; } }