Freeciv-3.4
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
gui_interface.c
Go to the documentation of this file.
1/***********************************************************************
2 Freeciv - Copyright (C) 1996 - A Kjeldberg, L Gregersen, P Unold
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)
6 any later version.
7
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***********************************************************************/
13
14#ifdef HAVE_CONFIG_H
15#include <fc_config.h>
16#endif
17
18/* client */
19#include "client_main.h"
20#include "editgui_g.h"
21#include "options.h"
22
23#include "chatline_g.h"
24#include "citydlg_g.h"
25#include "connectdlg_g.h"
26#include "dialogs_g.h"
27#include "diplodlg_g.h"
28#include "editgui_g.h"
29#include "graphics_g.h"
30#include "gui_main_g.h"
31#include "mapview_g.h"
32#include "repodlgs_g.h"
33#include "themes_g.h"
34
35#include "gui_interface.h"
36
37static struct gui_funcs funcs;
38
39/**********************************************************************/
44{
45 return &funcs;
46}
47
48/**********************************************************************/
51void ui_init(void)
52{
53 funcs.ui_init();
54}
55
56/**********************************************************************/
59int ui_main(int argc, char *argv[])
60{
61 return funcs.ui_main(argc, argv);
62}
63
64/**********************************************************************/
67void ui_exit(void)
68{
69 funcs.ui_exit();
70}
71
72/**********************************************************************/
75void version_message(const char *vertext)
76{
78}
79
80/**********************************************************************/
84 const struct text_tag_list *tags,
85 int conn_id)
86{
88}
89
90/**********************************************************************/
93enum gui_type get_gui_type(void)
94{
95 return funcs.get_gui_type();
96}
97
98/**********************************************************************/
105
106/**********************************************************************/
113
114/**********************************************************************/
117struct sprite *load_gfxfile(const char *filename, bool svgflag)
118{
119 return funcs.load_gfxfile(filename, svgflag);
120}
121
122/**********************************************************************/
125struct sprite *load_gfxnumber(int num)
126{
127 return funcs.load_gfxnumber(num);
128}
129
130/**********************************************************************/
133struct sprite *create_sprite(int width, int height, struct color *pcolor)
134{
136}
137
138/**********************************************************************/
145
146/**********************************************************************/
150 int x, int y, int width, int height,
151 struct sprite *mask, int mask_offset_x, int mask_offset_y,
152 float scale, bool smooth)
153{
156}
157
158/**********************************************************************/
161void free_sprite(struct sprite *s)
162{
164}
165
166/**********************************************************************/
169struct color *color_alloc(int r, int g, int b)
170{
171 return funcs.color_alloc(r, g, b);
172}
173
174/**********************************************************************/
178{
179 return funcs.color_free(pcolor);
180}
181
182/**********************************************************************/
186{
188}
189
190/**********************************************************************/
193void canvas_free(struct canvas *store)
194{
195 funcs.canvas_free(store);
196}
197
198/**********************************************************************/
201void canvas_set_zoom(struct canvas *store, float zoom)
202{
203 funcs.canvas_set_zoom(store, zoom);
204}
205
206/**********************************************************************/
210{
211 return funcs.has_zoom_support();
212}
213
214/**********************************************************************/
217void canvas_mapview_init(struct canvas *store)
218{
220}
221
222/**********************************************************************/
225void canvas_copy(struct canvas *dest, struct canvas *src,
226 int src_x, int src_y, int dest_x, int dest_y, int width,
227 int height)
228{
230}
231
232/**********************************************************************/
236 int canvas_x, int canvas_y,
237 struct sprite *psprite,
238 int offset_x, int offset_y, int width, int height)
239{
242}
243
244/**********************************************************************/
253
254/**********************************************************************/
265
266/**********************************************************************/
270 int canvas_x, int canvas_y,
271 struct sprite *psprite,
272 bool fog, int fog_x, int fog_y)
273{
275 psprite, fog, fog_x, fog_y);
276}
277
278/**********************************************************************/
288
289/**********************************************************************/
298
299/**********************************************************************/
303 enum line_type ltype, int start_x, int start_y,
304 int dx, int dy)
305{
306 funcs.canvas_put_line(pcanvas, pcolor, ltype, start_x, start_y, dx, dy);
307}
308
309/**********************************************************************/
313 enum line_type ltype, int start_x, int start_y,
314 int dx, int dy)
315{
317 dx, dy);
318}
319
320/**********************************************************************/
323void get_text_size(int *width, int *height,
324 enum client_font font, const char *text)
325{
326 funcs.get_text_size(width, height, font, text);
327}
328
329/**********************************************************************/
333 enum client_font font, struct color *pcolor,
334 const char *text)
335{
337}
338
339/**********************************************************************/
346
347/**********************************************************************/
350void set_rulesets(int num_rulesets, char **rulesets)
351{
353}
354
355/**********************************************************************/
359{
361}
362
363/**********************************************************************/
367{
369}
370
371/**********************************************************************/
374void add_net_input(int sock)
375{
376 funcs.add_net_input(sock);
377}
378
379/**********************************************************************/
383{
385}
386
387/**********************************************************************/
394
395/**********************************************************************/
402
403/**********************************************************************/
406void add_idle_callback(void (callback)(void *), void *data)
407{
409}
410
411/**********************************************************************/
414void sound_bell(void)
415{
417}
418
419/**********************************************************************/
423{
425}
426
427/**********************************************************************/
434
435/**********************************************************************/
438void set_unit_icon(int idx, struct unit *punit)
439{
441}
442
443/**********************************************************************/
450
451/**********************************************************************/
458
459/**********************************************************************/
462void gui_update_font(const char *font_name, const char *font_value)
463{
465}
466
467/**********************************************************************/
471{
473}
474
475/**********************************************************************/
478void editgui_notify_object_created(int tag, int id)
479{
481}
482
483/**********************************************************************/
486void editgui_notify_object_changed(int objtype, int object_id, bool removal)
487{
488 funcs.editgui_notify_object_changed(objtype, object_id, removal);
489}
490
491/**********************************************************************/
494void editgui_popup_properties(const struct tile_list *tiles, int objtype)
495{
497}
498
499/**********************************************************************/
506
507/**********************************************************************/
514
515/**********************************************************************/
518void popup_combat_info(int attacker_unit_id, int defender_unit_id,
519 int attacker_hp, int defender_hp,
520 bool make_att_veteran, bool make_def_veteran)
521{
522 funcs.popup_combat_info(attacker_unit_id, defender_unit_id,
523 attacker_hp, defender_hp, make_att_veteran,
524 make_def_veteran);
525}
526
527/**********************************************************************/
534
535/**********************************************************************/
538void start_turn(void)
539{
541}
542
543/**********************************************************************/
550
551/**********************************************************************/
558
559/**********************************************************************/
566
567/**********************************************************************/
574
575/**********************************************************************/
582
583/**********************************************************************/
590
591/**********************************************************************/
595{
597}
598
599/**********************************************************************/
602bool request_transport(struct unit *pcargo, struct tile *ptile)
603{
604 return funcs.request_transport(pcargo, ptile);
605}
606
607/**********************************************************************/
614
615/**********************************************************************/
618void gui_load_theme(const char *directory, const char *theme_name)
619{
621}
622
623/**********************************************************************/
627{
629}
630
631/**********************************************************************/
638
639/**********************************************************************/
642char **get_usable_themes_in_directory(const char *directory, int *count)
643{
645}
646
647/**********************************************************************/
651 struct player *initiator)
652{
654}
655
656/**********************************************************************/
664
665/**********************************************************************/
672
673/**********************************************************************/
680
681/**********************************************************************/
688
689/**********************************************************************/
696
697/**********************************************************************/
701 struct act_confirmation_data *data)
702{
704}
705
706/**********************************************************************/
713
714/**********************************************************************/
721
722/**********************************************************************/
729
730/**********************************************************************/
737
738/**********************************************************************/
745
746/**********************************************************************/
753
754/**********************************************************************/
761
762/**********************************************************************/
765void popup_image(const char *tag)
766{
767 funcs.popup_image(tag);
768}
769
770/**********************************************************************/
@ BODYGUARD_NONE
Definition aiguard.c:37
struct canvas int int struct sprite int int int int height
Definition canvas_g.h:44
struct canvas int int int int struct sprite *sprite struct canvas struct color * pcolor
Definition canvas_g.h:56
struct canvas int int int int struct sprite *sprite canvas_put_rectangle
Definition canvas_g.h:55
struct canvas int int canvas_y
Definition canvas_g.h:43
struct canvas int canvas_x
Definition canvas_g.h:43
struct canvas int int int int struct sprite *sprite struct canvas struct color int int int int height canvas_put_line
Definition canvas_g.h:62
canvas_put_sprite
Definition canvas_g.h:42
struct canvas int int int canvas_w
Definition canvas_g.h:49
struct canvas int int int int canvas_h
Definition canvas_g.h:49
struct canvas * pcanvas
Definition canvas_g.h:42
canvas_put_sprite_full_scaled
Definition canvas_g.h:48
canvas_put_text
Definition canvas_g.h:80
struct canvas int int struct sprite int int offset_y
Definition canvas_g.h:44
struct canvas int int struct sprite int offset_x
Definition canvas_g.h:44
struct canvas int int struct sprite int int int width
Definition canvas_g.h:44
line_type
Definition canvas_g.h:25
struct unit struct city struct unit struct tile struct extra_type const struct act_prob *act_probs int actor_unit_id struct unit struct unit int const struct action *paction struct unit struct city const struct action *paction const char * expl
Definition dialogs_g.h:94
struct unit struct city struct unit struct tile struct extra_type const struct act_prob *act_probs int actor_unit_id struct unit struct unit * punit
Definition dialogs_g.h:74
struct unit struct city struct unit struct tile struct extra_type const struct act_prob *act_probs int actor_unit_id struct unit struct unit int const struct action *paction struct unit struct city * pcity
Definition dialogs_g.h:78
struct unit struct city struct unit struct tile struct extra_type const struct act_prob *act_probs int actor_unit_id struct unit struct unit int const struct action *paction struct unit struct city const struct action *paction request_action_confirmation
Definition dialogs_g.h:94
struct treaty * ptreaty
Definition diplodlg_g.h:28
struct treaty struct player struct player *initiator gui_recv_create_clause
Definition diplodlg_g.h:32
gui_recv_cancel_meeting
Definition diplodlg_g.h:27
struct treaty struct player * they
Definition diplodlg_g.h:28
struct treaty struct player struct player *initiator struct treaty struct player *they gui_recv_accept_treaty
Definition diplodlg_g.h:36
int objtype
Definition editgui_g.h:28
editgui_notify_object_changed
Definition editgui_g.h:27
static GtkWidget * source
Definition gotodlg.c:58
GType type
Definition repodlgs.c:1313
void update_timeout_label(void)
struct gui_funcs * get_gui_funcs(void)
void gui_init_meeting(struct treaty *ptreaty, struct player *they, struct player *initiator)
void real_focus_units_changed(void)
void set_unit_icons_more_arrow(bool onoff)
void science_report_dialog_popup(bool raise)
void free_sprite(struct sprite *s)
void editgui_popup_properties(const struct tile_list *tiles, int objtype)
void set_unit_icon(int idx, struct unit *punit)
void editgui_notify_object_created(int tag, int id)
struct sprite * create_sprite(int width, int height, struct color *pcolor)
char ** get_gui_specific_themes_directories(int *count)
void gui_clear_theme(void)
void real_city_dialog_popup(struct city *pcity)
void set_rulesets(int num_rulesets, char **rulesets)
void endgame_report_dialog_start(const struct packet_endgame_report *packet)
void version_message(const char *vertext)
enum client_pages get_current_client_page(void)
void ui_exit(void)
bool city_dialog_is_open(struct city *pcity)
enum gui_type get_gui_type(void)
void ui_init(void)
void real_units_report_dialog_update(void *unused)
void real_city_dialog_refresh(struct city *pcity)
void gui_load_theme(const char *directory, const char *theme_name)
void real_economy_report_dialog_update(void *unused)
void server_connect(void)
void editgui_popdown_all(void)
struct sprite * load_gfxnumber(int num)
void add_idle_callback(void(callback)(void *), void *data)
void canvas_set_zoom(struct canvas *store, float zoom)
void canvas_mapview_init(struct canvas *store)
void options_extra_init(void)
void popdown_all_city_dialogs(void)
void gui_recv_remove_clause(struct treaty *ptreaty, struct player *they)
void canvas_fill_sprite_area(struct canvas *pcanvas, struct sprite *psprite, struct color *pcolor, int canvas_x, int canvas_y)
void refresh_unit_city_dialogs(struct unit *punit)
void start_turn(void)
void real_conn_list_dialog_update(void *unused)
void real_set_client_page(enum client_pages page)
void get_text_size(int *width, int *height, enum client_font font, const char *text)
void setup_gui_properties(void)
void insert_client_build_info(char *outbuf, size_t outlen)
void canvas_free(struct canvas *store)
bool request_transport(struct unit *pcargo, struct tile *ptile)
void canvas_put_curved_line(struct canvas *pcanvas, struct color *pcolor, enum line_type ltype, int start_x, int start_y, int dx, int dy)
void close_connection_dialog(void)
void science_report_dialog_redraw(void)
void remove_net_input(void)
bool handmade_scenario_warning(void)
struct sprite * load_gfxfile(const char *filename, bool svgflag)
void gui_prepare_clause_updt(struct treaty *ptreaty, struct player *they)
void sound_bell(void)
void update_infra_dialog(void)
void map_canvas_size_refresh(void)
void real_output_window_append(const char *astring, const struct text_tag_list *tags, int conn_id)
void popup_combat_info(int attacker_unit_id, int defender_unit_id, int attacker_hp, int defender_hp, bool make_att_veteran, bool make_def_veteran)
void canvas_put_sprite_full(struct canvas *pcanvas, int canvas_x, int canvas_y, struct sprite *psprite)
void tileset_type_set(enum ts_type type)
bool has_zoom_support(void)
void color_free(struct color *pcolor)
struct color * color_alloc(int r, int g, int b)
void editgui_refresh(void)
void canvas_copy(struct canvas *dest, struct canvas *src, int src_x, int src_y, int dest_x, int dest_y, int width, int height)
void add_net_input(int sock)
static struct gui_funcs funcs
struct canvas * canvas_create(int width, int height)
void editgui_tileset_changed(void)
void real_science_report_dialog_update(void *unused)
void popdown_city_dialog(struct city *pcity)
void canvas_put_sprite_fogged(struct canvas *pcanvas, int canvas_x, int canvas_y, struct sprite *psprite, bool fog, int fog_x, int fog_y)
void popup_image(const char *tag)
int ui_main(int argc, char *argv[])
const char * font_name
Definition gui_main_g.h:43
gui_update_font
Definition gui_main_g.h:43
endgame_report_dialog_player
Definition repodlgs_g.h:33
struct sprite int int int int struct sprite * mask
Definition sprite_g.h:32
struct sprite int int y
Definition sprite_g.h:31
struct sprite int int int int struct sprite int int float scale
Definition sprite_g.h:33
struct sprite int int int int struct sprite int mask_offset_x
Definition sprite_g.h:32
struct sprite int x
Definition sprite_g.h:31
crop_sprite
Definition sprite_g.h:30
struct sprite int int int int struct sprite int int float bool smooth get_sprite_dimensions
Definition sprite_g.h:36
struct sprite int int int int struct sprite int int mask_offset_y
Definition sprite_g.h:32
float zoom
Definition canvas.h:25
Definition city.h:317
Definition colors.h:21
int g
Definition colors.h:21
int r
Definition colors.h:21
int b
Definition colors.h:21
void(* request_action_confirmation)(const char *expl, struct act_confirmation_data *data)
void(* server_connect)(void)
void(* editgui_tileset_changed)(void)
struct sprite *(* load_gfxnumber)(int num)
int(* ui_main)(int argc, char *argv[])
void(* real_economy_report_dialog_update)(void *unused)
void(* gui_recv_accept_treaty)(struct treaty *ptreaty, struct player *they)
void(* canvas_put_text)(struct canvas *pcanvas, int canvas_x, int canvas_y, enum client_font font, struct color *pcolor, const char *text)
void(* science_report_dialog_redraw)(void)
char **(* get_gui_specific_themes_directories)(int *count)
void(* gui_load_theme)(const char *directory, const char *theme_name)
void(* update_timeout_label)(void)
void(* canvas_put_sprite)(struct canvas *pcanvas, int canvas_x, int canvas_y, struct sprite *psprite, int offset_x, int offset_y, int width, int height)
void(* gui_recv_remove_clause)(struct treaty *ptreaty, struct player *they)
void(* popup_image)(const char *tag)
void(* editgui_refresh)(void)
void(* set_unit_icon)(int idx, struct unit *punit)
void(* canvas_copy)(struct canvas *dest, struct canvas *src, int src_x, int src_y, int dest_x, int dest_y, int width, int height)
void(* add_idle_callback)(void(callback)(void *), void *data)
void(* canvas_put_sprite_full)(struct canvas *pcanvas, int canvas_x, int canvas_y, struct sprite *psprite)
void(* gui_prepare_clause_updt)(struct treaty *ptreaty, struct player *they)
void(* gui_recv_cancel_meeting)(struct treaty *ptreaty, struct player *they, struct player *initiator)
void(* endgame_report_dialog_player)(const struct packet_endgame_player *packet)
void(* add_net_input)(int sock)
void(* tileset_type_set)(enum ts_type type)
struct sprite *(* load_gfxfile)(const char *filename, bool svgflag)
void(* editgui_notify_object_created)(int tag, int id)
enum client_pages(* get_current_client_page)(void)
void(* real_city_dialog_refresh)(struct city *pcity)
void(* gui_clear_theme)(void)
void(* remove_net_input)(void)
void(* real_city_dialog_popup)(struct city *pcity)
void(* endgame_report_dialog_start)(const struct packet_endgame_report *packet)
void(* color_free)(struct color *pcolor)
void(* refresh_unit_city_dialogs)(struct unit *punit)
void(* real_science_report_dialog_update)(void *unused)
void(* setup_gui_properties)(void)
void(* get_text_size)(int *width, int *height, enum client_font font, const char *text)
void(* editgui_popup_properties)(const struct tile_list *tiles, int objtype)
void(* gui_recv_create_clause)(struct treaty *ptreaty, struct player *they)
void(* update_infra_dialog)(void)
void(* popup_combat_info)(int attacker_unit_id, int defender_unit_id, int attacker_hp, int defender_hp, bool make_att_veteran, bool make_def_veteran)
void(* map_canvas_size_refresh)(void)
void(* editgui_notify_object_changed)(int objtype, int object_id, bool removal)
bool(* handmade_scenario_warning)(void)
void(* canvas_fill_sprite_area)(struct canvas *pcanvas, struct sprite *psprite, struct color *pcolor, int canvas_x, int canvas_y)
bool(* request_transport)(struct unit *pcargo, struct tile *ptile)
void(* set_rulesets)(int num_rulesets, char **rulesets)
void(* version_message)(const char *vertext)
void(* real_units_report_dialog_update)(void *unused)
void(* real_output_window_append)(const char *astring, const struct text_tag_list *tags, int conn_id)
struct sprite *(* create_sprite)(int width, int height, struct color *pcolor)
bool(* has_zoom_support)(void)
void(* get_sprite_dimensions)(struct sprite *sprite, int *width, int *height)
void(* set_unit_icons_more_arrow)(bool onoff)
void(* gui_update_font)(const char *font_name, const char *font_value)
struct canvas *(* canvas_create)(int width, int height)
void(* science_report_dialog_popup)(bool raise)
void(* ui_exit)(void)
void(* canvas_put_sprite_fogged)(struct canvas *pcanvas, int canvas_x, int canvas_y, struct sprite *psprite, bool fog, int fog_x, int fog_y)
void(* free_sprite)(struct sprite *s)
char **(* get_usable_themes_in_directory)(const char *directory, int *count)
void(* canvas_put_curved_line)(struct canvas *pcanvas, struct color *pcolor, enum line_type ltype, int start_x, int start_y, int dx, int dy)
void(* options_extra_init)(void)
void(* popdown_city_dialog)(struct city *pcity)
void(* canvas_put_line)(struct canvas *pcanvas, struct color *pcolor, enum line_type ltype, int start_x, int start_y, int dx, int dy)
void(* start_turn)(void)
void(* canvas_free)(struct canvas *store)
void(* canvas_set_zoom)(struct canvas *store, float zoom)
void(* insert_client_build_info)(char *outbuf, size_t outlen)
struct sprite *(* crop_sprite)(struct sprite *source, int x, int y, int width, int height, struct sprite *mask, int mask_offset_x, int mask_offset_y, float scale, bool smooth)
void(* canvas_put_rectangle)(struct canvas *pcanvas, struct color *pcolor, int canvas_x, int canvas_y, int width, int height)
void(* gui_init_meeting)(struct treaty *ptreaty, struct player *they, struct player *initiator)
enum gui_type(* get_gui_type)(void)
void(* editgui_popdown_all)(void)
void(* canvas_put_sprite_full_scaled)(struct canvas *pcanvas, int canvas_x, int canvas_y, int canvas_w, int canvas_h, struct sprite *psprite)
void(* popdown_all_city_dialogs)(void)
void(* canvas_mapview_init)(struct canvas *store)
void(* close_connection_dialog)(void)
void(* sound_bell)(void)
void(* real_focus_units_changed)(void)
void(* real_set_client_page)(enum client_pages page)
void(* ui_init)(void)
void(* real_conn_list_dialog_update)(void *unused)
struct color *(* color_alloc)(int r, int g, int b)
bool(* city_dialog_is_open)(struct city *pcity)
Definition tile.h:50
Definition unit.h:140
get_usable_themes_in_directory
Definition themes_g.h:22
const char * directory
Definition themes_g.h:23