Freeciv-3.2
Loading...
Searching...
No Matches
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 "themes_g.h"
33
34#include "gui_interface.h"
35
36static struct gui_funcs funcs;
37
38/**********************************************************************/
43{
44 return &funcs;
45}
46
47/**********************************************************************/
50void ui_init(void)
51{
52 funcs.ui_init();
53}
54
55/**********************************************************************/
58int ui_main(int argc, char *argv[])
59{
60 return funcs.ui_main(argc, argv);
61}
62
63/**********************************************************************/
66void ui_exit(void)
67{
68 funcs.ui_exit();
69}
70
71/**********************************************************************/
74void version_message(const char *vertext)
75{
77}
78
79/**********************************************************************/
83 const struct text_tag_list *tags,
84 int conn_id)
85{
87}
88
89/**********************************************************************/
92enum gui_type get_gui_type(void)
93{
94 return funcs.get_gui_type();
95}
96
97/**********************************************************************/
104
105/**********************************************************************/
109{
111}
112
113/**********************************************************************/
120
121/**********************************************************************/
124struct sprite *load_gfxfile(const char *filename, bool svgflag)
125{
126 return funcs.load_gfxfile(filename, svgflag);
127}
128
129/**********************************************************************/
132struct sprite *load_gfxnumber(int num)
133{
134 return funcs.load_gfxnumber(num);
135}
136
137/**********************************************************************/
140struct sprite *create_sprite(int width, int height, struct color *pcolor)
141{
143}
144
145/**********************************************************************/
152
153/**********************************************************************/
157 int x, int y, int width, int height,
158 struct sprite *mask, int mask_offset_x, int mask_offset_y,
159 float scale, bool smooth)
160{
163}
164
165/**********************************************************************/
168void free_sprite(struct sprite *s)
169{
171}
172
173/**********************************************************************/
176struct color *color_alloc(int r, int g, int b)
177{
178 return funcs.color_alloc(r, g, b);
179}
180
181/**********************************************************************/
185{
186 return funcs.color_free(pcolor);
187}
188
189/**********************************************************************/
193{
195}
196
197/**********************************************************************/
200void canvas_free(struct canvas *store)
201{
202 funcs.canvas_free(store);
203}
204
205/**********************************************************************/
208void canvas_set_zoom(struct canvas *store, float zoom)
209{
210 funcs.canvas_set_zoom(store, zoom);
211}
212
213/**********************************************************************/
217{
218 return funcs.has_zoom_support();
219}
220
221/**********************************************************************/
224void canvas_mapview_init(struct canvas *store)
225{
227}
228
229/**********************************************************************/
232void canvas_copy(struct canvas *dest, struct canvas *src,
233 int src_x, int src_y, int dest_x, int dest_y, int width,
234 int height)
235{
237}
238
239/**********************************************************************/
243 int canvas_x, int canvas_y,
244 struct sprite *psprite,
245 int offset_x, int offset_y, int width, int height)
246{
249}
250
251/**********************************************************************/
260
261/**********************************************************************/
272
273/**********************************************************************/
277 int canvas_x, int canvas_y,
278 struct sprite *psprite,
279 bool fog, int fog_x, int fog_y)
280{
282 psprite, fog, fog_x, fog_y);
283}
284
285/**********************************************************************/
295
296/**********************************************************************/
305
306/**********************************************************************/
310 enum line_type ltype, int start_x, int start_y,
311 int dx, int dy)
312{
313 funcs.canvas_put_line(pcanvas, pcolor, ltype, start_x, start_y, dx, dy);
314}
315
316/**********************************************************************/
320 enum line_type ltype, int start_x, int start_y,
321 int dx, int dy)
322{
324 dx, dy);
325}
326
327/**********************************************************************/
330void get_text_size(int *width, int *height,
331 enum client_font font, const char *text)
332{
333 funcs.get_text_size(width, height, font, text);
334}
335
336/**********************************************************************/
340 enum client_font font, struct color *pcolor,
341 const char *text)
342{
344}
345
346/**********************************************************************/
353
354/**********************************************************************/
357void set_rulesets(int num_rulesets, char **rulesets)
358{
360}
361
362/**********************************************************************/
366{
368}
369
370/**********************************************************************/
374{
376}
377
378/**********************************************************************/
381void add_net_input(int sock)
382{
383 funcs.add_net_input(sock);
384}
385
386/**********************************************************************/
390{
392}
393
394/**********************************************************************/
401
402/**********************************************************************/
409
410/**********************************************************************/
413void add_idle_callback(void (callback)(void *), void *data)
414{
416}
417
418/**********************************************************************/
421void sound_bell(void)
422{
424}
425
426/**********************************************************************/
430{
432}
433
434/**********************************************************************/
441
442/**********************************************************************/
445void set_unit_icon(int idx, struct unit *punit)
446{
448}
449
450/**********************************************************************/
457
458/**********************************************************************/
465
466/**********************************************************************/
469void gui_update_font(const char *font_name, const char *font_value)
470{
472}
473
474/**********************************************************************/
478{
480}
481
482/**********************************************************************/
485void editgui_notify_object_created(int tag, int id)
486{
488}
489
490/**********************************************************************/
493void editgui_notify_object_changed(int objtype, int object_id, bool removal)
494{
495 funcs.editgui_notify_object_changed(objtype, object_id, removal);
496}
497
498/**********************************************************************/
501void editgui_popup_properties(const struct tile_list *tiles, int objtype)
502{
504}
505
506/**********************************************************************/
513
514/**********************************************************************/
521
522/**********************************************************************/
525void popup_combat_info(int attacker_unit_id, int defender_unit_id,
526 int attacker_hp, int defender_hp,
527 bool make_att_veteran, bool make_def_veteran)
528{
529 funcs.popup_combat_info(attacker_unit_id, defender_unit_id,
530 attacker_hp, defender_hp, make_att_veteran,
531 make_def_veteran);
532}
533
534/**********************************************************************/
541
542/**********************************************************************/
545void start_turn(void)
546{
548}
549
550/**********************************************************************/
553void real_city_dialog_popup(struct city *pcity)
554{
556}
557
558/**********************************************************************/
562{
564}
565
566/**********************************************************************/
569void popdown_city_dialog(struct city *pcity)
570{
572}
573
574/**********************************************************************/
581
582/**********************************************************************/
589
590/**********************************************************************/
597
598/**********************************************************************/
601bool city_dialog_is_open(struct city *pcity)
602{
603 return funcs.city_dialog_is_open(pcity);
604}
605
606/**********************************************************************/
609bool request_transport(struct unit *pcargo, struct tile *ptile)
610{
611 return funcs.request_transport(pcargo, ptile);
612}
613
614/**********************************************************************/
621
622/**********************************************************************/
625void gui_load_theme(const char *directory, const char *theme_name)
626{
628}
629
630/**********************************************************************/
634{
636}
637
638/**********************************************************************/
645
646/**********************************************************************/
649char **get_usable_themes_in_directory(const char *directory, int *count)
650{
652}
653
654/**********************************************************************/
658 struct player *initiator)
659{
661}
662
663/**********************************************************************/
671
672/**********************************************************************/
679
680/**********************************************************************/
687
688/**********************************************************************/
695
696/**********************************************************************/
703
704/**********************************************************************/
707void request_action_confirmation(const char *expl,
708 struct act_confirmation_data *data)
709{
711}
712
713/**********************************************************************/
716void popup_image(const char *tag)
717{
718 funcs.popup_image(tag);
719}
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
char * incite_cost
Definition comments.c:75
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 Treaty struct player struct player *initiator gui_recv_create_clause
Definition diplodlg_g.h:32
struct Treaty * ptreaty
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
struct Treaty struct player * they
Definition diplodlg_g.h:28
gui_recv_cancel_meeting
Definition diplodlg_g.h:27
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 real_focus_units_changed(void)
void set_unit_icons_more_arrow(bool onoff)
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 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_city_dialog_refresh(struct city *pcity)
void gui_init_meeting(struct Treaty *ptreaty, struct player *they, struct player *initiator)
void gui_load_theme(const char *directory, const char *theme_name)
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 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 gui_recv_remove_clause(struct Treaty *ptreaty, struct player *they)
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 remove_net_input(void)
bool handmade_scenario_warning(void)
struct sprite * load_gfxfile(const char *filename, bool svgflag)
void sound_bell(void)
bool is_view_supported(enum ts_type type)
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
void gui_prepare_clause_updt(struct Treaty *ptreaty, struct player *they)
struct canvas * canvas_create(int width, int height)
void request_action_confirmation(const char *expl, struct act_confirmation_data *data)
void editgui_tileset_changed(void)
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
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:320
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(* canvas_put_text)(struct canvas *pcanvas, int canvas_x, int canvas_y, enum client_font font, struct color *pcolor, const char *text)
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(* 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(* add_net_input)(int sock)
void(* gui_recv_create_clause)(struct Treaty *ptreaty, struct player *they)
void(* tileset_type_set)(enum ts_type type)
struct sprite *(* load_gfxfile)(const char *filename, bool svgflag)
void(* gui_init_meeting)(struct Treaty *ptreaty, struct player *they, struct player *initiator)
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(* gui_recv_remove_clause)(struct Treaty *ptreaty, struct player *they)
void(* color_free)(struct color *pcolor)
void(* refresh_unit_city_dialogs)(struct unit *punit)
bool(* is_view_supported)(enum ts_type type)
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(* 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_output_window_append)(const char *astring, const struct text_tag_list *tags, int conn_id)
void(* gui_recv_cancel_meeting)(struct Treaty *ptreaty, struct player *they, struct player *initiator)
void(* gui_recv_accept_treaty)(struct Treaty *ptreaty, struct player *they)
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(* 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(* gui_prepare_clause_updt)(struct Treaty *ptreaty, struct player *they)
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)
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:138
get_usable_themes_in_directory
Definition themes_g.h:22
const char * directory
Definition themes_g.h:23