From 7a4d7a209e1e45e1c9960d48b594869187bc2a8b Mon Sep 17 00:00:00 2001 From: avolkov Date: Tue, 29 Dec 2009 15:42:36 +0000 Subject: [PATCH] Use CopyContextRect() where appropriate git-svn-id: svn://svn.code.sf.net/p/sc2/code/trunk@3489 8092fc87-c524-0410-9efc-e669fe64eaf9 --- sc2/src/uqm/planets/scan.c | 26 ++++++++++---------------- 1 file changed, 10 insertions(+), 16 deletions(-) diff --git a/sc2/src/uqm/planets/scan.c b/sc2/src/uqm/planets/scan.c index 28ec45667..d1d165c78 100644 --- a/sc2/src/uqm/planets/scan.c +++ b/sc2/src/uqm/planets/scan.c @@ -499,33 +499,27 @@ PrintCoarseScan3DO (void) static void initPlanetLocationImage (void) { - EXTENT size; FRAME cursorFrame; // Get the cursor image cursorFrame = SetAbsFrameIndex (MiscDataFrame, FLASH_INDEX); - size.width = GetFrameWidth (cursorFrame); - size.height = GetFrameHeight (cursorFrame); - cursorRect.extent = size; - - eraseFrame = CaptureDrawable (CreateDrawable ( - WANT_PIXMAP | MAPPED_TO_DISPLAY, - size.width, size.height, 1)); - // copy the hotspot - SetFrameHot (eraseFrame, GetFrameHot (cursorFrame)); + cursorRect.extent = GetFrameBounds (cursorFrame); } static void savePlanetLocationImage (void) { RECT r; - HOT_SPOT hs = GetFrameHot (eraseFrame); + FRAME cursorFrame = SetAbsFrameIndex (MiscDataFrame, FLASH_INDEX); + HOT_SPOT hs = GetFrameHot (cursorFrame); - GetContextClipRect (&r); - r.corner.x += cursorRect.corner.x - hs.x; - r.corner.y += cursorRect.corner.y - hs.y; - r.extent = cursorRect.extent; - LoadDisplayPixmap (&r, eraseFrame); + DestroyDrawable (ReleaseDrawable (eraseFrame)); + + r = cursorRect; + r.corner.x -= hs.x; + r.corner.y -= hs.y; + eraseFrame = CaptureDrawable (CopyContextRect (&r)); + SetFrameHot (eraseFrame, hs); } static void