mirror of
https://github.com/jtheoof/swappy.git
synced 2024-08-17 02:30:47 +03:00
parent
3db1b13ae9
commit
46e5854b3c
@ -218,6 +218,13 @@ static void screen_coordinates_to_image_coordinates(struct swappy_state *state,
|
|||||||
*image_y = y;
|
*image_y = y;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void commit_state(struct swappy_state *state) {
|
||||||
|
paint_commit_temporary(state);
|
||||||
|
paint_free_list(&state->redo_paints);
|
||||||
|
render_state(state);
|
||||||
|
update_ui_undo_redo(state);
|
||||||
|
}
|
||||||
|
|
||||||
void on_destroy(GtkApplication *application, gpointer data) {
|
void on_destroy(GtkApplication *application, gpointer data) {
|
||||||
struct swappy_state *state = (struct swappy_state *)data;
|
struct swappy_state *state = (struct swappy_state *)data;
|
||||||
maybe_save_output_file(state);
|
maybe_save_output_file(state);
|
||||||
@ -269,6 +276,8 @@ void application_finish(struct swappy_state *state) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void save_clicked_handler(GtkWidget *widget, struct swappy_state *state) {
|
void save_clicked_handler(GtkWidget *widget, struct swappy_state *state) {
|
||||||
|
// Commit a potential paint (e.g. text being written)
|
||||||
|
commit_state(state);
|
||||||
save_state_to_file_or_folder(state, NULL);
|
save_state_to_file_or_folder(state, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -277,6 +286,8 @@ void clear_clicked_handler(GtkWidget *widget, struct swappy_state *state) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void copy_clicked_handler(GtkWidget *widget, struct swappy_state *state) {
|
void copy_clicked_handler(GtkWidget *widget, struct swappy_state *state) {
|
||||||
|
// Commit a potential paint (e.g. text being written)
|
||||||
|
commit_state(state);
|
||||||
clipboard_copy_drawing_area_to_selection(state);
|
clipboard_copy_drawing_area_to_selection(state);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -499,10 +510,7 @@ void draw_area_button_release_handler(GtkWidget *widget, GdkEventButton *event,
|
|||||||
case SWAPPY_PAINT_MODE_RECTANGLE:
|
case SWAPPY_PAINT_MODE_RECTANGLE:
|
||||||
case SWAPPY_PAINT_MODE_ELLIPSE:
|
case SWAPPY_PAINT_MODE_ELLIPSE:
|
||||||
case SWAPPY_PAINT_MODE_ARROW:
|
case SWAPPY_PAINT_MODE_ARROW:
|
||||||
paint_commit_temporary(state);
|
commit_state(state);
|
||||||
paint_free_list(&state->redo_paints);
|
|
||||||
render_state(state);
|
|
||||||
update_ui_undo_redo(state);
|
|
||||||
break;
|
break;
|
||||||
case SWAPPY_PAINT_MODE_TEXT:
|
case SWAPPY_PAINT_MODE_TEXT:
|
||||||
if (state->temp_paint && !state->temp_paint->can_draw) {
|
if (state->temp_paint && !state->temp_paint->can_draw) {
|
||||||
|
Loading…
Reference in New Issue
Block a user