From bd6d724db6ab9d0ab09e61c5536b2be4d6674ce5 Mon Sep 17 00:00:00 2001 From: H.G. Muller Date: Fri, 5 Oct 2012 19:22:34 +0200 Subject: [PATCH] Draw arrow also on backup image --- xboard.c | 19 +++++++++++-------- 1 files changed, 11 insertions(+), 8 deletions(-) diff --git a/xboard.c b/xboard.c index 9c8be9b..3153450 100644 --- a/xboard.c +++ b/xboard.c @@ -4220,15 +4220,12 @@ SetDragPiece (AnimNr anr, ChessSquare piece) /* [AS] Arrow highlighting support */ -void DrawPolygon(Pnt arrow[], int nr) -{ // for now on own surface; eventually this should become a global that is only destroyed on resize - cairo_surface_t *boardSurface; +void +DoDrawPolygon (cairo_surface_t *cs, Pnt arrow[], int nr) +{ cairo_t *cr; int i; - int w = lineGap + BOARD_WIDTH * (squareSize + lineGap); - int h = lineGap + BOARD_HEIGHT * (squareSize + lineGap); - boardSurface = cairo_xlib_surface_create(xDisplay, xBoardWindow, DefaultVisual(xDisplay, 0), w, h); - cr = cairo_create (boardSurface); + cr = cairo_create (cs); cairo_move_to (cr, arrow[nr-1].x, arrow[nr-1].y); for (i=0;i