Code cleanup: move expose redraw to draw.c
[xboard.git] / draw.c
diff --git a/draw.c b/draw.c
index 193f65c..ea6e4be 100644 (file)
--- a/draw.c
+++ b/draw.c
@@ -200,6 +200,17 @@ InitDrawingSizes (BoardSize boardSize, int flags)
   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)
 {
@@ -276,7 +287,7 @@ ScaleOnePiece (int color, int piece)
   }
 
   if(!pngPieceImages[color][piece]) { // we still did not manage to acquire a piece bitmap
-    if(!(svgPieces[color][piece] = LoadSVG(appData.svgDirectory, color, piece))) // try to fall back on installed svg
+    if(!(svgPieces[color][piece] = LoadSVG(SVGDIR, color, piece))) // try to fall back on installed svg
       DisplayError(_("No default pieces installed\nSelect your own -pieceImageDirectory"), 0); // give up
   }
 
@@ -296,7 +307,7 @@ ScaleOnePiece (int color, int piece)
   cairo_paint (cr);
   cairo_destroy (cr);
 
-  if(!appData.trueColors || !*appData.pieceDirectory && !appData.svgDirectory) { // operate on bitmap to color it (king-size hack...)
+  if(!appData.trueColors || !*appData.pieceDirectory) { // operate on bitmap to color it (king-size hack...)
     int stride = cairo_image_surface_get_stride(cs)/4;
     int *buf = (int *) cairo_image_surface_get_data(cs);
     int i, j, p;