static Bool set_aspect_ratio_from_image (ASGtkImageView * iv) { gfloat old_ratio, new_ratio; if (iv->image_entry && iv->image_entry->preview) new_ratio = (gfloat) iv->image_entry->preview->width / (gfloat) iv->image_entry->preview->height; else new_ratio = 1.0; old_ratio = get_old_ratio (iv); if (old_ratio == new_ratio) return False; gtk_aspect_frame_set (GTK_ASPECT_FRAME (iv->frame), 0.5, 0.5, new_ratio, FALSE); return True; }
static void photos_print_preview_init (PhotosPrintPreview *preview) { PhotosPrintPreviewPrivate *priv; gfloat ratio; preview->priv = photos_print_preview_get_instance_private (preview); priv = preview->priv; priv->area = GTK_WIDGET (gtk_drawing_area_new ()); gtk_container_add (GTK_CONTAINER (preview), priv->area); priv->p_width = 8.5; priv->p_height = 11.0; ratio = priv->p_width/priv->p_height; gtk_aspect_frame_set (GTK_ASPECT_FRAME (preview), 0.5, 0.5, ratio, FALSE); priv->pixbuf = NULL; priv->pixbuf_scaled = NULL; priv->pixbuf_x_align = 0.5; priv->pixbuf_y_align = 0.5; priv->i_scale = 1; priv->surface = NULL; priv->flag_create_surface = TRUE; priv->p_scale = 0; priv->l_margin = 0.25; priv->r_margin = 0.25; priv->t_margin = 0.25; priv->b_margin = 0.56; priv->grabbed = FALSE; priv->cursorx = 0; priv->cursory = 0; priv->r_dx = 0; priv->r_dy = 0; }
static void eom_print_preview_init (EomPrintPreview *preview) { EomPrintPreviewPrivate *priv; gfloat ratio; priv = preview->priv = EOM_PRINT_PREVIEW_GET_PRIVATE (preview); priv->area = GTK_WIDGET (gtk_drawing_area_new ()); gtk_container_add (GTK_CONTAINER (preview), priv->area); priv->p_width = 8.5; priv->p_height = 11.0; ratio = priv->p_width/priv->p_height; gtk_aspect_frame_set (GTK_ASPECT_FRAME (preview), 0.5, 0.5, ratio, FALSE); priv->image = NULL; priv->image_scaled = NULL; priv->image_x_align = 0.5; priv->image_y_align = 0.5; priv->i_scale = 1; priv->surface = NULL; priv->flag_create_surface = TRUE; priv->p_scale = 0; priv->l_margin = 0.25; priv->r_margin = 0.25; priv->t_margin = 0.25; priv->b_margin = 0.56; priv->grabbed = FALSE; priv->cursorx = 0; priv->cursory = 0; priv->r_dx = 0; priv->r_dy = 0; }
/* ------------------------------ * gap_pview_set_size * ------------------------------ * set new preview size * and allocate buffers for src columns and row at previesize */ void gap_pview_set_size(GapPView *pv_ptr, gint pv_width, gint pv_height, gint pv_check_size) { g_return_if_fail (pv_width > 0 && pv_height > 0); if(pv_ptr->da_widget == NULL) { return; } gap_pview_reset(pv_ptr); gtk_widget_set_size_request (pv_ptr->da_widget, pv_width, pv_height); if(pv_ptr->aspect_frame) { gtk_aspect_frame_set (GTK_ASPECT_FRAME(pv_ptr->aspect_frame) ,0.5 /* align x centered */ ,0.5 /* align y centered */ , pv_width / pv_height , TRUE /* obey_child */ ); gtk_widget_set_size_request (pv_ptr->aspect_frame , pv_width+5 , (gdouble)(pv_width+5) * ( (gdouble)pv_height / (gdouble)pv_width) /* pv_height */ ); } pv_ptr->pv_width = pv_width; pv_ptr->pv_height = pv_height; pv_ptr->pv_check_size = pv_check_size; pv_ptr->pv_area_data = g_new ( guchar , pv_ptr->pv_height * pv_ptr->pv_width * pv_ptr->pv_bpp ); pv_ptr->src_col = g_new ( gint, pv_ptr->pv_width ); /* column fetch indexes foreach preview col */ if(pv_ptr->pv_desaturated_area_data) { g_free(pv_ptr->pv_desaturated_area_data); pv_ptr->pv_desaturated_area_data = NULL; } } /* end gap_pview_set_size */
static void unicapgtk_video_display_init( UnicapgtkVideoDisplay *ugtk ) { ugtk->backend_fourcc = 0; gtk_aspect_frame_set( GTK_ASPECT_FRAME( ugtk ), 0.5, 0.5, 1.0, TRUE ); gtk_frame_set_shadow_type( GTK_FRAME( ugtk ), GTK_SHADOW_NONE ); ugtk->drawing_area = gtk_drawing_area_new( ); gtk_widget_add_events( ugtk->drawing_area, GDK_ALL_EVENTS_MASK ); gtk_container_add( GTK_CONTAINER( ugtk ), ugtk->drawing_area ); gtk_widget_show( ugtk->drawing_area ); g_signal_connect( ugtk->drawing_area, "hierarchy-changed", G_CALLBACK( da_hierarchy_changed_cb ), ugtk ); g_signal_connect( ugtk->drawing_area, "configure-event", G_CALLBACK( da_configure_cb ), ugtk ); g_signal_connect( ugtk->drawing_area, "unmap", G_CALLBACK(gtk_widget_destroyed), &ugtk->gc ); g_signal_connect( ugtk->drawing_area, "expose-event", G_CALLBACK( da_expose_event ), ugtk ); g_signal_connect( ugtk->drawing_area, "size-allocate", G_CALLBACK( da_size_allocate ), ugtk ); ugtk->unicap_handle = NULL; ugtk->scale_to_fit = FALSE; ugtk->display_timeout_tag = TIMEOUT_UNSET; }