Example #1
0
int
main (int argc, char **argv)
{
  GtkWidget *window;
  GtkWidget *camera;

  gst_init (&argc, &argv);

  bindtextdomain (GETTEXT_PACKAGE, PACKAGE_LOCALEDIR);
  bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
  textdomain (GETTEXT_PACKAGE);

  if (!cheese_gtk_init (&argc, &argv))
    return EXIT_FAILURE;

  window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
  gtk_window_set_default_size (GTK_WINDOW (window), 400, 300);
  g_signal_connect (G_OBJECT (window), "delete-event",
                    G_CALLBACK (delete_callback), NULL);


  camera = cheese_widget_new ();
  gtk_container_add (GTK_CONTAINER (window), camera);

  gtk_widget_show_all (window);

  gtk_main ();

  return EXIT_SUCCESS;
}
Example #2
0
static void
cheese_avatar_widget_init (CheeseAvatarWidget *widget)
{
    CheeseAvatarWidgetPrivate *priv;
    GtkWidget *frame;
    GtkWidget *image;

    priv = cheese_avatar_widget_get_instance_private (widget);

    priv->flash = cheese_flash_new (GTK_WIDGET (widget));

    priv->notebook = gtk_notebook_new ();
    g_object_set(G_OBJECT (priv->notebook), "margin", 12, NULL);
    gtk_notebook_set_show_border (GTK_NOTEBOOK (priv->notebook), FALSE);
    gtk_notebook_set_show_tabs (GTK_NOTEBOOK (priv->notebook), FALSE);

    gtk_container_add (GTK_CONTAINER (widget), priv->notebook);

    /* Camera tab */
    priv->camera = cheese_widget_new ();
    g_signal_connect (G_OBJECT (priv->camera), "notify::state",
                      G_CALLBACK (state_change_cb), widget);
    image = gtk_image_new_from_icon_name ("camera-photo-symbolic", GTK_ICON_SIZE_SMALL_TOOLBAR);
    priv->take_button = gtk_button_new ();
    gtk_button_set_image (GTK_BUTTON (priv->take_button), image);
    g_signal_connect (G_OBJECT (priv->take_button), "clicked",
                      G_CALLBACK (take_button_clicked_cb), widget);
    gtk_widget_set_sensitive (priv->take_button, FALSE);
    gtk_notebook_append_page (GTK_NOTEBOOK (priv->notebook),
                              create_page (priv->camera, priv->take_button),
                              gtk_label_new ("webcam"));

    /* Image tab */
    priv->image = um_crop_area_new ();
    frame = gtk_frame_new (NULL);
    gtk_container_add (GTK_CONTAINER (frame), priv->image);
    gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_ETCHED_IN);
    priv->take_again_button = gtk_button_new_with_mnemonic (_("_Take Another Picture"));
    g_signal_connect (G_OBJECT (priv->take_again_button), "clicked",
                      G_CALLBACK (take_again_button_clicked_cb), widget);
    gtk_widget_set_sensitive (priv->take_again_button, FALSE);
    gtk_notebook_append_page (GTK_NOTEBOOK (priv->notebook),
                              create_page (frame, priv->take_again_button),
                              gtk_label_new ("image"));

    priv->sizegroup = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
    gtk_size_group_add_widget (priv->sizegroup, priv->take_button);
    gtk_size_group_add_widget (priv->sizegroup, priv->take_again_button);

    gtk_widget_show_all (GTK_WIDGET (widget));
}