1 /**********************************************************************
2 Freeciv - Copyright (C) 2002 - The Freeciv Project
3 This program is free software; you can redistribute it and/or modify
4 it under the terms of the GNU General Public License as published by
5 the Free Software Foundation; either version 2, or (at your option)
8 This program is distributed in the hope that it will be useful,
9 but WITHOUT ANY WARRANTY; without even the implied warranty of
10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 GNU General Public License for more details.
12 ***********************************************************************/
14 #ifndef FC__MAPCTRL_COMMON_H
15 #define FC__MAPCTRL_COMMON_H
19 #endif /* __cplusplus */
22 #include "support.h" /* bool type */
25 #include "map.h" /* enum direction8 */
28 #include "control.h" /* quickselect_type */
30 extern bool rbutton_down
;
31 extern bool rectangle_active
;
32 extern bool tiles_hilited_cities
;
34 extern bool keyboardless_goto_button_down
;
35 extern bool keyboardless_goto_active
;
36 extern struct tile
*keyboardless_goto_start_tile
;
38 void anchor_selection_rectangle(int canvas_x
, int canvas_y
);
39 void update_selection_rectangle(float canvas_x
, float canvas_y
);
40 void redraw_selection_rectangle(void);
41 void cancel_selection_rectangle(void);
43 bool is_city_hilited(struct city
*pcity
);
45 void cancel_tile_hiliting(void);
46 void toggle_tile_hilite(struct tile
*ptile
);
48 void key_city_overlay(int canvas_x
, int canvas_y
);
50 bool clipboard_copy_production(struct tile
*ptile
);
51 void clipboard_paste_production(struct city
*pcity
);
52 void upgrade_canvas_clipboard(void);
54 void release_right_button(int canvas_x
, int canvas_y
, bool shift
);
56 void release_goto_button(int canvas_x
, int canvas_y
);
57 void maybe_activate_keyboardless_goto(int canvas_x
, int canvas_y
);
59 bool get_turn_done_button_state(void);
60 void scroll_mapview(enum direction8 gui_dir
);
61 void action_button_pressed(int canvas_x
, int canvas_y
,
62 enum quickselect_type qtype
);
63 void wakeup_button_pressed(int canvas_x
, int canvas_y
);
64 void adjust_workers_button_pressed(int canvas_x
, int canvas_y
);
65 void recenter_button_pressed(int canvas_x
, int canvas_y
);
66 void update_turn_done_button_state(void);
67 void update_line(int canvas_x
, int canvas_y
);
68 void overview_update_line(int overview_x
, int overview_y
);
70 void fill_tile_unit_list(const struct tile
*ptile
, struct unit
**unit_list
);
72 extern struct city
*city_workers_display
;
76 #endif /* __cplusplus */
78 #endif /* FC__MAPCTRL_COMMON_H */