Freeciv-3.1: /fast/freeciv/nightly/S3_1/client/gui_interface.h Source File

Freeciv-3.1

Loading...
Searching...
No Matches
gui_interface.h
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#ifndef FC__QTG_CSIDE_H
15#define FC__QTG_CSIDE_H
16
17#ifdef __cplusplus
18extern "C" {
19#endif /* __cplusplus */
20
21/* common */
22#include "fc_types.h"
23#include "featured_text.h"
24#include "tile.h"
25
26/* client/include */
27#include "canvas_g.h"
28#include "pages_g.h"
29
30/* client */
31#include "tilespec.h"
32
33 struct gui_funcs {
34 void (*ui_init)(void);
35 int (*ui_main)(int argc, char *argv[]);
36 void (*ui_exit)(void);
37
38 enum gui_type (*get_gui_type)(void);
39 void (*insert_client_build_info)(char *outbuf, size_t outlen);
40
41 void (*version_message)(const char *vertext);
42 void (*real_output_window_append)(const char *astring,
43 const struct text_tag_list *tags,
44 int conn_id);
45
46 bool (*is_view_supported)(enum ts_type type);
47 void (*tileset_type_set)(enum ts_type type);
48 struct sprite * (*load_gfxfile)(const char *filename);
49 struct sprite * (*load_gfxnumber)(int num);
50 struct sprite * (*create_sprite)(int width, int height, struct color *pcolor);
51 void (*get_sprite_dimensions)(struct sprite *sprite, int *width, int *height);
52 struct sprite * (*crop_sprite)(struct sprite *source,
53 int x, int y, int width, int height,
54 struct sprite *mask,
55 int mask_offset_x, int mask_offset_y,
56 float scale, bool smooth);
57 void (*free_sprite)(struct sprite *s);
58
59 struct color *(*color_alloc)(int r, int g, int b);
60 void (*color_free)(struct color *pcolor);
61
62 struct canvas *(*canvas_create)(int width, int height);
63 void (*canvas_free)(struct canvas *store);
64 void (*canvas_set_zoom)(struct canvas *store, float zoom);
65 bool (*has_zoom_support)(void);
66 void (*canvas_mapview_init)(struct canvas *store);
67 void (*canvas_copy)(struct canvas *dest, struct canvas *src,
68 int src_x, int src_y, int dest_x, int dest_y, int width,
69 int height);
70 void (*canvas_put_sprite)(struct canvas *pcanvas,
71 int canvas_x, int canvas_y,
72 struct sprite *psprite,
73 int offset_x, int offset_y, int width, int height);
74 void (*canvas_put_sprite_full)(struct canvas *pcanvas,
75 int canvas_x, int canvas_y,
76 struct sprite *psprite);
77 void (*canvas_put_sprite_fogged)(struct canvas *pcanvas,
78 int canvas_x, int canvas_y,
79 struct sprite *psprite,
80 bool fog, int fog_x, int fog_y);
81 void (*canvas_put_rectangle)(struct canvas *pcanvas,
82 struct color *pcolor,
83 int canvas_x, int canvas_y,
84 int width, int height);
85 void (*canvas_fill_sprite_area)(struct canvas *pcanvas,
86 struct sprite *psprite, struct color *pcolor,
87 int canvas_x, int canvas_y);
88 void (*canvas_put_line)(struct canvas *pcanvas, struct color *pcolor,
89 enum line_type ltype, int start_x, int start_y,
90 int dx, int dy);
91 void (*canvas_put_curved_line)(struct canvas *pcanvas, struct color *pcolor,
92 enum line_type ltype, int start_x, int start_y,
93 int dx, int dy);
94 void (*get_text_size)(int *width, int *height,
95 enum client_font font, const char *text);
96 void (*canvas_put_text)(struct canvas *pcanvas, int canvas_x, int canvas_y,
97 enum client_font font, struct color *pcolor,
98 const char *text);
99
100 void (*map_canvas_size_refresh)(void);
101
102 void (*set_rulesets)(int num_rulesets, char **rulesets);
103 void (*options_extra_init)(void);
104 void (*server_connect)(void);
105 void (*add_net_input)(int sock);
106 void (*remove_net_input)(void);
107 void (*real_conn_list_dialog_update)(void *unused);
108 void (*close_connection_dialog)(void);
109 void (*add_idle_callback)(void (callback)(void *), void *data);
110 void (*sound_bell)(void);
111
112 void (*real_set_client_page)(enum client_pages page);
113 enum client_pages (*get_current_client_page)(void);
114
115 void (*set_unit_icon)(int idx, struct unit *punit);
116 void (*set_unit_icons_more_arrow)(bool onoff);
117 void (*real_focus_units_changed)(void);
118 void (*gui_update_font)(const char *font_name, const char *font_value);
119
120 void (*editgui_refresh)(void);
121 void (*editgui_notify_object_created)(int tag, int id);
122 void (*editgui_notify_object_changed)(int objtype, int object_id, bool removal);
123 void (*editgui_popup_properties)(const struct tile_list *tiles, int objtype);
124 void (*editgui_tileset_changed)(void);
125 void (*editgui_popdown_all)(void);
126
127 void (*popup_combat_info)(int attacker_unit_id, int defender_unit_id,
128 int attacker_hp, int defender_hp,
129 bool make_att_veteran, bool make_def_veteran);
130 void (*update_timeout_label)(void);
131 void (*start_turn)(void);
132 void (*real_city_dialog_popup)(struct city *pcity);
133 void (*real_city_dialog_refresh)(struct city *pcity);
134 void (*popdown_city_dialog)(struct city *pcity);
135 void (*popdown_all_city_dialogs)(void);
136 bool (*handmade_scenario_warning)(void);
137 void (*refresh_unit_city_dialogs)(struct unit *punit);
138 bool (*city_dialog_is_open)(struct city *pcity);
139
140 bool (*request_transport)(struct unit *pcargo, struct tile *ptile);
141
142 void (*update_infra_dialog)(void);
143
144 void (*gui_load_theme)(const char *directory, const char *theme_name);
145 void (*gui_clear_theme)(void);
146 char **(*get_gui_specific_themes_directories)(int *count);
147 char **(*get_usable_themes_in_directory)(const char *directory, int *count);
148};
149
150struct gui_funcs *get_gui_funcs(void);
151
152#ifdef __cplusplus
153}
154#endif /* __cplusplus */
155
156#endif /* FC__QTG_CSIDE_H */
canvas_g.h
height
struct canvas int int struct sprite int int int int height
Definition canvas_g.h:44
pcolor
struct canvas int int struct sprite bool int int fog_y struct canvas struct sprite struct color * pcolor
Definition canvas_g.h:57
fog_x
struct canvas int int struct sprite bool int fog_x
Definition canvas_g.h:51
canvas_y
struct canvas int int canvas_y
Definition canvas_g.h:43
canvas_x
struct canvas int canvas_x
Definition canvas_g.h:43
client_font
struct canvas int int struct sprite bool int int fog_y struct canvas struct sprite struct color int int canvas_y struct canvas struct color enum line_type ltype int start_x int start_y int dx int dy enum client_font
Definition canvas_g.h:69
width
struct canvas int int struct sprite int int int width
Definition canvas_g.h:44
pcanvas
struct canvas * pcanvas
Definition canvas_g.h:42
psprite
struct canvas int int struct sprite * psprite
Definition canvas_g.h:50
offset_y
struct canvas int int struct sprite int int offset_y
Definition canvas_g.h:44
offset_x
struct canvas int int struct sprite int offset_x
Definition canvas_g.h:44
line_type
line_type
Definition canvas_g.h:25
fog
struct canvas int int struct sprite bool fog
Definition canvas_g.h:51
punit
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:73
objtype
int objtype
Definition editgui_g.h:28
id
int int id
Definition editgui_g.h:28
fc_types.h
featured_text.h
source
static GtkWidget * source
Definition gotodlg.c:58
type
GType type
Definition repodlgs.c:1312
get_gui_funcs
struct gui_funcs * get_gui_funcs(void)
Definition gui_interface.c:41
font_name
const char * font_name
Definition gui_main_g.h:43
pages_g.h
astring
Definition astring.h:36
callback
Definition gui_main.c:2187
canvas
Definition canvas.h:21
city
Definition city.h:309
color
Definition colors.h:20
gui_funcs
Definition gui_interface.h:33
gui_funcs::server_connect
void(* server_connect)(void)
Definition gui_interface.h:104
gui_funcs::editgui_tileset_changed
void(* editgui_tileset_changed)(void)
Definition gui_interface.h:124
gui_funcs::ui_main
int(* ui_main)(int argc, char *argv[])
Definition gui_interface.h:35
gui_funcs::canvas_put_text
void(* canvas_put_text)(struct canvas *pcanvas, int canvas_x, int canvas_y, enum client_font font, struct color *pcolor, const char *text)
Definition gui_interface.h:96
gui_funcs::gui_load_theme
void(* gui_load_theme)(const char *directory, const char *theme_name)
Definition gui_interface.h:144
gui_funcs::update_timeout_label
void(* update_timeout_label)(void)
Definition gui_interface.h:130
gui_funcs::canvas_put_sprite
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)
Definition gui_interface.h:70
gui_funcs::editgui_refresh
void(* editgui_refresh)(void)
Definition gui_interface.h:120
gui_funcs::set_unit_icon
void(* set_unit_icon)(int idx, struct unit *punit)
Definition gui_interface.h:115
gui_funcs::canvas_copy
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)
Definition gui_interface.h:67
gui_funcs::add_idle_callback
void(* add_idle_callback)(void(callback)(void *), void *data)
Definition gui_interface.h:109
gui_funcs::canvas_put_sprite_full
void(* canvas_put_sprite_full)(struct canvas *pcanvas, int canvas_x, int canvas_y, struct sprite *psprite)
Definition gui_interface.h:74
gui_funcs::add_net_input
void(* add_net_input)(int sock)
Definition gui_interface.h:105
gui_funcs::tileset_type_set
void(* tileset_type_set)(enum ts_type type)
Definition gui_interface.h:47
gui_funcs::editgui_notify_object_created
void(* editgui_notify_object_created)(int tag, int id)
Definition gui_interface.h:121
gui_funcs::get_current_client_page
enum client_pages(* get_current_client_page)(void)
Definition gui_interface.h:113
gui_funcs::real_city_dialog_refresh
void(* real_city_dialog_refresh)(struct city *pcity)
Definition gui_interface.h:133
gui_funcs::gui_clear_theme
void(* gui_clear_theme)(void)
Definition gui_interface.h:145
gui_funcs::remove_net_input
void(* remove_net_input)(void)
Definition gui_interface.h:106
gui_funcs::real_city_dialog_popup
void(* real_city_dialog_popup)(struct city *pcity)
Definition gui_interface.h:132
gui_funcs::color_free
void(* color_free)(struct color *pcolor)
Definition gui_interface.h:60
gui_funcs::refresh_unit_city_dialogs
void(* refresh_unit_city_dialogs)(struct unit *punit)
Definition gui_interface.h:137
gui_funcs::is_view_supported
bool(* is_view_supported)(enum ts_type type)
Definition gui_interface.h:46
gui_funcs::get_text_size
void(* get_text_size)(int *width, int *height, enum client_font font, const char *text)
Definition gui_interface.h:94
gui_funcs::editgui_popup_properties
void(* editgui_popup_properties)(const struct tile_list *tiles, int objtype)
Definition gui_interface.h:123
gui_funcs::update_infra_dialog
void(* update_infra_dialog)(void)
Definition gui_interface.h:142
gui_funcs::popup_combat_info
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)
Definition gui_interface.h:127
gui_funcs::map_canvas_size_refresh
void(* map_canvas_size_refresh)(void)
Definition gui_interface.h:100
gui_funcs::editgui_notify_object_changed
void(* editgui_notify_object_changed)(int objtype, int object_id, bool removal)
Definition gui_interface.h:122
gui_funcs::handmade_scenario_warning
bool(* handmade_scenario_warning)(void)
Definition gui_interface.h:136
gui_funcs::canvas_fill_sprite_area
void(* canvas_fill_sprite_area)(struct canvas *pcanvas, struct sprite *psprite, struct color *pcolor, int canvas_x, int canvas_y)
Definition gui_interface.h:85
gui_funcs::request_transport
bool(* request_transport)(struct unit *pcargo, struct tile *ptile)
Definition gui_interface.h:140
gui_funcs::set_rulesets
void(* set_rulesets)(int num_rulesets, char **rulesets)
Definition gui_interface.h:102
gui_funcs::version_message
void(* version_message)(const char *vertext)
Definition gui_interface.h:41
gui_funcs::real_output_window_append
void(* real_output_window_append)(const char *astring, const struct text_tag_list *tags, int conn_id)
Definition gui_interface.h:42
gui_funcs::has_zoom_support
bool(* has_zoom_support)(void)
Definition gui_interface.h:65
gui_funcs::get_sprite_dimensions
void(* get_sprite_dimensions)(struct sprite *sprite, int *width, int *height)
Definition gui_interface.h:51
gui_funcs::set_unit_icons_more_arrow
void(* set_unit_icons_more_arrow)(bool onoff)
Definition gui_interface.h:116
gui_funcs::gui_update_font
void(* gui_update_font)(const char *font_name, const char *font_value)
Definition gui_interface.h:118
gui_funcs::ui_exit
void(* ui_exit)(void)
Definition gui_interface.h:36
gui_funcs::canvas_put_sprite_fogged
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)
Definition gui_interface.h:77
gui_funcs::free_sprite
void(* free_sprite)(struct sprite *s)
Definition gui_interface.h:57
gui_funcs::canvas_put_curved_line
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)
Definition gui_interface.h:91
gui_funcs::options_extra_init
void(* options_extra_init)(void)
Definition gui_interface.h:103
gui_funcs::popdown_city_dialog
void(* popdown_city_dialog)(struct city *pcity)
Definition gui_interface.h:134
gui_funcs::canvas_put_line
void(* canvas_put_line)(struct canvas *pcanvas, struct color *pcolor, enum line_type ltype, int start_x, int start_y, int dx, int dy)
Definition gui_interface.h:88
gui_funcs::start_turn
void(* start_turn)(void)
Definition gui_interface.h:131
gui_funcs::canvas_free
void(* canvas_free)(struct canvas *store)
Definition gui_interface.h:63
gui_funcs::canvas_set_zoom
void(* canvas_set_zoom)(struct canvas *store, float zoom)
Definition gui_interface.h:64
gui_funcs::insert_client_build_info
void(* insert_client_build_info)(char *outbuf, size_t outlen)
Definition gui_interface.h:39
gui_funcs::canvas_put_rectangle
void(* canvas_put_rectangle)(struct canvas *pcanvas, struct color *pcolor, int canvas_x, int canvas_y, int width, int height)
Definition gui_interface.h:81
gui_funcs::get_gui_type
enum gui_type(* get_gui_type)(void)
Definition gui_interface.h:38
gui_funcs::editgui_popdown_all
void(* editgui_popdown_all)(void)
Definition gui_interface.h:125
gui_funcs::popdown_all_city_dialogs
void(* popdown_all_city_dialogs)(void)
Definition gui_interface.h:135
gui_funcs::canvas_mapview_init
void(* canvas_mapview_init)(struct canvas *store)
Definition gui_interface.h:66
gui_funcs::close_connection_dialog
void(* close_connection_dialog)(void)
Definition gui_interface.h:108
gui_funcs::sound_bell
void(* sound_bell)(void)
Definition gui_interface.h:110
gui_funcs::real_focus_units_changed
void(* real_focus_units_changed)(void)
Definition gui_interface.h:117
gui_funcs::real_set_client_page
void(* real_set_client_page)(enum client_pages page)
Definition gui_interface.h:112
gui_funcs::ui_init
void(* ui_init)(void)
Definition gui_interface.h:34
gui_funcs::real_conn_list_dialog_update
void(* real_conn_list_dialog_update)(void *unused)
Definition gui_interface.h:107
gui_funcs::city_dialog_is_open
bool(* city_dialog_is_open)(struct city *pcity)
Definition gui_interface.h:138
sprite
Definition sprite.h:22
tile
Definition tile.h:49
unit
Definition unit.h:138
bool
#define bool
Definition support.h:61
directory
const char * directory
Definition themes_g.h:23
tile.h
tilespec.h