OpenTTD Source
20240917-master-g9ab0a47812
|
Go to the documentation of this file.
10 #ifndef VIEWPORT_FUNC_H
11 #define VIEWPORT_FUNC_H
22 void SetSelectionRed(
bool);
24 void DeleteWindowViewport(
Window *w);
28 Point GetTileBelowCursor();
34 void ZoomInOrOutToCursorWindow(
bool in,
Window * w);
35 void ConstrainAllViewportsZoom();
37 void FixTitleGameZoom(
int zoom_adjust = 0);
55 void AddSortableSpriteToDraw(
SpriteID image,
PaletteID pal,
int x,
int y,
int w,
int h,
int dz,
int z,
bool transparent =
false,
int bb_offset_x = 0,
int bb_offset_y = 0,
int bb_offset_z = 0,
const SubSprite *sub =
nullptr);
63 bool HandleViewportClicked(
const Viewport *vp,
int x,
int y);
66 void SetTileSelectBigSize(
int ox,
int oy,
int sx,
int sy);
68 void ViewportDoDraw(
const Viewport *vp,
int left,
int top,
int right,
int bottom);
73 void RebuildViewportOverlay(
Window *w);
79 void ClearAllCachedNames();
81 extern Point _tile_fract_coords;
105 void MarkCatchmentTilesDirty();
108 void SetViewportCatchmentSpecializedStation(
const T *st,
bool sel);
111 inline void SetViewportCatchmentSpecializedStation(
const Station *st,
bool sel)
117 inline void SetViewportCatchmentSpecializedStation(
const Waypoint *st,
bool sel)
void DrawGroundSprite(SpriteID image, PaletteID pal, const SubSprite *sub=nullptr, int extra_offs_x=0, int extra_offs_y=0)
Draws a ground sprite for the current tile.
bool ScrollWindowToTile(TileIndex tile, Window *w, bool instant=false)
Scrolls the viewport in a window to a given location.
uint32_t StringID
Numeric value that represents a string, independent of the selected language.
void SetRedErrorSquare(TileIndex tile)
Set a tile to display a red error square.
bool ScrollWindowTo(int x, int y, int z, Window *w, bool instant=false)
Scrolls the viewport in a window to a given location.
void AddSortableSpriteToDraw(SpriteID image, PaletteID pal, int x, int y, int w, int h, int dz, int z, bool transparent=false, int bb_offset_x=0, int bb_offset_y=0, int bb_offset_z=0, const SubSprite *sub=nullptr)
Draw a (transparent) sprite at given coordinates with a given bounding box.
void SetViewportCatchmentTown(const Town *t, bool sel)
Select or deselect town for coverage area highlight.
Representation of a waypoint.
void MaxZoomInOut(ZoomStateChange how, Window *w)
Zoom a viewport as far as possible in the given direction.
Location information about a sign as seen on the viewport.
bool DoZoomInOutWindow(ZoomStateChange how, Window *w)
Zooms a viewport in a window in or out.
Used to only draw a part of the sprite.
uint32_t PaletteID
The number of the palette.
void DrawGroundSpriteAt(SpriteID image, PaletteID pal, int32_t x, int32_t y, int z, const SubSprite *sub=nullptr, int extra_offs_x=0, int extra_offs_y=0)
Draws a ground sprite at a specific world-coordinate relative to the current tile.
void SetViewportCatchmentWaypoint(const Waypoint *wp, bool sel)
Select or deselect waypoint for coverage area highlight.
Data structure for viewport, display of a part of the world.
void AddChildSpriteScreen(SpriteID image, PaletteID pal, int x, int y, bool transparent=false, const SubSprite *sub=nullptr, bool scale=true, bool relative=true)
Add a child sprite to a parent sprite.
void HandleZoomMessage(Window *w, const Viewport *vp, WidgetID widget_zoom_in, WidgetID widget_zoom_out)
Update the status of the zoom-buttons according to the zoom-level of the viewport.
Coordinates of a point in 2D.
void StartSpriteCombine()
Starts a block of sprites, which are "combined" into a single bounding box.
uint32_t SpriteID
The number of a sprite, without mapping bits and colourtables.
bool ScrollMainWindowToTile(TileIndex tile, bool instant=false)
Scrolls the viewport of the main window to a given location.
bool MarkAllViewportsDirty(int left, int top, int right, int bottom)
Mark all viewports that display an area as dirty (in need of repaint).
void SetTileSelectSize(int w, int h)
Highlight w by h tiles at the cursor.
void SetViewportCatchmentStation(const Station *st, bool sel)
Select or deselect station for coverage area highlight.
void EndSpriteCombine()
Terminates a block of sprites started by StartSpriteCombine.
void UpdateAllVirtCoords()
Update the viewport coordinates of all signs.
void UpdateViewportPosition(Window *w, uint32_t delta_ms)
Update the viewport position being displayed.
bool ScrollMainWindowTo(int x, int y, int z=-1, bool instant=false)
Scrolls the main window to given coordinates.
void MarkTileDirtyByTile(TileIndex tile, int bridge_level_offset, int tile_height_override)
Mark a tile given by its index dirty for repaint.
Viewport * IsPtInWindowViewport(const Window *w, int x, int y)
Is a xy position inside the viewport of the window?
void OffsetGroundSprite(int x, int y)
Called when a foundation has been drawn for the current tile.
static debug_inline uint TileHeight(Tile tile)
Returns the height of a tile.
Point TranslateXYToTileCoord(const Viewport *vp, int x, int y, bool clamp_to_map=true)
Translate screen coordinate in a viewport to underlying tile coordinate.
static const int TILE_HEIGHT_STEP
One Z unit tile height difference is displayed as 50m.
void ViewportAddString(const DrawPixelInfo *dpi, ZoomLevel small_from, const ViewportSign *sign, StringID string_normal, StringID string_small, StringID string_small_shadow, Colours colour=INVALID_COLOUR)
Add a string to draw in the viewport.
Data structure for an opened window.
ZoomStateChange
Directions of zooming.
void InitializeWindowViewport(Window *w, int x, int y, int width, int height, std::variant< TileIndex, VehicleID > focus, ZoomLevel zoom)
Initialize viewport of the window for use.
ZoomLevel
All zoom levels we know.
Data about how and where to blit pixels.