Freeciv-3.2
|
#include <SDL3_image/SDL_image.h>
#include <SDL3_ttf/SDL_ttf.h>
#include "fcintl.h"
#include "log.h"
#include "tilespec.h"
#include "colors.h"
#include "gui_tilespec.h"
#include "mapview.h"
#include "themebackgrounds.h"
#include "themespec.h"
#include "graphics.h"
Go to the source code of this file.
Variables | |
struct sdl3_data | main_data |
static SDL_Surface * | main_surface = NULL |
static bool | render_dirty = TRUE |
Buffer allocation function. This function is call by "create_window(...)" function and allocate buffer layer for this function.
Pointer for this buffer is put in buffer array on last position that flush functions will draw this layer last.
Definition at line 105 of file graphics.c.
int alphablit | ( | SDL_Surface * | src, |
SDL_Rect * | srcrect, | ||
SDL_Surface * | dst, | ||
SDL_Rect * | dstrect, | ||
unsigned char | alpha_mod | ||
) |
Execute alphablit.
Definition at line 192 of file graphics.c.
int blit_entire_src | ( | SDL_Surface * | psrc, |
SDL_Surface * | pdest, | ||
Sint16 | dest_x, | ||
Sint16 | dest_y | ||
) |
Blit entire src [SOURCE] surface to destination [DEST] surface on position : [dest_x],[dest_y] using it's actual alpha and color key settings.
Definition at line 417 of file graphics.c.
int clear_surface | ( | SDL_Surface * | surf, |
SDL_Rect * | dstrect | ||
) |
Fill surface with (0, 0, 0, 0), so the next blitting operation can set the per pixel alpha
Definition at line 396 of file graphics.c.
SDL_Surface * convert_surf | ( | SDL_Surface * | surf_in | ) |
Convert surface to the main window format.
Definition at line 354 of file graphics.c.
SDL_Surface * copy_surface | ( | SDL_Surface * | src | ) |
Return copy of the surface
Definition at line 1132 of file graphics.c.
Make rectangle region sane. Return TRUE if result is sane.
Definition at line 709 of file graphics.c.
SDL_Surface * create_filled_surface | ( | Uint16 | w, |
Uint16 | h, | ||
SDL_Color * | pcolor | ||
) |
Create an surface with screen format and fill with color. If pcolor == NULL surface is filled with transparent white A = 128
Definition at line 363 of file graphics.c.
void create_frame | ( | SDL_Surface * | dest, |
Sint16 | left, | ||
Sint16 | top, | ||
Sint16 | width, | ||
Sint16 | height, | ||
SDL_Color * | pcolor | ||
) |
Create colored frame
Definition at line 1167 of file graphics.c.
void create_line | ( | SDL_Surface * | dest, |
Sint16 | x0, | ||
Sint16 | y0, | ||
Sint16 | x1, | ||
Sint16 | y1, | ||
SDL_Color * | pcolor | ||
) |
Create single colored line
Definition at line 1198 of file graphics.c.
SDL_Surface * create_surf | ( | int | width, |
int | height | ||
) |
Create surface with the same format as main window
Definition at line 346 of file graphics.c.
SDL_Surface * create_surf_with_format | ( | SDL_PixelFormat | pf, |
int | width, | ||
int | height | ||
) |
Create an surface with format
Definition at line 328 of file graphics.c.
Create new main window surfaces.
Definition at line 556 of file graphics.c.
SDL_Surface * crop_rect_from_surface | ( | SDL_Surface * | psource, |
SDL_Rect * | prect | ||
) |
Create new surface (prect->w x prect->h size) and copy prect area of psource. if prect == NULL then create copy of entire psource.
Definition at line 231 of file graphics.c.
SDL_Surface * crop_visible_part_from_surface | ( | SDL_Surface * | psrc | ) |
Create new surface that is just visible part of source surface.
Definition at line 1048 of file graphics.c.
int fill_rect_alpha | ( | SDL_Surface * | surf, |
SDL_Rect * | prect, | ||
SDL_Color * | pcolor | ||
) |
Fill rectangle with color with alpha channel.
Definition at line 675 of file graphics.c.
Free existing surfaces
Definition at line 543 of file graphics.c.
Uint32 get_first_pixel | ( | SDL_Surface * | surf | ) |
Get first pixel Return the pixel value at (0, 0) NOTE: The surface must be locked before calling this!
Definition at line 468 of file graphics.c.
struct gui_layer * get_gui_layer | ( | SDL_Surface * | surface | ) |
Get surface gui_layer.
Definition at line 83 of file graphics.c.
Uint32 get_pixel | ( | SDL_Surface * | surf, |
Sint16 | x, | ||
Sint16 | y | ||
) |
Get pixel Return the pixel value at (x, y) NOTE: The surface must be locked before calling this!
Definition at line 430 of file graphics.c.
Referenced by convert_iconlabel_to_themeiconlabel2(), create_themelabel2(), and SurfaceToCursor().
void get_smaller_surface_rect | ( | SDL_Surface * | surf, |
SDL_Rect * | rect | ||
) |
Get visible rectangle from surface.
Definition at line 757 of file graphics.c.
Free resources associated with gui_layer.
Definition at line 74 of file graphics.c.
struct gui_layer * gui_layer_new | ( | int | x, |
int | y, | ||
SDL_Surface * | surface | ||
) |
Allocate new gui_layer.
Definition at line 59 of file graphics.c.
Initialize sdl with Flags
Definition at line 506 of file graphics.c.
Return whether coordinates are in rectangle.
Definition at line 746 of file graphics.c.
Return whether the client supports given view type
Definition at line 1146 of file graphics.c.
Translate dest_rect from gui_layer's to global screen coordinates.
Definition at line 178 of file graphics.c.
SDL_Surface * load_surf | ( | const char * | fname | ) |
Load a surface from file putting it in software mem.
Definition at line 308 of file graphics.c.
Return height of the main window
Definition at line 667 of file graphics.c.
Return width of the main window
Definition at line 659 of file graphics.c.
SDL_Surface * mask_surface | ( | SDL_Surface * | src, |
SDL_Surface * | mask, | ||
int | mask_offset_x, | ||
int | mask_offset_y | ||
) |
Reduce the alpha of the final surface proportional to the alpha of the mask. Thus if the mask has 50% alpha the final image will be reduced by 50% alpha.
mask_offset_x, mask_offset_y is the offset of the mask relative to the origin of the source image. The pixel at (mask_offset_x, mask_offset_y) in the mask image will be used to clip pixel (0, 0) in the source image which is pixel (-x, -y) in the new image.
Definition at line 256 of file graphics.c.
Free screen buffers
Definition at line 600 of file graphics.c.
Free buffer layer ( call by popdown_window_group_dialog(...) func ) Func. Free buffer layer and clear buffer array entry.
Definition at line 141 of file graphics.c.
SDL_Surface * resize_surface | ( | const SDL_Surface * | psrc, |
Uint16 | new_width, | ||
Uint16 | new_height, | ||
int | smooth | ||
) |
Scale surface.
Definition at line 1060 of file graphics.c.
SDL_Surface * resize_surface_box | ( | const SDL_Surface * | psrc, |
Uint16 | new_width, | ||
Uint16 | new_height, | ||
int | smooth, | ||
bool | scale_up, | ||
bool | absolute_dimensions | ||
) |
Resize a surface to fit into a box with the dimensions 'new_width' and a 'new_height'. If 'scale_up' is FALSE, a surface that already fits into the box will not be scaled up to the boundaries of the box. If 'absolute_dimensions' is TRUE, the function returns a surface with the dimensions of the box and the scaled/original surface centered in it.
Definition at line 1080 of file graphics.c.
int screen_blit | ( | SDL_Surface * | src, |
SDL_Rect * | srcrect, | ||
SDL_Rect * | dstrect, | ||
unsigned char | alpha_mod | ||
) |
Execute alphablit to the main surface
Definition at line 218 of file graphics.c.
Translate dest_rect from global screen to gui_layer's coordinates.
Definition at line 166 of file graphics.c.
Switch to given video mode.
Definition at line 614 of file graphics.c.
Loading tileset of the specified type
Definition at line 1160 of file graphics.c.
Render from main surface with screen renderer.
Definition at line 643 of file graphics.c.
Definition at line 50 of file graphics.c.
|
static |
Definition at line 52 of file graphics.c.
Definition at line 54 of file graphics.c.