void Halls_theorem() { BYTE fname[1000]; INT xmax = 1000; INT ymax = 1000; INT Adjacency[] = { 1,1,1,0,0,0,0,0,0,0,0,0,0, 1,0,0,1,1,0,0,0,0,0,0,0,0, 1,0,0,0,0,1,1,0,0,0,0,0,0, 0,1,0,1,0,1,0,0,0,0,0,0,0, 0,1,0,0,1,0,1,0,0,0,0,0,0, 0,0,1,1,0,0,1,0,0,0,0,0,0, 0,0,1,0,0,0,0,1,1,0,0,0,0, 0,0,0,0,1,0,0,0,0,1,1,0,0, 0,0,0,0,0,1,0,0,0,0,0,1,1, 0,0,0,0,0,0,0,1,0,1,0,1,0, 0,0,0,0,0,0,0,1,0,0,1,0,1, 0,0,0,0,0,0,0,0,1,1,0,0,1, 0,0,0,0,0,0,0,0,1,0,1,1,0, }; INT m = 13; INT n = 13; INT k, a; INT f_cartesian = FALSE; strcpy(fname, "Hall"); for (k = 0; k < 10; k++) { a = random_integer(m * n); Adjacency[a] = 1 - Adjacency[a]; } draw_action(fname, xmax, ymax, Adjacency, m, n, f_cartesian); }
void draw_matrix(matrix &H, BYTE *fname, INT xmax, INT ymax, INT f_cartesian) { INT *Adjacency; INT m, n, i, j; m = H.s_m(); n = H.s_n(); Adjacency = new INT[m * n]; for (i = 0; i < m; i++) { for (j = 0; j < n; j++) { Adjacency[i * n + j] = H.s_iji(i, j); } } draw_action(fname, xmax, ymax, Adjacency, m, n, f_cartesian); }
static gboolean on_expose_event (GtkWidget *widget, GdkEventExpose *event, GsdMediaKeysWindow *window) { cairo_t *context; cairo_t *cr; cairo_surface_t *surface; int width; int height; GdkColor color; double r, g, b; context = gdk_cairo_create (GTK_WIDGET (window)->window); cairo_set_operator (context, CAIRO_OPERATOR_SOURCE); gtk_window_get_size (GTK_WINDOW (widget), &width, &height); surface = cairo_surface_create_similar (cairo_get_target (context), CAIRO_CONTENT_COLOR_ALPHA, width, height); if (cairo_surface_status (surface) != CAIRO_STATUS_SUCCESS) { goto done; } cr = cairo_create (surface); if (cairo_status (cr) != CAIRO_STATUS_SUCCESS) { goto done; } cairo_set_source_rgba (cr, 1.0, 1.0, 1.0, 0.0); cairo_set_operator (cr, CAIRO_OPERATOR_OVER); cairo_paint (cr); /* draw a box */ curved_rectangle (cr, 0, 0, width, height, height / 10); color = GTK_WIDGET (window)->style->bg [GTK_STATE_NORMAL]; r = (float)color.red / 65535.0; g = (float)color.green / 65535.0; b = (float)color.blue / 65535.0; cairo_set_source_rgba (cr, r, g, b, BG_ALPHA); cairo_fill_preserve (cr); color = GTK_WIDGET (window)->style->fg [GTK_STATE_NORMAL]; r = (float)color.red / 65535.0; g = (float)color.green / 65535.0; b = (float)color.blue / 65535.0; cairo_set_source_rgba (cr, r, g, b, BG_ALPHA); cairo_set_line_width (cr, 1); cairo_stroke (cr); /* draw action */ draw_action (window, cr); cairo_destroy (cr); /* Make sure we have a transparent background */ cairo_rectangle (context, 0, 0, width, height); cairo_set_source_rgba (context, 0.0, 0.0, 0.0, 0.0); cairo_fill (context); cairo_set_source_surface (context, surface, 0, 0); cairo_paint_with_alpha (context, window->priv->fade_out_alpha); done: if (surface != NULL) { cairo_surface_destroy (surface); } cairo_destroy (context); return FALSE; }