tron@2186: /* $Id$ */ tron@2186: rubidium@10445: /** @file tilehighlight_func.h Functions related to tile highlights. */ belugas@6919: rubidium@10445: #ifndef TILEHIGHLIGHT_FUNC_H rubidium@10445: #define TILEHIGHLIGHT_FUNC_H truelight@0: rubidium@8721: #include "gfx_type.h" rubidium@10445: #include "window_type.h" rubidium@8720: #include "viewport_type.h" rubidium@10445: #include "tilehighlight_type.h" truelight@0: rubidium@8720: typedef void PlaceProc(TileIndex tile); rubidium@8720: void PlaceProc_DemolishArea(TileIndex tile); rubidium@10616: bool GUIPlaceProcDragXY(ViewportDragDropSelectionProcess proc, TileIndex start_tile, TileIndex end_tile); truelight@0: rubidium@8385: bool HandlePlacePushButton(Window *w, int widget, CursorID cursor, ViewportHighlightMode mode, PlaceProc *placeproc); rubidium@8617: void SetObjectToPlaceWnd(CursorID icon, SpriteID pal, ViewportHighlightMode mode, Window *w); rubidium@8617: void SetObjectToPlace(CursorID icon, SpriteID pal, ViewportHighlightMode mode, WindowClass window_class, WindowNumber window_num); rubidium@10467: void ResetObjectToPlace(); rubidium@8617: rubidium@10466: void VpSelectTilesWithMethod(int x, int y, ViewportPlaceMethod method); rubidium@10466: void VpStartPlaceSizing(TileIndex tile, ViewportPlaceMethod method, ViewportDragDropSelectionProcess process); rubidium@10466: void VpSetPresizeRange(TileIndex from, TileIndex to); rubidium@10466: void VpSetPlaceSizingLimit(int limit); rubidium@10466: rubidium@8720: extern PlaceProc *_place_proc; rubidium@8720: extern TileHighlightData _thd; rubidium@8720: rubidium@10445: #endif /* TILEHIGHLIGHT_FUNC_H */