GtkDrawingArea size request
- From: Rúben Rodrigues <ruben_gr live com pt>
- To: "gtk-app-devel-list gnome org" <gtk-app-devel-list gnome org>
- Subject: GtkDrawingArea size request
- Date: Wed, 21 Jun 2017 09:08:37 +0000
Hi,
I create a drawing area to draw a circular gauge with cairo.
GtkWidget *drawing_area = gtk_drawing_area_new ();
gtk_widget_set_size_request (drawing_area, 100, 100);
gtk_box_pack_start (GTK_BOX(gtk_builder_get_object(builder,
"box30")),drawing_area,FALSE,TRUE,0);
The problem is that the drawing area is not 100x100 but the entire of
screen.
This is the callback function:
gboolean on_circular_gauge_draw(GtkWidget *widget, cairo_t *cr,
gpointer user_data)
{
int width, height;
gint percentage, linewidth;
width = gtk_widget_get_allocated_width (widget);
height = gtk_widget_get_allocated_height (widget);
linewidth = (MIN (width, height) / 2.0 * 30.0) / 100.0;
cairo_set_source_rgba (cr, 1.0, 1.0, 1.0, 0.6);
cairo_set_line_width (cr, linewidth);
cairo_arc(cr, width/2.0, height/2.0, MIN (width, height) / 2.0 -
linewidth, angle1, angle2);
cairo_stroke (cr);
cairo_set_source_rgba (cr, 0.0, 0.9, 0.0, 1.0);
cairo_set_line_width (cr, linewidth);
cairo_arc(cr, width/2.0, height/2.0, MIN (width, height) / 2.0 -
linewidth, 180.0 * (M_PI/180.0),315.0 * (M_PI/180.0) );
cairo_stroke (cr);
return FALSE;
}
---
Este e-mail foi verificado em termos de vírus pelo software antivírus Avast.
https://www.avast.com/antivirus
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]