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