OpenTTD Source 20250205-master-gfd85ab1e2c
tilehighlight_func.h
Go to the documentation of this file.
1/*
2 * This file is part of OpenTTD.
3 * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
4 * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
5 * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
6 */
7
10#ifndef TILEHIGHLIGHT_FUNC_H
11#define TILEHIGHLIGHT_FUNC_H
12
13#include "gfx_type.h"
14#include "tilehighlight_type.h"
15
18
19bool HandlePlacePushButton(Window *w, WidgetID widget, CursorID cursor, HighLightStyle mode);
21void SetObjectToPlace(CursorID icon, PaletteID pal, HighLightStyle mode, WindowClass window_class, WindowNumber window_num);
23
24void VpSelectTilesWithMethod(int x, int y, ViewportPlaceMethod method);
28void VpSetPlaceSizingLimit(int limit);
29
31
32extern TileHighlightData _thd;
33
34#endif /* TILEHIGHLIGHT_FUNC_H */
Types related to the graphics and/or input devices.
uint32_t CursorID
The number of the cursor (sprite)
Definition gfx_type.h:19
uint32_t PaletteID
The number of the palette.
Definition gfx_type.h:18
Metadata about the current highlighting.
Number to differentiate different windows of the same class.
Data structure for an opened window.
Definition window_gui.h:272
bool GUIPlaceProcDragXY(ViewportDragDropSelectionProcess proc, TileIndex start_tile, TileIndex end_tile)
A central place to handle all X_AND_Y dragged GUI functions.
void ResetObjectToPlace()
Reset the cursor and mouse mode handling back to default (normal cursor, only clicking in windows).
void SetObjectToPlaceWnd(CursorID icon, PaletteID pal, HighLightStyle mode, Window *w)
Change the cursor and mouse click/drag handling to a mode for performing special operations like tile...
void PlaceProc_DemolishArea(TileIndex tile)
Start a drag for demolishing an area.
void VpSetPresizeRange(TileIndex from, TileIndex to)
Highlights all tiles between a set of two tiles.
void VpSelectTilesWithMethod(int x, int y, ViewportPlaceMethod method)
Selects tiles while dragging.
void SetObjectToPlace(CursorID icon, PaletteID pal, HighLightStyle mode, WindowClass window_class, WindowNumber window_num)
Change the cursor and mouse click/drag handling to a mode for performing special operations like tile...
void VpStartDragging(ViewportDragDropSelectionProcess process)
Drag over the map while holding the left mouse down.
void UpdateTileSelection()
Updates tile highlighting for all cases.
void VpStartPlaceSizing(TileIndex tile, ViewportPlaceMethod method, ViewportDragDropSelectionProcess process)
highlighting tiles while only going over them with the mouse
bool HandlePlacePushButton(Window *w, WidgetID widget, CursorID cursor, HighLightStyle mode)
This code is shared for the majority of the pushbuttons.
Definition main_gui.cpp:63
Types related to highlighting tiles.
HighLightStyle
Highlighting draw styles.
ViewportPlaceMethod
Viewport place method (type of highlighted area and placed objects)
ViewportDragDropSelectionProcess
Drag and drop selection process, or, what to do with an area of land when you've selected it.
int WidgetID
Widget ID.
Definition window_type.h:20
WindowClass
Window classes.
Definition window_type.h:46