Re: Fwd: GtkDrawingArea size request
- From: Chris Moller <moller mollerware com>
- To: gtk-app-devel-list gnome org
- Subject: Re: Fwd: GtkDrawingArea size request
- Date: Wed, 21 Jun 2017 14:31:58 -0400
There's no reason the drawing area code you're showing shouldn't work.
The most obvious possibility is that the size of your enclosing widget
(GTK_BOX(gtk_builder_get_object(builder, "box30"))) isn't set right--the
default is that your drawing area will expand to fill its parent.
On 06/21/17 10:11, Rúben Rodrigues wrote:
Someone received my question?
Thanks
-------- Mensagem reencaminhada --------
Assunto: GtkDrawingArea size request
Data: Wed, 21 Jun 2017 10:08:15 +0100
De: Rúben Rodrigues <ruben_gr live com pt><mailto:ruben_gr live com pt>
Para: gtk-app-devel-list gnome org<mailto:gtk-app-devel-list gnome org> <gtk-app-devel-list gnome
org><mailto:gtk-app-devel-list gnome org>
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;
}
[https://ipmcdn.avast.com/images/icons/icon-envelope-tick-round-orange-animated-no-repeat-v1.gif]<https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient>
Sem vírus.
www.avast.com<https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient>
_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list gnome org
https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]