Greyscale bars/Display: Difference between revisions

Content added Content deleted
m (→‎{{header|C}}: simplify)
Line 93: Line 93:
}
}
/* make a shaded pixbuf */
/* make a shaded pixbuf */
void expose_event (GtkWidget *widget,GdkEventExpose *event,gpointer data) {
int expose_event (GtkWidget *widget,GdkEventExpose *event,gpointer data) {
int r,c,f,x=0;
int r,c,x=0;
cairo_t *cr;
cairo_t *cr;
cr = gdk_cairo_create (widget->window);
cr = gdk_cairo_create (widget->window);
cairo_scale (cr,5,50);
cairo_scale (cr,5,50);
cairo_set_line_width (cr,1.2);
cairo_set_line_width (cr,1.2);
for (r=0;r<4;r++s) {
for (r=0;r<4;r++) {
c = (r&1)*64-(r%2);
c = (r&1)*64-(r%2);
do gsplot (cr,x++%64,r,c/(1<<(3-r))/(8*(1<<r)-1.0));
do { /* some dyslexic maths */
f=1<<3-r;
while ((c+=2*!(r%2)-1)!=(!(r%2))*64-(r%2));
gsplot (cr,x++%64,r,c/f*63.0/(64.0/f-1)/63.0);
c+=2*!(r%2)-1;
} while (c != (!(r%2))*64-(r%2));
} cairo_destroy (cr);
} cairo_destroy (cr);
return FALSE;
return FALSE;