static gboolean on_input (ClutterActor *stage, ClutterEvent *event, gpointer user_data) { App *app = user_data; if (event->type == CLUTTER_KEY_RELEASE) { if (clutter_timeline_is_playing(app->timeline)) return FALSE; switch (clutter_event_get_key_symbol (event)) { case CLUTTER_Left: rotate_items (app, -1); break; case CLUTTER_Right: rotate_items (app, 1); break; case CLUTTER_Return: break; case CLUTTER_q: clutter_main_quit(); break; default: break; } } return FALSE; }
/** * rotate floating items */ void sheet_rotate_ghosts (Sheet *sheet) { g_return_if_fail (sheet != NULL); g_return_if_fail (IS_SHEET (sheet)); if (sheet->priv->floating_objects != NULL) rotate_items (sheet, sheet->priv->floating_objects, 90); }
/** * rotate the currently selected on the sheet */ void sheet_rotate_selection (Sheet *sheet, gint angle) { g_return_if_fail (sheet != NULL); g_return_if_fail (IS_SHEET (sheet)); if (sheet->priv->selected_objects != NULL) rotate_items (sheet, sheet->priv->selected_objects, angle); }