if (gfx.draw_global_anim_function != NULL)
gfx.draw_global_anim_function(draw_target, DRAW_GLOBAL_ANIM_STAGE_2);
- // copy tile selection cursor to render target buffer, if defined (above all)
+ // copy tile selection cursor to render target buffer, if defined (part 1)
if (gfx.draw_tile_cursor_function != NULL)
- gfx.draw_tile_cursor_function(draw_target);
+ gfx.draw_tile_cursor_function(draw_target, TRUE);
// copy envelope request to render target buffer, if needed (above all)
if (gfx.draw_envelope_request_function != NULL)
gfx.draw_envelope_request_function(draw_target);
+ // copy tile selection cursor to render target buffer, if defined (part 2)
+ if (gfx.draw_tile_cursor_function != NULL)
+ gfx.draw_tile_cursor_function(draw_target, FALSE);
+
// copy global animations to render target buffer, if defined (mouse pointer)
if (gfx.draw_global_anim_function != NULL)
gfx.draw_global_anim_function(draw_target, DRAW_GLOBAL_ANIM_STAGE_3);
return TRUE;
}
+SDL_Surface *SDLCreateNativeSurface(int width, int height, int depth)
+{
+ if (program.headless)
+ return NULL;
+
+ SDL_Surface *surface = SDL_CreateRGBSurface(SURFACE_FLAGS, width, height, depth, 0,0,0, 0);
+
+ if (surface == NULL)
+ Fail("SDL_CreateRGBSurface() failed: %s", SDL_GetError());
+
+ SDLSetNativeSurface(&surface);
+
+ return surface;
+}
+
static SDL_Texture *SDLCreateTextureFromSurface(SDL_Surface *surface)
{
if (program.headless)
UpdateScreen_WithoutFrameDelay(NULL);
}
-void SDLCreateBitmapContent(Bitmap *bitmap, int width, int height,
- int depth)
-{
- if (program.headless)
- return;
-
- SDL_Surface *surface =
- SDL_CreateRGBSurface(SURFACE_FLAGS, width, height, depth, 0,0,0, 0);
-
- if (surface == NULL)
- Fail("SDL_CreateRGBSurface() failed: %s", SDL_GetError());
-
- SDLSetNativeSurface(&surface);
-
- bitmap->surface = surface;
-}
-
void SDLFreeBitmapPointers(Bitmap *bitmap)
{
if (bitmap->surface)
continue;
sge_Line(surface, points[i].x + dx, points[i].y + dy,
- points[i+1].x + dx, points[i+1].y + dy, color);
+ points[i + 1].x + dx, points[i + 1].y + dy, color);
}
}
}
}
// ----------------------------------------------------------------------------
-// zoomSurface()
+// SDLZoomSurface()
//
// Zooms a 32bit or 8bit 'src' surface to newly created 'dst' surface.
// 'zoomx' and 'zoomy' are scaling factors for width and height.
// into a 32bit RGBA format on the fly.
// ----------------------------------------------------------------------------
-static SDL_Surface *zoomSurface(SDL_Surface *src, int dst_width, int dst_height)
+SDL_Surface *SDLZoomSurface(SDL_Surface *src, int dst_width, int dst_height)
{
SDL_Surface *zoom_src = NULL;
SDL_Surface *zoom_dst = NULL;
dst_bitmap->height = dst_height;
// create zoomed temporary surface from source surface
- dst_surface = zoomSurface(src_surface, dst_width, dst_height);
+ dst_surface = SDLZoomSurface(src_surface, dst_width, dst_height);
// create native format destination surface from zoomed temporary surface
SDLSetNativeSurface(&dst_surface);