void glide_window_color_set_cb (GtkWidget *b, gpointer user_data) { GlideActor *selection; GlideWindow *w = (GlideWindow *)user_data; GdkColor c; ClutterColor cc; selection = glide_stage_manager_get_selection (w->priv->manager); gtk_color_button_get_color (GTK_COLOR_BUTTON (b), &c); glide_clutter_color_from_gdk_color (&c, &cc); if (!selection) { GlideSlide *s = glide_document_get_nth_slide (w->priv->document, glide_stage_manager_get_current_slide (w->priv->manager)); glide_slide_set_color (s, &cc); } if (!GLIDE_IS_TEXT (selection)) return; glide_text_set_color (GLIDE_TEXT (selection), &cc); }
gboolean glide_binding_transform_gdk_color_to_clutter_color (const GValue *src_value, GValue *dst_value, gpointer user_data) { ClutterColor cc; GdkColor *c; c = g_value_get_boxed (src_value); glide_clutter_color_from_gdk_color (c, &cc); g_value_set_boxed (dst_value, &cc); return TRUE; }
void glide_window_new_text_action_activate (GtkAction *a, gpointer user_data) { GlideWindow *w = (GlideWindow *)user_data; ClutterActor *text = glide_text_new (); ClutterColor cc; GdkColor c; gtk_color_button_get_color (GTK_COLOR_BUTTON (gtk_builder_get_object (w->priv->builder, "text-color-button")), &c); glide_clutter_color_from_gdk_color (&c, &cc); glide_text_set_color (GLIDE_TEXT (text), &cc); glide_text_set_font_name (GLIDE_TEXT (text), gtk_font_button_get_font_name (GTK_FONT_BUTTON (gtk_builder_get_object (w->priv->builder, "text-font-button")))); glide_stage_manager_add_actor (w->priv->manager, GLIDE_ACTOR (text)); glide_undo_manager_append_insert (w->priv->undo_manager, GLIDE_ACTOR (text)); }
static void glide_window_paste_contents_text_received (GtkClipboard *clipboard, GtkSelectionData *data, gpointer user_data) { GlideWindow *w = (GlideWindow *)user_data; guchar *text = gtk_selection_data_get_text (data); GlideActor *selection; selection = glide_stage_manager_get_selection (w->priv->manager); if (!selection) { ClutterActor *ntext = glide_text_new (); ClutterColor cc; GdkColor c; gtk_color_button_get_color (GTK_COLOR_BUTTON (gtk_builder_get_object (w->priv->builder, "text-color-button")), &c); glide_clutter_color_from_gdk_color (&c, &cc); glide_text_set_color (GLIDE_TEXT (ntext), &cc); glide_text_set_font_name (GLIDE_TEXT (ntext), gtk_font_button_get_font_name (GTK_FONT_BUTTON (gtk_builder_get_object (w->priv->builder, "text-font-button")))); glide_text_set_text (GLIDE_TEXT (ntext), (gchar *)text); glide_stage_manager_add_actor (w->priv->manager, GLIDE_ACTOR (ntext)); } else if (selection && GLIDE_IS_TEXT (selection)) { glide_text_insert_text (GLIDE_TEXT (selection), (gchar *)text, glide_text_get_cursor_position (GLIDE_TEXT (selection))); } g_free (text); }