Ktam3874/pitx software guide – Kontron KTAM3874-pITX User Manual

Page 167

Advertising
background image

KTD-S0057-I

Page 163 Linux® Programming Examples (DebianTM)


KTAM3874/pITX Software Guide

static gboolean cairo_draw_event (GtkWidget *parent, cairo_t *cr, gpointer data)
{
GdkColor

col;

double width = (double) gtk_widget_get_allocated_width (parent),

height,

radius,

radius0 = TENTH(width),

radius1 = HALF(width);

cairo_pattern_t

*pat;

height = (double) gtk_widget_get_allocated_height (parent);

if (! (gint) (radius = (double) radius_dialog_value (FALSE, 0)))

radius = (double) radius_dialog_value (TRUE, INITRADIUS);

pat = cairo_pattern_create_linear (ZERO, ZERO, ZERO, height);

gdk_color_parse (RECT_COL2, &col);

cairo_pattern_add_color_stop_rgba (pat, ONE, COL(col.red), COL(col.green), COL(col.blue), ONE);

gdk_color_parse (RECT_COL1, &col);

cairo_pattern_add_color_stop_rgba (pat, ZERO, COL(col.red), COL(col.green), COL(col.blue), ONE);

cairo_rectangle (cr, ZERO, ZERO, width, height);

cairo_set_source (cr, pat);

cairo_fill

(cr);

cairo_pattern_destroy

(pat);

pat = cairo_pattern_create_radial (HALF(width), FOURTEENTH(height), radius0, FOURTEENTH(width),

FOURTEENTH(height),

radius1);

gdk_color_parse (SPHERE_COL1, &col);

cairo_pattern_add_color_stop_rgba (pat, ZERO, COL(col.red), COL(col.green), COL(col.blue), ONE);

gdk_color_parse (SPHERE_COL2, &col);

cairo_pattern_add_color_stop_rgba (pat, ONE, COL(col.red), COL(col.green), COL(col.blue), ONE);

cairo_set_source (cr, pat);

cairo_arc (cr, HALF(width), HALF(height), radius, 0, 2 * G_PI);

cairo_fill

(cr);

gdk_color_parse (CAIRO_TEXTCOL, &col);

cairo_set_source_rgb (cr, COL(col.red), COL(col.green), COL(col.blue));

cairo_select_font_face (cr, CAIRO_FONT, CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_BOLD);

cairo_set_font_size (cr, FONT_SIZE);

cairo_move_to (cr, TENTH(width), HALF(height) + QUART(FONT_SIZE));

cairo_show_text (cr, CAIRO_TXT);

cairo_stroke

(cr);

cairo_pattern_destroy

(pat);

return

FALSE;

}


static GtkWidget * create_environment (GtkWidget *win)
{
GtkWidget

*vb;

vb = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);

gtk_container_add (GTK_CONTAINER (win), vb);

return

vb;

}

Advertising
This manual is related to the following products: