void InitDrawingParams P((int reload)); // in draw.c
void InitDrawingHandle P((Option *opt));
+void ExposeRedraw P((Option *opt, int x, int y, int w, int h));
void DrawLogo P((Option *opt, void *logo));
void ErrorPopUp P((char *title, char *text, int modal));
int ShiftKeys P((void));
oldMono = appData.monoMode;
}
+void
+ExposeRedraw (Option *graph, int x, int y, int w, int h)
+{ // copy a selected part of the buffer bitmap to the display
+ cairo_t *cr = cairo_create((cairo_surface_t *) graph->textValue);
+ cairo_set_source_surface(cr, (cairo_surface_t *) graph->choice, 0, 0);
+ cairo_set_antialias(cr, CAIRO_ANTIALIAS_NONE);
+ cairo_rectangle(cr, x, y, w, h);
+ cairo_fill(cr);
+ cairo_destroy(cr);
+}
+
static void
CreatePNGBoard (char *s, int kind)
{
// defined in draw.c
void CreateGCs P((int redo));
-void NewSurfaces P((void));
void CreateAnyPieces P((void));
void CreatePNGPieces P((void));
void CreateGrid P((void));
int j, button=10, f=1, sizing=0;
Option *opt, *graph = (Option *) client_data;
PointerCallback *userHandler = graph->target;
- cairo_t *cr;
if (!XtIsRealized(widget)) return;
graph->choice = (char**) cairo_image_surface_create (CAIRO_FORMAT_ARGB32, w, h);
break;
}
- cr = cairo_create((cairo_surface_t *) graph->textValue);
- cairo_set_source_surface(cr, (cairo_surface_t *) graph->choice, 0, 0);
- cairo_set_antialias(cr, CAIRO_ANTIALIAS_NONE);
- cairo_rectangle(cr, ((XExposeEvent*)event)->x, ((XExposeEvent*)event)->y, ((XExposeEvent*)event)->width, ((XExposeEvent*)event)->height);
- cairo_fill(cr);
- cairo_destroy(cr);
+ ExposeRedraw(graph, ((XExposeEvent*)event)->x, ((XExposeEvent*)event)->y,
+ ((XExposeEvent*)event)->width, ((XExposeEvent*)event)->height);
return;
case MotionNotify:
f = 0;