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