static void a3d_layer_drag(a3d_widget_t* widget, float x, float y, float dx, float dy, double dt) { assert(widget); LOGD("debug"); a3d_layer_t* self = (a3d_layer_t*) widget; if(self->mode == A3D_LAYER_MODE_FRONT) { a3d_listitem_t* iter = a3d_list_head(self->list); if(iter) { widget = (a3d_widget_t*) a3d_list_peekitem(iter); a3d_widget_drag(widget, x, y, dx, dy, dt); } } else { a3d_listitem_t* iter = a3d_list_head(self->list); while(iter) { widget = (a3d_widget_t*) a3d_list_peekitem(iter); a3d_widget_drag(widget, x, y, dx, dy, dt); iter = a3d_list_next(iter); } } }
static void a3d_bulletbox_drag(a3d_widget_t* widget, float x, float y, float dx, float dy) { a3d_bulletbox_t* self = (a3d_bulletbox_t*) widget; a3d_widget_drag((a3d_widget_t*) self->icon, x, y, dx, dy); a3d_widget_drag((a3d_widget_t*) self->text, x, y, dx, dy); }
static void a3d_listbox_drag(a3d_widget_t* widget, float x, float y, float dx, float dy, double dt) { assert(widget); LOGD("debug"); a3d_listbox_t* self = (a3d_listbox_t*) widget; a3d_listitem_t* iter = a3d_list_head(self->list); while(iter) { widget = (a3d_widget_t*) a3d_list_peekitem(iter); a3d_widget_drag(widget, x, y, dx, dy, dt); iter = a3d_list_next(iter); } }