gschem: Introduce B/W colour scheme
[geda-gaf/pcjc2.git] / gschem / include / prototype.h
blob5948c748f6b1b4f37920bd5619251e3d4c5d82f1
1 /* $Id$ */
3 /* gschem_toplevel.c */
4 GSCHEM_TOPLEVEL *gschem_toplevel_new();
5 /* a_pan.c */
6 void a_pan_general(GSCHEM_TOPLEVEL *w_current, double world_cx, double world_cy,
7 double relativ_zoom_factor, int flags);
8 void a_pan(GSCHEM_TOPLEVEL *w_current, int x, int y);
9 void a_pan_mouse(GSCHEM_TOPLEVEL *w_current, int diff_x, int diff_y);
10 /* a_zoom.c */
11 void a_zoom(GSCHEM_TOPLEVEL *w_current, int dir, int selected_from, int pan_flags);
12 void a_zoom_extents(GSCHEM_TOPLEVEL *w_current, const GList *list, int pan_flags);
13 void a_zoom_box(GSCHEM_TOPLEVEL *w_current, int pan_flags);
14 void a_zoom_box_start(GSCHEM_TOPLEVEL *w_current, int x, int y);
15 void a_zoom_box_end(GSCHEM_TOPLEVEL *w_current, int x, int y);
16 void a_zoom_box_motion(GSCHEM_TOPLEVEL *w_current, int x, int y);
17 void a_zoom_box_invalidate_rubber(GSCHEM_TOPLEVEL *w_current);
18 void a_zoom_box_draw_rubber(GSCHEM_TOPLEVEL *w_current);
19 void correct_aspect(GSCHEM_TOPLEVEL *w_current);
20 /* g_funcs.c */
21 SCM g_funcs_print(SCM filename);
22 SCM g_funcs_postscript(SCM filename);
23 SCM g_funcs_image(SCM filename);
24 SCM g_funcs_exit(void);
25 SCM g_funcs_log(SCM msg);
26 SCM g_funcs_msg(SCM msg);
27 SCM g_funcs_confirm(SCM msg);
28 SCM g_funcs_filesel(SCM msg, SCM templ, SCM flags);
29 SCM g_funcs_browse_wiki(SCM wikiname);
30 SCM g_funcs_use_rc_values(void);
31 SCM get_selected_component_attributes(GSCHEM_TOPLEVEL *w_current);
32 SCM get_selected_filename(GSCHEM_TOPLEVEL *w_current);
33 /* g_hook.c */
34 SCM g_make_attrib_smob_list(GSCHEM_TOPLEVEL *w_current, OBJECT *object);
35 SCM g_set_attrib_value_x(SCM attrib_smob, SCM scm_value);
36 SCM g_add_attrib(SCM object, SCM attrib_name,
37 SCM attrib_value, SCM scm_vis, SCM scm_show);
38 SCM g_get_pin_ends(SCM object);
39 SCM
40 g_set_attrib_text_properties(SCM attrib_smob, SCM scm_colorname, SCM scm_size,
41 SCM scm_alignment, SCM scm_rotation, SCM scm_x,
42 SCM scm_y);
43 SCM g_get_object_bounds (SCM object_smob, SCM scm_exclude_attribs, SCM scm_exclude_object_type);
44 SCM g_get_object_pins (SCM object_smob);
45 SCM g_add_component(SCM page_smob, SCM scm_comp_name, SCM scm_x, SCM scm_y,
46 SCM scm_angle, SCM scm_selectable, SCM scm_mirror);
47 SCM g_get_objects_in_page(SCM page_smob);
48 SCM g_get_current_page(void);
49 /* g_keys.c */
50 int g_keys_execute(GSCHEM_TOPLEVEL *w_current, int state, int keyval);
51 GArray *g_keys_dump_keymap (void);
52 SCM g_keys_file_new(SCM rest);
53 SCM g_keys_file_new_window(SCM rest);
54 SCM g_keys_file_open(SCM rest);
55 SCM g_keys_file_script(SCM rest);
56 SCM g_keys_file_save(SCM rest);
57 SCM g_keys_file_save_as(SCM rest);
58 SCM g_keys_file_save_all(SCM rest);
59 SCM g_keys_file_print(SCM rest);
60 SCM g_keys_file_write_png(SCM rest);
61 SCM g_keys_file_close(SCM rest);
62 SCM g_keys_file_quit(SCM rest);
63 SCM g_keys_edit_undo(SCM rest);
64 SCM g_keys_edit_redo(SCM rest);
65 SCM g_keys_edit_select(SCM rest);
66 SCM g_keys_edit_copy(SCM rest);
67 SCM g_keys_edit_copy_hotkey(SCM rest);
68 SCM g_keys_edit_mcopy(SCM rest);
69 SCM g_keys_edit_mcopy_hotkey(SCM rest);
70 SCM g_keys_edit_move(SCM rest);
71 SCM g_keys_edit_move_hotkey(SCM rest);
72 SCM g_keys_edit_delete(SCM rest);
73 SCM g_keys_edit_rotate_90(SCM rest);
74 SCM g_keys_edit_rotate_90_hotkey(SCM rest);
75 SCM g_keys_edit_mirror(SCM rest);
76 SCM g_keys_edit_mirror_hotkey(SCM rest);
77 SCM g_keys_edit_slot(SCM rest);
78 SCM g_keys_edit_color(SCM rest);
79 SCM g_keys_edit_edit(SCM rest);
80 SCM g_keys_edit_pin_type(SCM rest);
81 SCM g_keys_edit_text(SCM rest);
82 SCM g_keys_edit_lock(SCM rest);
83 SCM g_keys_edit_unlock(SCM rest);
84 SCM g_keys_edit_linetype(SCM rest);
85 SCM g_keys_edit_filltype(SCM rest);
86 SCM g_keys_edit_translate(SCM rest);
87 SCM g_keys_edit_invoke_macro(SCM rest);
88 SCM g_keys_edit_embed(SCM rest);
89 SCM g_keys_edit_unembed(SCM rest);
90 SCM g_keys_edit_update(SCM rest);
91 SCM g_keys_edit_show_hidden(SCM rest);
92 SCM g_keys_edit_make_visible(SCM rest);
93 SCM g_keys_edit_find(SCM rest);
94 SCM g_keys_edit_show_text(SCM rest);
95 SCM g_keys_edit_hide_text(SCM rest);
96 SCM g_keys_edit_autonumber_text(SCM rest);
97 SCM g_keys_clipboard_copy(SCM rest);
98 SCM g_keys_clipboard_cut(SCM rest);
99 SCM g_keys_clipboard_paste(SCM rest);
100 SCM g_keys_clipboard_paste_hotkey(SCM rest);
101 SCM g_keys_buffer_copy1(SCM rest);
102 SCM g_keys_buffer_copy2(SCM rest);
103 SCM g_keys_buffer_copy3(SCM rest);
104 SCM g_keys_buffer_copy4(SCM rest);
105 SCM g_keys_buffer_copy5(SCM rest);
106 SCM g_keys_buffer_cut1(SCM rest);
107 SCM g_keys_buffer_cut2(SCM rest);
108 SCM g_keys_buffer_cut3(SCM rest);
109 SCM g_keys_buffer_cut4(SCM rest);
110 SCM g_keys_buffer_cut5(SCM rest);
111 SCM g_keys_buffer_paste1(SCM rest);
112 SCM g_keys_buffer_paste2(SCM rest);
113 SCM g_keys_buffer_paste3(SCM rest);
114 SCM g_keys_buffer_paste4(SCM rest);
115 SCM g_keys_buffer_paste5(SCM rest);
116 SCM g_keys_buffer_paste1_hotkey(SCM rest);
117 SCM g_keys_buffer_paste2_hotkey(SCM rest);
118 SCM g_keys_buffer_paste3_hotkey(SCM rest);
119 SCM g_keys_buffer_paste4_hotkey(SCM rest);
120 SCM g_keys_buffer_paste5_hotkey(SCM rest);
121 SCM g_keys_view_redraw(SCM rest);
122 SCM g_keys_view_zoom_full(SCM rest);
123 SCM g_keys_view_zoom_extents(SCM rest);
124 SCM g_keys_view_zoom_in(SCM rest);
125 SCM g_keys_view_zoom_out(SCM rest);
126 SCM g_keys_view_zoom_in_hotkey(SCM rest);
127 SCM g_keys_view_zoom_out_hotkey(SCM rest);
128 SCM g_keys_view_zoom_box(SCM rest);
129 SCM g_keys_view_zoom_box_hotkey(SCM rest);
130 SCM g_keys_view_pan(SCM rest);
131 SCM g_keys_view_pan_left(SCM rest);
132 SCM g_keys_view_pan_right(SCM rest);
133 SCM g_keys_view_pan_up(SCM rest);
134 SCM g_keys_view_pan_down(SCM rest);
135 SCM g_keys_view_pan_hotkey(SCM rest);
136 SCM g_keys_view_dark_colors(SCM rest);
137 SCM g_keys_view_light_colors(SCM rest);
138 SCM g_keys_view_bw_colors(SCM rest);
139 SCM g_keys_page_manager(SCM rest);
140 SCM g_keys_page_next(SCM rest);
141 SCM g_keys_page_prev(SCM rest);
142 SCM g_keys_page_new(SCM rest);
143 SCM g_keys_page_close(SCM rest);
144 SCM g_keys_page_revert(SCM rest);
145 SCM g_keys_page_discard(SCM rest);
146 SCM g_keys_page_print(SCM rest);
147 SCM g_keys_add_component(SCM rest);
148 SCM g_keys_add_attribute(SCM rest);
149 SCM g_keys_add_attribute_hotkey(SCM rest);
150 SCM g_keys_add_net(SCM rest);
151 SCM g_keys_add_net_hotkey(SCM rest);
152 SCM g_keys_add_bus(SCM rest);
153 SCM g_keys_add_bus_hotkey(SCM rest);
154 SCM g_keys_add_text(SCM rest);
155 SCM g_keys_add_line(SCM rest);
156 SCM g_keys_add_line_hotkey(SCM rest);
157 SCM g_keys_add_box(SCM rest);
158 SCM g_keys_add_box_hotkey(SCM rest);
159 SCM g_keys_add_picture(SCM rest);
160 SCM g_keys_add_picture_hotkey(SCM rest);
161 SCM g_keys_add_circle(SCM rest);
162 SCM g_keys_add_circle_hotkey(SCM rest);
163 SCM g_keys_add_arc(SCM rest);
164 SCM g_keys_add_arc_hotkey(SCM rest);
165 SCM g_keys_add_pin(SCM rest);
166 SCM g_keys_add_pin_hotkey(SCM rest);
167 SCM g_keys_hierarchy_down_schematic(SCM rest);
168 SCM g_keys_hierarchy_down_symbol(SCM rest);
169 SCM g_keys_hierarchy_up(SCM rest);
170 SCM g_keys_hierarchy_documentation(SCM rest);
171 SCM g_keys_attributes_attach(SCM rest);
172 SCM g_keys_attributes_detach(SCM rest);
173 SCM g_keys_attributes_show_name(SCM rest);
174 SCM g_keys_attributes_show_value(SCM rest);
175 SCM g_keys_attributes_show_both(SCM rest);
176 SCM g_keys_attributes_visibility_toggle(SCM rest);
177 SCM g_keys_script_console(SCM rest);
178 SCM g_keys_options_text_size(SCM rest);
179 SCM g_keys_options_afeedback(SCM rest);
180 SCM g_keys_options_grid(SCM rest);
181 SCM g_keys_options_snap(SCM rest);
182 SCM g_keys_options_snap_size(SCM rest);
183 SCM g_keys_options_scale_up_snap_size(SCM rest);
184 SCM g_keys_options_scale_down_snap_size(SCM rest);
185 SCM g_keys_options_rubberband(SCM rest);
186 SCM g_keys_options_magneticnet(SCM rest);
187 SCM g_keys_options_show_log_window(SCM rest);
188 SCM g_keys_options_show_coord_window(SCM rest);
189 SCM g_keys_misc(SCM rest);
190 SCM g_keys_misc2(SCM rest);
191 SCM g_keys_misc3(SCM rest);
192 SCM g_keys_help_about(SCM rest);
193 SCM g_keys_help_hotkeys(SCM rest);
194 SCM g_keys_cancel(SCM rest);
195 SCM g_get_selected_filename(void);
196 SCM g_get_selected_component_attributes(void);
197 /* g_rc.c */
198 void g_rc_parse_gtkrc();
199 SCM g_rc_gschem_version(SCM version);
200 SCM g_rc_net_endpoint_mode(SCM mode);
201 SCM g_rc_net_midpoint_mode(SCM mode);
202 SCM g_rc_net_direction_mode(SCM mode);
203 SCM g_rc_net_selection_mode(SCM mode);
204 SCM g_rc_net_style(SCM mode);
205 SCM g_rc_bus_style(SCM mode);
206 SCM g_rc_pin_style(SCM mode);
207 SCM g_rc_line_style(SCM mode);
208 SCM g_rc_action_feedback_mode(SCM mode);
209 SCM g_rc_zoom_with_pan(SCM mode);
210 SCM g_rc_text_feedback(SCM mode);
211 SCM g_rc_text_display_zoomfactor(SCM zoomfactor);
212 SCM g_rc_scrollbar_update(SCM mode);
213 SCM g_rc_object_clipping(SCM mode);
214 SCM g_rc_logging(SCM mode);
215 SCM g_rc_embed_components(SCM mode);
216 SCM g_rc_component_dialog_attributes(SCM stringlist);
217 SCM g_rc_text_size(SCM size);
218 SCM g_rc_text_caps_style(SCM mode);
219 SCM g_rc_postscript_font_scale(SCM scale);
220 SCM g_rc_snap_size(SCM size);
221 SCM g_rc_logging_destination(SCM mode);
222 SCM g_rc_attribute_name(SCM path);
223 SCM g_rc_scrollbars(SCM mode);
224 SCM g_rc_paper_size(SCM width, SCM height);
225 SCM g_rc_paper_sizes(SCM papername, SCM scm_width, SCM scm_height);
226 SCM g_rc_output_type(SCM mode);
227 SCM g_rc_output_orientation(SCM mode);
228 SCM g_rc_image_color(SCM mode);
229 SCM g_rc_image_size(SCM width, SCM height);
230 SCM g_rc_output_color(SCM mode);
231 SCM g_rc_output_capstyle(SCM mode);
232 SCM g_rc_log_window(SCM mode);
233 SCM g_rc_log_window_type(SCM mode);
234 SCM g_rc_third_button(SCM mode);
235 SCM g_rc_middle_button(SCM mode);
236 SCM g_rc_scroll_wheel(SCM mode);
237 SCM g_rc_net_consolidate(SCM mode);
238 SCM g_rc_file_preview(SCM mode);
239 SCM g_rc_enforce_hierarchy(SCM mode);
240 SCM g_rc_text_origin_marker(SCM mode);
241 SCM g_rc_fast_mousepan(SCM mode);
242 SCM g_rc_raise_dialog_boxes_on_expose(SCM mode);
243 SCM g_rc_continue_component_place(SCM mode);
244 SCM g_rc_undo_levels(SCM levels);
245 SCM g_rc_undo_control(SCM mode);
246 SCM g_rc_undo_type(SCM mode);
247 SCM g_rc_undo_panzoom(SCM mode);
248 SCM g_rc_draw_grips(SCM mode);
249 SCM g_rc_netconn_rubberband(SCM mode);
250 SCM g_rc_magnetic_net_mode(SCM mode);
251 SCM g_rc_sort_component_library(SCM mode);
252 SCM g_rc_add_menu(SCM menu_name, SCM menu_items);
253 SCM g_rc_window_size(SCM width, SCM height);
254 SCM g_rc_warp_cursor(SCM mode);
255 SCM g_rc_toolbars(SCM mode);
256 SCM g_rc_handleboxes(SCM mode);
257 SCM g_rc_setpagedevice_orientation(SCM mode);
258 SCM g_rc_setpagedevice_pagesize(SCM mode);
259 SCM g_rc_bus_ripper_size(SCM size);
260 SCM g_rc_bus_ripper_type(SCM mode);
261 SCM g_rc_bus_ripper_rotation(SCM mode);
262 SCM g_rc_force_boundingbox(SCM mode);
263 SCM g_rc_dots_grid_dot_size(SCM dotsize);
264 SCM g_rc_dots_grid_mode(SCM mode);
265 SCM g_rc_dots_grid_fixed_threshold(SCM spacing);
266 SCM g_rc_mesh_grid_display_threshold(SCM spacing);
267 SCM g_rc_add_attribute_offset(SCM offset);
268 SCM g_rc_auto_save_interval(SCM seconds);
269 SCM g_rc_drag_can_move(SCM mode);
270 SCM g_rc_mousepan_gain(SCM mode);
271 SCM g_rc_keyboardpan_gain(SCM mode);
272 SCM g_rc_print_command(SCM mode);
273 SCM g_rc_select_slack_pixels(SCM pixels);
274 SCM g_rc_zoom_gain(SCM gain);
275 SCM g_rc_scrollpan_steps(SCM steps);
276 SCM g_rc_display_color_map (SCM scm_map);
277 SCM g_rc_display_outline_color_map (SCM scm_map);
278 /* g_register.c */
279 void g_register_funcs(void);
280 /* globals.c */
281 /* gschem.c */
282 typedef void (*gschem_atexit_func)(gpointer data);
283 void gschem_atexit(gschem_atexit_func func, gpointer data);
284 void gschem_quit(void);
285 void main_prog(void *closure, int argc, char *argv[]);
286 int main(int argc, char *argv[]);
287 /* gschem_cairo.c */
288 void gschem_cairo_line(GSCHEM_TOPLEVEL *w_current, int line_end, int line_width, int x1, int y1, int x2, int y2);
289 void gschem_cairo_box(GSCHEM_TOPLEVEL *w_current, int line_width, int x1, int y1, int x2, int y2);
290 void gschem_cairo_center_box(GSCHEM_TOPLEVEL *w_current, int center_width, int line_width, int x1, int y1, int x2, int y2);
291 void gschem_cairo_arc(GSCHEM_TOPLEVEL *w_current, int line_width, int x, int y, int radius, int start_angle, int end_angle);
292 void gschem_cairo_center_arc(GSCHEM_TOPLEVEL *w_current, int center_width, int line_width, int x, int y, int radius, int start_angle, int end_angle);
293 void gschem_cairo_stroke(GSCHEM_TOPLEVEL *w_current, int line_type, int line_end, int width, int length, int space);
294 void gschem_cairo_set_source_color(GSCHEM_TOPLEVEL *w_current, COLOR *color);
295 /* i_basic.c */
296 void i_show_state(GSCHEM_TOPLEVEL *w_current, const char *message);
297 void i_set_state(GSCHEM_TOPLEVEL *w_current, enum x_states newstate);
298 void i_set_state_msg(GSCHEM_TOPLEVEL *w_current, enum x_states newstate, const char *message);
299 void i_update_middle_button(GSCHEM_TOPLEVEL *w_current, void (*func_ptr)(), const char *string);
300 void i_update_toolbar(GSCHEM_TOPLEVEL *w_current);
301 void i_update_menus(GSCHEM_TOPLEVEL *w_current);
302 void i_set_filename(GSCHEM_TOPLEVEL *w_current, const gchar *string);
303 void i_update_grid_info(GSCHEM_TOPLEVEL *w_current);
304 /* i_callbacks.c */
305 void i_callback_file_new(gpointer data, guint callback_action, GtkWidget *widget);
306 void i_callback_toolbar_file_new(GtkWidget *widget, gpointer data);
307 void i_callback_file_new_window(gpointer data, guint callback_action, GtkWidget *widget);
308 void i_callback_file_open(gpointer data, guint callback_action, GtkWidget *widget);
309 void i_callback_toolbar_file_open(GtkWidget *widget, gpointer data);
310 void i_callback_file_script(gpointer data, guint callback_action, GtkWidget *widget);
311 void i_callback_file_save(gpointer data, guint callback_action, GtkWidget *widget);
312 void i_callback_toolbar_file_save(GtkWidget *widget, gpointer data);
313 void i_callback_file_save_all(gpointer data, guint callback_action, GtkWidget *widget);
314 void i_callback_file_save_as(gpointer data, guint callback_action, GtkWidget *widget);
315 void i_callback_file_print(gpointer data, guint callback_action, GtkWidget *widget);
316 void i_callback_file_write_png(gpointer data, guint callback_action, GtkWidget *widget);
317 void i_callback_file_close(gpointer data, guint callback_action, GtkWidget *widget);
318 int i_callback_close(gpointer data, guint callback_action, GtkWidget *widget);
319 void i_callback_file_quit(gpointer data, guint callback_action, GtkWidget *widget);
320 void i_callback_edit_undo(gpointer data, guint callback_action, GtkWidget *widget);
321 void i_callback_toolbar_edit_undo(GtkWidget *widget, gpointer data);
322 void i_callback_edit_redo(gpointer data, guint callback_action, GtkWidget *widget);
323 void i_callback_toolbar_edit_redo(GtkWidget *widget, gpointer data);
324 void i_callback_edit_select(gpointer data, guint callback_action, GtkWidget *widget);
325 void i_callback_toolbar_edit_select(GtkWidget *widget, gpointer data);
326 void i_callback_edit_copy(gpointer data, guint callback_action, GtkWidget *widget);
327 void i_callback_edit_copy_hotkey(gpointer data, guint callback_action, GtkWidget *widget);
328 void i_callback_edit_mcopy(gpointer data, guint callback_action, GtkWidget *widget);
329 void i_callback_edit_mcopy_hotkey(gpointer data, guint callback_action, GtkWidget *widget);
330 void i_callback_edit_move(gpointer data, guint callback_action, GtkWidget *widget);
331 void i_callback_edit_move_hotkey(gpointer data, guint callback_action, GtkWidget *widget);
332 void i_callback_edit_delete(gpointer data, guint callback_action, GtkWidget *widget);
333 void i_callback_edit_edit(gpointer data, guint callback_action, GtkWidget *widget);
334 void i_callback_edit_pin_type(gpointer data, guint callback_action, GtkWidget *widget);
335 void i_callback_edit_text(gpointer data, guint callback_action, GtkWidget *widget);
336 void i_callback_edit_slot(gpointer data, guint callback_action, GtkWidget *widget);
337 void i_callback_edit_color(gpointer data, guint callback_action, GtkWidget *widget);
338 void i_callback_edit_rotate_90(gpointer data, guint callback_action, GtkWidget *widget);
339 void i_callback_edit_rotate_90_hotkey(gpointer data, guint callback_action, GtkWidget *widget);
340 void i_callback_edit_mirror(gpointer data, guint callback_action, GtkWidget *widget);
341 void i_callback_edit_mirror_hotkey(gpointer data, guint callback_action, GtkWidget *widget);
342 void i_callback_edit_lock(gpointer data, guint callback_action, GtkWidget *widget);
343 void i_callback_edit_unlock(gpointer data, guint callback_action, GtkWidget *widget);
344 void i_callback_edit_translate(gpointer data, guint callback_action, GtkWidget *widget);
345 void i_callback_edit_invoke_macro(gpointer data, guint callback_action, GtkWidget *widget);
346 void i_callback_edit_embed(gpointer data, guint callback_action, GtkWidget *widget);
347 void i_callback_edit_unembed(gpointer data, guint callback_action, GtkWidget *widget);
348 void i_callback_edit_update(gpointer data, guint callback_action, GtkWidget *widget);
349 void i_callback_edit_show_hidden(gpointer data, guint callback_action, GtkWidget *widget);
350 void i_callback_edit_make_visible(gpointer data, guint callback_action, GtkWidget *widget);
351 void i_callback_edit_find(gpointer data, guint callback_action, GtkWidget *widget);
352 void i_callback_edit_hide_text(gpointer data, guint callback_action, GtkWidget *widget);
353 void i_callback_edit_show_text(gpointer data, guint callback_action, GtkWidget *widget);
354 void i_callback_edit_autonumber_text(gpointer data, guint callback_action, GtkWidget *widget);
355 void i_callback_edit_linetype(gpointer data, guint callback_action, GtkWidget *widget);
356 void i_callback_edit_filltype(gpointer data, guint callback_action, GtkWidget *widget);
357 void i_callback_view_redraw(gpointer data, guint callback_action, GtkWidget *widget);
358 void i_callback_view_zoom_full(gpointer data, guint callback_action, GtkWidget *widget);
359 void i_callback_view_zoom_extents(gpointer data, guint callback_action, GtkWidget *widget);
360 void i_callback_view_zoom_box(gpointer data, guint callback_action, GtkWidget *widget);
361 void i_callback_view_zoom_box_hotkey(gpointer data, guint callback_action, GtkWidget *widget);
362 void i_callback_view_zoom_in(gpointer data, guint callback_action, GtkWidget *widget);
363 void i_callback_view_zoom_out(gpointer data, guint callback_action, GtkWidget *widget);
364 void i_callback_view_zoom_in_hotkey(gpointer data, guint callback_action, GtkWidget *widget);
365 void i_callback_view_zoom_out_hotkey(gpointer data, guint callback_action, GtkWidget *widget);
366 void i_callback_view_pan(gpointer data, guint callback_action, GtkWidget *widget);
367 void i_callback_view_pan_left(gpointer data, guint callback_action, GtkWidget *widget);
368 void i_callback_view_pan_right(gpointer data, guint callback_action, GtkWidget *widget);
369 void i_callback_view_pan_up(gpointer data, guint callback_action, GtkWidget *widget);
370 void i_callback_view_pan_down(gpointer data, guint callback_action, GtkWidget *widget);
371 void i_callback_view_pan_hotkey(gpointer data, guint callback_action, GtkWidget *widget);
372 void i_callback_view_dark_colors(gpointer data, guint callback_action, GtkWidget *widget);
373 void i_callback_view_light_colors(gpointer data, guint callback_action, GtkWidget *widget);
374 void i_callback_view_bw_colors(gpointer data, guint callback_action, GtkWidget *widget);
375 void i_callback_page_manager(gpointer data, guint callback_action, GtkWidget *widget);
376 void i_callback_page_next(gpointer data, guint callback_action, GtkWidget *widget);
377 void i_callback_page_prev(gpointer data, guint callback_action, GtkWidget *widget);
378 void i_callback_page_new(gpointer data, guint callback_action, GtkWidget *widget);
379 void i_callback_page_close(gpointer data, guint callback_action, GtkWidget *widget);
380 void i_callback_page_revert(gpointer data, guint callback_action, GtkWidget *widget);
381 void i_callback_page_discard(gpointer data, guint callback_action, GtkWidget *widget);
382 void i_callback_page_print(gpointer data, guint callback_action, GtkWidget *widget);
383 void i_callback_clipboard_copy(gpointer data, guint callback_action, GtkWidget *widget);
384 void i_callback_clipboard_cut(gpointer data, guint callback_action, GtkWidget *widget);
385 void i_callback_clipboard_paste(gpointer data, guint callback_action, GtkWidget *widget);
386 void i_callback_clipboard_paste_hotkey(gpointer data, guint callback_action, GtkWidget *widget);
387 void i_callback_buffer_copy1(gpointer data, guint callback_action, GtkWidget *widget);
388 void i_callback_buffer_copy2(gpointer data, guint callback_action, GtkWidget *widget);
389 void i_callback_buffer_copy3(gpointer data, guint callback_action, GtkWidget *widget);
390 void i_callback_buffer_copy4(gpointer data, guint callback_action, GtkWidget *widget);
391 void i_callback_buffer_copy5(gpointer data, guint callback_action, GtkWidget *widget);
392 void i_callback_buffer_cut1(gpointer data, guint callback_action, GtkWidget *widget);
393 void i_callback_buffer_cut2(gpointer data, guint callback_action, GtkWidget *widget);
394 void i_callback_buffer_cut3(gpointer data, guint callback_action, GtkWidget *widget);
395 void i_callback_buffer_cut4(gpointer data, guint callback_action, GtkWidget *widget);
396 void i_callback_buffer_cut5(gpointer data, guint callback_action, GtkWidget *widget);
397 void i_callback_buffer_paste1(gpointer data, guint callback_action, GtkWidget *widget);
398 void i_callback_buffer_paste2(gpointer data, guint callback_action, GtkWidget *widget);
399 void i_callback_buffer_paste3(gpointer data, guint callback_action, GtkWidget *widget);
400 void i_callback_buffer_paste4(gpointer data, guint callback_action, GtkWidget *widget);
401 void i_callback_buffer_paste5(gpointer data, guint callback_action, GtkWidget *widget);
402 void i_callback_buffer_paste1_hotkey(gpointer data, guint callback_action, GtkWidget *widget);
403 void i_callback_buffer_paste2_hotkey(gpointer data, guint callback_action, GtkWidget *widget);
404 void i_callback_buffer_paste3_hotkey(gpointer data, guint callback_action, GtkWidget *widget);
405 void i_callback_buffer_paste4_hotkey(gpointer data, guint callback_action, GtkWidget *widget);
406 void i_callback_buffer_paste5_hotkey(gpointer data, guint callback_action, GtkWidget *widget);
407 void i_callback_add_component(gpointer data, guint callback_action, GtkWidget *widget);
408 void i_callback_toolbar_add_component(GtkWidget *widget, gpointer data);
409 void i_callback_add_attribute(gpointer data, guint callback_action, GtkWidget *widget);
410 void i_callback_add_attribute_hotkey(gpointer data, guint callback_action, GtkWidget *widget);
411 void i_callback_add_net(gpointer data, guint callback_action, GtkWidget *widget);
412 void i_callback_add_net_hotkey(gpointer data, guint callback_action, GtkWidget *widget);
413 void i_callback_toolbar_add_net(GtkWidget *widget, gpointer data);
414 void i_callback_add_bus(gpointer data, guint callback_action, GtkWidget *widget);
415 void i_callback_add_bus_hotkey(gpointer data, guint callback_action, GtkWidget *widget);
416 void i_callback_toolbar_add_bus(GtkWidget *widget, gpointer data);
417 void i_callback_add_text(gpointer data, guint callback_action, GtkWidget *widget);
418 void i_callback_toolbar_add_text(GtkWidget *widget, gpointer data);
419 void i_callback_add_line(gpointer data, guint callback_action, GtkWidget *widget);
420 void i_callback_add_line_hotkey(gpointer data, guint callback_action, GtkWidget *widget);
421 void i_callback_add_box(gpointer data, guint callback_action, GtkWidget *widget);
422 void i_callback_add_box_hotkey(gpointer data, guint callback_action, GtkWidget *widget);
423 void i_callback_add_picture(gpointer data, guint callback_action, GtkWidget *widget);
424 void i_callback_add_picture_hotkey(gpointer data, guint callback_action, GtkWidget *widget);
425 void i_callback_add_circle(gpointer data, guint callback_action, GtkWidget *widget);
426 void i_callback_add_circle_hotkey(gpointer data, guint callback_action, GtkWidget *widget);
427 void i_callback_add_arc(gpointer data, guint callback_action, GtkWidget *widget);
428 void i_callback_add_arc_hotkey(gpointer data, guint callback_action, GtkWidget *widget);
429 void i_callback_add_pin(gpointer data, guint callback_action, GtkWidget *widget);
430 void i_callback_add_pin_hotkey(gpointer data, guint callback_action, GtkWidget *widget);
431 void i_callback_hierarchy_down_schematic(gpointer data, guint callback_action, GtkWidget *widget);
432 void i_callback_hierarchy_down_symbol(gpointer data, guint callback_action, GtkWidget *widget);
433 void i_callback_hierarchy_up(gpointer data, guint callback_action, GtkWidget *widget);
434 void i_callback_hierarchy_documentation(gpointer data, guint callback_action, GtkWidget *widget);
435 void i_callback_attributes_attach(gpointer data, guint callback_action, GtkWidget *widget);
436 void i_callback_attributes_detach(gpointer data, guint callback_action, GtkWidget *widget);
437 void i_callback_attributes_show_name(gpointer data, guint callback_action, GtkWidget *widget);
438 void i_callback_attributes_show_value(gpointer data, guint callback_action, GtkWidget *widget);
439 void i_callback_attributes_show_both(gpointer data, guint callback_action, GtkWidget *widget);
440 void i_callback_attributes_visibility_toggle(gpointer data, guint callback_action, GtkWidget *widget);
441 void i_callback_script_console(gpointer data, guint callback_action, GtkWidget *widget);
442 void i_callback_options_text_size(gpointer data, guint callback_action, GtkWidget *widget);
443 void i_callback_options_snap_size(gpointer data, guint callback_action, GtkWidget *widget);
444 void i_callback_options_scale_up_snap_size(gpointer data, guint callback_action, GtkWidget *widget);
445 void i_callback_options_scale_down_snap_size(gpointer data, guint callback_action, GtkWidget *widget);
446 void i_callback_options_afeedback(gpointer data, guint callback_action, GtkWidget *widget);
447 void i_callback_options_grid(gpointer data, guint callback_action, GtkWidget *widget);
448 void i_callback_options_snap(gpointer data, guint callback_action, GtkWidget *widget);
449 void i_callback_options_rubberband(gpointer data, guint callback_action, GtkWidget *widget);
450 void i_callback_options_magneticnet(gpointer data, guint callback_action, GtkWidget *widget);
451 void i_callback_options_show_log_window(gpointer data, guint callback_action, GtkWidget *widget);
452 void i_callback_misc(gpointer data, guint callback_action, GtkWidget *widget);
453 void i_callback_misc2(gpointer data, guint callback_action, GtkWidget *widget);
454 void i_callback_misc3(gpointer data, guint callback_action, GtkWidget *widget);
455 void i_callback_cancel(gpointer data, guint callback_action, GtkWidget *widget);
456 void i_callback_help_about(gpointer data, guint callback_action, GtkWidget *widget);
457 void i_callback_help_hotkeys(gpointer data, guint callback_action, GtkWidget *widget);
458 void i_callback_options_show_coord_window(gpointer data, guint callback_action, GtkWidget *widget);
459 gboolean i_callback_close_wm(GtkWidget *widget, GdkEvent *event, gpointer data);
460 /* i_vars.c */
461 void i_vars_set(GSCHEM_TOPLEVEL *w_current);
462 void i_vars_freenames();
463 /* m_basic.c */
464 int mil_x(GSCHEM_TOPLEVEL *w_current, int val);
465 int mil_y(GSCHEM_TOPLEVEL *w_current, int val);
466 int pix_x(GSCHEM_TOPLEVEL *w_current, int val);
467 int pix_y(GSCHEM_TOPLEVEL *w_current, int val);
468 void WORLDtoSCREEN(GSCHEM_TOPLEVEL *w_current, int x, int y, int *px, int *py);
469 void SCREENtoWORLD(GSCHEM_TOPLEVEL *w_current, int mx, int my, int *x, int *y);
470 int snap_grid(GSCHEM_TOPLEVEL *w_current, int input);
471 int SCREENabs(GSCHEM_TOPLEVEL *w_current, int val);
472 int WORLDabs(GSCHEM_TOPLEVEL *w_current, int val);
473 int WORLDclip_change(GSCHEM_TOPLEVEL *w_current, int *x1, int *y1, int *x2, int *y2);
474 int clip_nochange(GSCHEM_TOPLEVEL *w_current, int x1, int y1, int x2, int y2);
475 int visible(GSCHEM_TOPLEVEL *w_current, int wleft, int wtop, int wright, int wbottom);
476 double round_5_2_1(double unrounded);
477 /* o_arc.c */
478 void o_arc_draw(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current);
479 void o_arc_invalidate_rubber(GSCHEM_TOPLEVEL *w_current);
480 void o_arc_draw_place(GSCHEM_TOPLEVEL *w_current, int dx, int dy, OBJECT *o_current);
481 void o_arc_start(GSCHEM_TOPLEVEL *w_current, int x, int y);
482 void o_arc_end1(GSCHEM_TOPLEVEL *w_current, int x, int y);
483 void o_arc_end4(GSCHEM_TOPLEVEL *w_current, int radius, int start_angle, int end_angle);
484 void o_arc_motion(GSCHEM_TOPLEVEL *w_current, int x, int y, int whichone);
485 void o_arc_draw_rubber(GSCHEM_TOPLEVEL *w_current);
486 void o_arc_draw_grips(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current);
487 /* o_attrib.c */
488 void o_attrib_add_selected(GSCHEM_TOPLEVEL *w_current, SELECTION *selection, OBJECT *selected);
489 void o_attrib_deselect_invisible(GSCHEM_TOPLEVEL *w_current, SELECTION *selection, OBJECT *selected);
490 void o_attrib_toggle_visibility(GSCHEM_TOPLEVEL *w_current, OBJECT *object);
491 void o_attrib_toggle_show_name_value(GSCHEM_TOPLEVEL *w_current, OBJECT *object, int new_show_name_value);
492 OBJECT *o_attrib_add_attrib(GSCHEM_TOPLEVEL *w_current, const char *text_string, int visibility, int show_name_value, OBJECT *object);
493 /* o_basic.c */
494 void o_redraw_rects(GSCHEM_TOPLEVEL *w_current, GdkRectangle *rectangles, int n_rectangles);
495 void o_redraw(GSCHEM_TOPLEVEL *w_current, GList *object_list, gboolean draw_selected);
496 void o_redraw_single(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current);
497 int o_invalidate_rubber(GSCHEM_TOPLEVEL *w_current);
498 int o_redraw_cleanstates(GSCHEM_TOPLEVEL *w_current);
499 void o_draw_place(GSCHEM_TOPLEVEL *w_current, int dx, int dy, OBJECT *object);
500 void o_glist_draw_place(GSCHEM_TOPLEVEL *w_current, int dx, int dy, GList *list);
501 void o_invalidate_rect(GSCHEM_TOPLEVEL *w_current, int x1, int y1, int x2, int y2);
502 void o_invalidate_all(GSCHEM_TOPLEVEL *w_current);
503 void o_invalidate(GSCHEM_TOPLEVEL *w_current, OBJECT *object);
504 void o_invalidate_glist(GSCHEM_TOPLEVEL *w_current, GList *list);
505 COLOR *o_drawing_color(GSCHEM_TOPLEVEL *w_current, OBJECT *object);
506 /* o_box.c */
507 void o_box_draw(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current);
508 void o_box_fill_hollow(GdkDrawable *w, GdkGC *gc, COLOR *color, GSCHEM_TOPLEVEL *w_current, BOX *box, gint fill_width, gint angle1, gint pitch1, gint angle2, gint pitch2);
509 void o_box_fill_fill(GdkDrawable *w, GdkGC *gc, COLOR *color, GSCHEM_TOPLEVEL *w_current, BOX *box, gint fill_width, gint angle1, gint pitch1, gint angle2, gint pitch2);
510 void o_box_fill_hatch(GdkDrawable *w, GdkGC *gc, COLOR *color, GSCHEM_TOPLEVEL *w_current, BOX *box, gint fill_width, gint angle1, gint pitch1, gint angle2, gint pitch2);
511 void o_box_fill_mesh(GdkDrawable *w, GdkGC *gc, COLOR *color, GSCHEM_TOPLEVEL *w_current, BOX *box, gint fill_width, gint angle1, gint pitch1, gint angle2, gint pitch2);
512 void o_box_invalidate_rubber(GSCHEM_TOPLEVEL *w_current);
513 void o_box_draw_place(GSCHEM_TOPLEVEL *w_current, int dx, int dy, OBJECT *o_current);
514 void o_box_start(GSCHEM_TOPLEVEL *w_current, int x, int y);
515 void o_box_end(GSCHEM_TOPLEVEL *w_current, int x, int y);
516 void o_box_motion(GSCHEM_TOPLEVEL *w_current, int x, int y);
517 void o_box_draw_rubber(GSCHEM_TOPLEVEL *w_current);
518 void o_box_draw_grips(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current);
519 /* o_buffer.c */
520 void o_buffer_copy(GSCHEM_TOPLEVEL *w_current, int buf_num);
521 void o_buffer_cut(GSCHEM_TOPLEVEL *w_current, int buf_num);
522 void o_buffer_paste_start(GSCHEM_TOPLEVEL *w_current, int x, int y, int buf_num);
523 void o_buffer_init(void);
524 void o_buffer_free(GSCHEM_TOPLEVEL *w_current);
525 /* o_bus.c */
526 void o_bus_draw(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current);
527 void o_bus_draw_place(GSCHEM_TOPLEVEL *w_current, int dx, int dy, OBJECT *o_current);
528 void o_bus_draw_stretch(GSCHEM_TOPLEVEL *w_current, int dx, int dy, int whichone, OBJECT *o_current);
529 void o_bus_start(GSCHEM_TOPLEVEL *w_current, int x, int y);
530 int o_bus_end(GSCHEM_TOPLEVEL *w_current, int x, int y);
531 void o_bus_motion(GSCHEM_TOPLEVEL *w_current, int x, int y);
532 void o_bus_draw_rubber(GSCHEM_TOPLEVEL *w_current);
533 void o_bus_invalidate_rubber(GSCHEM_TOPLEVEL *w_current);
534 /* o_circle.c */
535 void o_circle_draw(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current);
536 void o_circle_fill_hollow(GdkDrawable *w, GdkGC *gc, COLOR *color, GSCHEM_TOPLEVEL *w_current, CIRCLE *circle, gint fill_width, gint angle1, gint pitch1, gint angle2, gint pitch2);
537 void o_circle_fill_fill(GdkDrawable *w, GdkGC *gc, COLOR *color, GSCHEM_TOPLEVEL *w_current, CIRCLE *circle, gint fill_width, gint angle1, gint pitch1, gint angle2, gint pitch2);
538 void o_circle_fill_hatch(GdkDrawable *w, GdkGC *gc, COLOR *color, GSCHEM_TOPLEVEL *w_current, CIRCLE *circle, gint fill_width, gint angle1, gint pitch1, gint angle2, gint pitch2);
539 void o_circle_fill_mesh(GdkDrawable *w, GdkGC *gc, COLOR *color, GSCHEM_TOPLEVEL *w_current, CIRCLE *circle, gint fill_width, gint angle1, gint pitch1, gint angle2, gint pitch2);
540 void o_circle_invalidate_rubber(GSCHEM_TOPLEVEL *w_current);
541 void o_circle_draw_place(GSCHEM_TOPLEVEL *w_current, int dx, int dy, OBJECT *o_current);
542 void o_circle_start(GSCHEM_TOPLEVEL *w_current, int x, int y);
543 void o_circle_end(GSCHEM_TOPLEVEL *w_current, int x, int y);
544 void o_circle_motion(GSCHEM_TOPLEVEL *w_current, int x, int y);
545 void o_circle_draw_rubber(GSCHEM_TOPLEVEL *w_current);
546 void o_circle_draw_grips(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current);
547 /* o_complex.c */
548 void o_complex_draw(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current);
549 void o_complex_draw_place(GSCHEM_TOPLEVEL *w_current, int dx, int dy, OBJECT *complex);
550 void o_complex_prepare_place(GSCHEM_TOPLEVEL *w_current, const CLibSymbol *sym);
551 void o_complex_place_changed_run_hook(GSCHEM_TOPLEVEL *w_current);
552 void o_complex_end(GSCHEM_TOPLEVEL *w_current, int x, int y, int continue_placing);
553 void o_complex_translate_all(GSCHEM_TOPLEVEL *w_current, int offset);
554 /* o_copy.c */
555 void o_copy_start(GSCHEM_TOPLEVEL *w_current, int x, int y);
556 void o_copy_end(GSCHEM_TOPLEVEL *w_current);
557 void o_copy_multiple_end(GSCHEM_TOPLEVEL *w_current);
558 /* o_cue.c */
559 void o_cue_redraw_all(GSCHEM_TOPLEVEL *w_current, GList *list, gboolean draw_selected);
560 void o_cue_draw_lowlevel(GSCHEM_TOPLEVEL *w_current, OBJECT *object, int whichone);
561 void o_cue_draw_lowlevel_midpoints(GSCHEM_TOPLEVEL *w_current, OBJECT *object);
562 void o_cue_draw_single(GSCHEM_TOPLEVEL *w_current, OBJECT *object);
563 void o_cue_draw_list(GSCHEM_TOPLEVEL *w_current, GList *object_list);
564 /* o_delete.c */
565 void o_delete(GSCHEM_TOPLEVEL *w_current, OBJECT *object);
566 void o_delete_selected(GSCHEM_TOPLEVEL *w_current);
567 /* o_find.c */
568 gboolean o_find_object(GSCHEM_TOPLEVEL *w_current, int x, int y,
569 gboolean deselect_afterwards);
570 gboolean o_find_selected_object(GSCHEM_TOPLEVEL *w_current, int x, int y);
571 /* o_grips.c */
572 OBJECT *o_grips_search_world(GSCHEM_TOPLEVEL *w_current, int x, int y, int *whichone);
573 OBJECT *o_grips_search_arc_world(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current, int x, int y, int size, int *whichone);
574 OBJECT *o_grips_search_box_world(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current, int x, int y, int size, int *whichone);
575 OBJECT *o_grips_search_path_world(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current, int x, int y, int size, int *whichone);
576 OBJECT *o_grips_search_picture_world(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current, int x, int y, int size, int *whichone);
577 OBJECT *o_grips_search_circle_world(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current, int x, int y, int size, int *whichone);
578 OBJECT *o_grips_search_line_world(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current, int x, int y, int size, int *whichone);
579 int o_grips_start(GSCHEM_TOPLEVEL *w_current, int x, int y);
580 void o_grips_motion(GSCHEM_TOPLEVEL *w_current, int x, int y);
581 void o_grips_end(GSCHEM_TOPLEVEL *w_current);
582 void o_grips_cancel(GSCHEM_TOPLEVEL *w_current);
583 int o_grips_size(GSCHEM_TOPLEVEL *w_current);
584 void o_grips_draw(GSCHEM_TOPLEVEL *w_current, int x, int y);
585 void o_grips_draw_rubber(GSCHEM_TOPLEVEL *w_current);
586 /* o_line.c */
587 void o_line_draw(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current);
588 void o_line_invalidate_rubber(GSCHEM_TOPLEVEL *w_current);
589 void o_line_draw_place(GSCHEM_TOPLEVEL *w_current, int dx, int dy, OBJECT *o_current);
590 void o_line_start(GSCHEM_TOPLEVEL *w_current, int x, int y);
591 void o_line_end(GSCHEM_TOPLEVEL *w_current, int x, int y);
592 void o_line_motion(GSCHEM_TOPLEVEL *w_current, int x, int y);
593 void o_line_draw_rubber(GSCHEM_TOPLEVEL *w_current);
594 void o_line_draw_grips(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current);
595 int o_line_visible(GSCHEM_TOPLEVEL *w_current, LINE *line, int *x1, int *y1, int *x2, int *y2);
596 /* o_misc.c */
597 void o_edit(GSCHEM_TOPLEVEL *w_current, GList *list);
598 void o_lock(GSCHEM_TOPLEVEL *w_current);
599 void o_unlock(GSCHEM_TOPLEVEL *w_current);
600 void o_rotate_world_update(GSCHEM_TOPLEVEL *w_current, int centerx, int centery, int angle, GList *list);
601 void o_rotate_call_hooks(GSCHEM_TOPLEVEL *w_current, GList *list);
602 void o_mirror_world_update(GSCHEM_TOPLEVEL *w_current, int centerx, int centery, GList *list);
603 void o_edit_show_hidden_lowlevel(GSCHEM_TOPLEVEL *w_current, const GList *o_list);
604 void o_edit_show_hidden(GSCHEM_TOPLEVEL *w_current, const GList *o_list);
605 void o_edit_make_visible(GSCHEM_TOPLEVEL *w_current, const GList *o_list);
606 int o_edit_find_text(GSCHEM_TOPLEVEL *w_current, const GList *o_list, char *stext, int descend, int skip);
607 void o_edit_hide_specific_text(GSCHEM_TOPLEVEL *w_current, const GList *o_list, char *stext);
608 void o_edit_show_specific_text(GSCHEM_TOPLEVEL *w_current, const GList *o_list, char *stext);
609 OBJECT *o_update_component(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current);
610 void o_autosave_backups(GSCHEM_TOPLEVEL *w_current);
611 /* o_move.c */
612 void o_move_start(GSCHEM_TOPLEVEL *w_current, int x, int y);
613 void o_move_end_lowlevel(GSCHEM_TOPLEVEL *w_current, OBJECT *object, int diff_x, int diff_y);
614 void o_move_end(GSCHEM_TOPLEVEL *w_current);
615 void o_move_cancel(GSCHEM_TOPLEVEL *w_current);
616 void o_move_motion(GSCHEM_TOPLEVEL *w_current, int x, int y);
617 void o_move_invalidate_rubber(GSCHEM_TOPLEVEL *w_current, int drawing);
618 void o_move_draw_rubber(GSCHEM_TOPLEVEL *w_current, int drawing);
619 int o_move_return_whichone(OBJECT *object, int x, int y);
620 void o_move_check_endpoint(GSCHEM_TOPLEVEL *w_current, OBJECT *object);
621 void o_move_prep_rubberband(GSCHEM_TOPLEVEL *w_current);
622 int o_move_zero_length(OBJECT *object);
623 void o_move_end_rubberband(GSCHEM_TOPLEVEL *w_current, int world_diff_x, int world_diff_y, GList **objects);
624 /* o_net.c */
625 void o_net_reset(GSCHEM_TOPLEVEL *w_current);
626 void o_net_draw(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current);
627 void o_net_draw_place(GSCHEM_TOPLEVEL *w_current, int dx, int dy, OBJECT *o_current);
628 void o_net_draw_stretch(GSCHEM_TOPLEVEL *w_current, int dx, int dy, int whichone, OBJECT *o_current);
629 void o_net_guess_direction(GSCHEM_TOPLEVEL *w_current, int x, int y);
630 void o_net_find_magnetic(GSCHEM_TOPLEVEL *w_current, int event_x, int event_y);
631 void o_net_finishmagnetic(GSCHEM_TOPLEVEL *w_current);
632 void o_net_start_magnetic(GSCHEM_TOPLEVEL *w_current, int x, int y);
633 void o_net_start(GSCHEM_TOPLEVEL *w_current, int x, int y);
634 int o_net_end(GSCHEM_TOPLEVEL *w_current, int x, int y);
635 void o_net_motion(GSCHEM_TOPLEVEL *w_current, int x, int y);
636 void o_net_draw_rubber(GSCHEM_TOPLEVEL *w_current);
637 void o_net_invalidate_rubber(GSCHEM_TOPLEVEL *w_current);
638 int o_net_add_busrippers(GSCHEM_TOPLEVEL *w_current, OBJECT *net_obj, GList *other_objects);
639 /* o_picture.c */
640 void o_picture_start(GSCHEM_TOPLEVEL *w_current, int x, int y);
641 void o_picture_end(GSCHEM_TOPLEVEL *w_current, int x, int y);
642 void o_picture_motion(GSCHEM_TOPLEVEL *w_current, int x, int y);
643 void picture_selection_dialog (GSCHEM_TOPLEVEL *w_current);
644 void o_picture_invalidate_rubber(GSCHEM_TOPLEVEL *w_current);
645 void o_picture_draw_rubber(GSCHEM_TOPLEVEL *w_current);
646 void o_picture_draw(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current);
647 void o_picture_draw_grips(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current);
648 void o_picture_draw_place(GSCHEM_TOPLEVEL *w_current, int dx, int dy, OBJECT *o_current);
649 void o_picture_exchange(GSCHEM_TOPLEVEL *w_current, GdkPixbuf *pixbuf, const gchar *filename);
650 void picture_change_filename_dialog (GSCHEM_TOPLEVEL *w_current);
651 void o_picture_set_pixbuf(GSCHEM_TOPLEVEL *w_current, GdkPixbuf *pixbuf, char *filename);
653 /* o_path.c */
654 void o_path_draw(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current);
655 void o_path_invalidate_rubber(GSCHEM_TOPLEVEL *w_current);
656 void o_path_draw_place(GSCHEM_TOPLEVEL *w_current, int dx, int dy, OBJECT *o_current);
657 void o_path_start(GSCHEM_TOPLEVEL *w_current, int x, int y);
658 void o_path_end(GSCHEM_TOPLEVEL *w_current, int x, int y);
659 void o_path_motion(GSCHEM_TOPLEVEL *w_current, int x, int y);
660 void o_path_draw_rubber(GSCHEM_TOPLEVEL *w_current);
661 void o_path_draw_grips(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current);
663 /* o_pin.c */
664 void o_pin_draw(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current);
665 void o_pin_draw_place(GSCHEM_TOPLEVEL *w_current, int dx, int dy, OBJECT *o_current);
666 void o_pin_start(GSCHEM_TOPLEVEL *w_current, int x, int y);
667 void o_pin_end(GSCHEM_TOPLEVEL *w_current, int x, int y);
668 void o_pin_motion(GSCHEM_TOPLEVEL *w_current, int x, int y);
669 void o_pin_draw_rubber(GSCHEM_TOPLEVEL *w_current);
670 void o_pin_invalidate_rubber(GSCHEM_TOPLEVEL *w_current);
671 /* o_place.c */
672 void o_place_start(GSCHEM_TOPLEVEL *w_current, int x, int y);
673 void o_place_end(GSCHEM_TOPLEVEL *w_current, int x, int y, int continue_placing, GList **ret_new_objects);
674 void o_place_motion(GSCHEM_TOPLEVEL *w_current, int x, int y);
675 void o_place_invalidate_rubber(GSCHEM_TOPLEVEL *w_current, int drawing);
676 void o_place_draw_rubber(GSCHEM_TOPLEVEL *w_current, int drawing);
677 void o_place_rotate(GSCHEM_TOPLEVEL *w_current);
678 /* o_select.c */
679 void o_select_run_hooks(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current, int flag);
680 void o_select_object(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current, int type, int count);
681 int o_select_box_start(GSCHEM_TOPLEVEL *w_current, int x, int y);
682 void o_select_box_end(GSCHEM_TOPLEVEL *w_current, int x, int y);
683 void o_select_box_motion(GSCHEM_TOPLEVEL *w_current, int x, int y);
684 void o_select_box_invalidate_rubber(GSCHEM_TOPLEVEL *w_current);
685 void o_select_box_draw_rubber(GSCHEM_TOPLEVEL *w_current);
686 void o_select_box_search(GSCHEM_TOPLEVEL *w_current);
687 void o_select_connected_nets(GSCHEM_TOPLEVEL *w_current, OBJECT* o_current);
688 OBJECT *o_select_return_first_object(GSCHEM_TOPLEVEL *w_current);
689 int o_select_selected(GSCHEM_TOPLEVEL *w_current);
690 void o_select_unselect_list(GSCHEM_TOPLEVEL *w_current, SELECTION *selection);
691 void o_select_unselect_all(GSCHEM_TOPLEVEL *w_current);
692 void o_select_move_to_place_list(GSCHEM_TOPLEVEL *w_current);
693 /* o_slot.c */
694 void o_slot_start(GSCHEM_TOPLEVEL *w_current, OBJECT *object);
695 void o_slot_end(GSCHEM_TOPLEVEL *w_current, OBJECT *object, const char *string);
696 /* o_text.c */
697 int o_text_get_rendered_bounds(void *user_data, OBJECT *object, int *min_x, int *min_y, int *max_x, int *max_y);
698 void o_text_draw(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current);
699 void o_text_draw_place(GSCHEM_TOPLEVEL *w_current, int dx, int dy, OBJECT *o_current);
700 void o_text_prepare_place(GSCHEM_TOPLEVEL *w_current, char *text);
701 void o_text_edit(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current);
702 void o_text_edit_end(GSCHEM_TOPLEVEL *w_current, char *string, int len, int text_size, int text_alignment);
703 void o_text_change(GSCHEM_TOPLEVEL *w_current, OBJECT *object, char *string, int visibility, int show);
704 /* o_undo.c */
705 void o_undo_init(void);
706 void o_undo_savestate(GSCHEM_TOPLEVEL *w_current, int flag);
707 char *o_undo_find_prev_filename(UNDO *start);
708 GList *o_undo_find_prev_object_head(UNDO *start);
709 void o_undo_callback(GSCHEM_TOPLEVEL *w_current, int type);
710 void o_undo_cleanup(void);
711 void o_undo_remove_last_undo(GSCHEM_TOPLEVEL *w_current);
712 /* parsecmd.c */
713 void usage(char *cmd);
714 int parse_commandline(int argc, char *argv[]);
715 /* s_stretch.c */
716 GList *s_stretch_add(GList *list, OBJECT *object, int whichone);
717 GList *s_stretch_remove(GList *list, OBJECT *object);
718 void s_stretch_print_all(GList *list);
719 void s_stretch_destroy_all(GList *list);
720 /* x_attribedit.c */
721 gint option_menu_get_history(GtkOptionMenu *option_menu);
722 void attrib_edit_dialog_ok(GtkWidget *w, GSCHEM_TOPLEVEL *w_current);
723 void attrib_edit_dialog(GSCHEM_TOPLEVEL *w_current, OBJECT *attr_obj, int flag);
724 /* x_autonumber.c */
725 void autonumber_text_dialog(GSCHEM_TOPLEVEL *w_current);
726 /* x_basic.c */
727 void x_repaint_background_region(GSCHEM_TOPLEVEL *w_current, int x, int y, int width, int height);
728 void x_hscrollbar_set_ranges(GSCHEM_TOPLEVEL *w_current);
729 void x_hscrollbar_update(GSCHEM_TOPLEVEL *w_current);
730 void x_vscrollbar_set_ranges(GSCHEM_TOPLEVEL *w_current);
731 void x_vscrollbar_update(GSCHEM_TOPLEVEL *w_current);
732 void x_scrollbars_update(GSCHEM_TOPLEVEL *w_current);
733 void x_basic_warp_cursor(GtkWidget *widget, gint x, gint y);
734 /* x_clipboard.c */
735 void x_clipboard_init (GSCHEM_TOPLEVEL *w_current);
736 void x_clipboard_finish (GSCHEM_TOPLEVEL *w_current);
737 void x_clipboard_query_usable (GSCHEM_TOPLEVEL *w_current, void (*callback) (int, void *), void *userdata);
738 gboolean x_clipboard_set (GSCHEM_TOPLEVEL *w_current, const GList *object_list);
739 GList *x_clipboard_get (GSCHEM_TOPLEVEL *w_current);
740 /* x_color.c */
741 void x_color_init (void);
742 void x_color_free (void);
743 void x_color_allocate (void);
744 GdkColor *x_get_color(int color);
745 GdkColor *x_get_darkcolor(int color);
746 COLOR *x_color_lookup(int color);
747 COLOR *x_color_lookup_dark(int color);
748 gchar *x_color_get_name(int index);
749 gboolean x_color_display_enabled (int index);
750 /* x_dialog.c */
751 int text_view_calculate_real_tab_width(GtkTextView *textview, int tab_size);
752 void select_all_text_in_textview(GtkTextView *textview);
753 void destroy_window(GtkWidget *widget, GtkWidget **window);
754 void text_input_dialog_apply(GtkWidget *w, GSCHEM_TOPLEVEL *w_current);
755 void text_input_dialog(GSCHEM_TOPLEVEL *w_current);
756 gint change_alignment(GtkComboBox *w, GSCHEM_TOPLEVEL *w_current);
757 void text_edit_dialog_ok(GtkWidget *w, GSCHEM_TOPLEVEL *w_current);
758 void text_edit_dialog(GSCHEM_TOPLEVEL *w_current, const char *string, int text_size, int text_alignment);
759 void line_type_dialog(GSCHEM_TOPLEVEL *w_current);
760 void fill_type_dialog(GSCHEM_TOPLEVEL *w_current);
761 void arc_angle_dialog(GSCHEM_TOPLEVEL *w_current, OBJECT *arc_object);
762 void translate_dialog(GSCHEM_TOPLEVEL *w_current);
763 void text_size_dialog(GSCHEM_TOPLEVEL *w_current);
764 void snap_size_dialog(GSCHEM_TOPLEVEL *w_current);
765 void slot_edit_dialog(GSCHEM_TOPLEVEL *w_current, const char *string);
766 void about_dialog(GSCHEM_TOPLEVEL *w_current);
767 void coord_display_update(GSCHEM_TOPLEVEL *w_current, int x, int y);
768 void coord_dialog(GSCHEM_TOPLEVEL *w_current, int x, int y);
769 gint color_set(GtkWidget *w, gpointer data);
770 char *index2functionstring(int index);
771 void color_edit_dialog_apply(GtkWidget *w, GSCHEM_TOPLEVEL *w_current);
772 void color_edit_dialog(GSCHEM_TOPLEVEL *w_current);
773 void x_dialog_hotkeys(GSCHEM_TOPLEVEL *w_current);
774 void x_dialog_raise_all(GSCHEM_TOPLEVEL *w_current);
776 void generic_msg_dialog(const char *);
777 int generic_confirm_dialog(const char *);
778 char * generic_filesel_dialog(const char *, const char *, gint);
780 void find_text_dialog(GSCHEM_TOPLEVEL *w_current);
781 void hide_text_dialog(GSCHEM_TOPLEVEL *w_current);
782 void show_text_dialog(GSCHEM_TOPLEVEL *w_current);
783 void major_changed_dialog(GSCHEM_TOPLEVEL* w_current);
784 void x_dialog_close_changed_page (GSCHEM_TOPLEVEL *w_current, PAGE *page);
785 gboolean x_dialog_close_window (GSCHEM_TOPLEVEL *w_current);
786 int x_dialog_validate_attribute(GtkWindow* parent, char *attribute);
787 void x_dialog_edit_pin_type(GSCHEM_TOPLEVEL *w_current, const GList *obj_list);
788 /* x_event.c */
789 gint x_event_expose(GtkWidget *widget, GdkEventExpose *event, GSCHEM_TOPLEVEL *w_current);
790 gint x_event_button_pressed(GtkWidget *widget, GdkEventButton *event, GSCHEM_TOPLEVEL *w_current);
791 gint x_event_button_released(GtkWidget *widget, GdkEventButton *event, GSCHEM_TOPLEVEL *w_current);
792 gint x_event_motion(GtkWidget *widget, GdkEventMotion *event, GSCHEM_TOPLEVEL *w_current);
793 gboolean x_event_configure (GtkWidget *widget, GdkEventConfigure *event, gpointer user_data);
794 void x_manual_resize(GSCHEM_TOPLEVEL *w_current);
795 void x_event_hschanged(GtkAdjustment *adj, GSCHEM_TOPLEVEL *w_current);
796 void x_event_vschanged(GtkAdjustment *adj, GSCHEM_TOPLEVEL *w_current);
797 gint x_event_enter(GtkWidget *widget, GdkEventCrossing *event, GSCHEM_TOPLEVEL *w_current);
798 gboolean x_event_key(GtkWidget *widget, GdkEventKey *event, GSCHEM_TOPLEVEL *w_current);
799 gint x_event_scroll(GtkWidget *widget, GdkEventScroll *event, GSCHEM_TOPLEVEL *w_current);
800 gboolean x_event_get_pointer_position (GSCHEM_TOPLEVEL *w_current, gboolean snapped, gint *wx, gint *wy);
801 /* x_compselect.c */
802 void x_compselect_open (GSCHEM_TOPLEVEL *w_current);
803 void x_compselect_close (GSCHEM_TOPLEVEL *w_current);
804 void x_compselect_deselect (GSCHEM_TOPLEVEL *w_current);
805 /* x_fileselect.c */
806 void x_fileselect_open(GSCHEM_TOPLEVEL *w_current);
807 void x_fileselect_save(GSCHEM_TOPLEVEL *w_current);
808 int x_fileselect_load_backup(void *user_data, GString *message);
809 /* x_grid.c */
810 void x_grid_draw_region(GSCHEM_TOPLEVEL *w_current, int x, int y, int width, int height);
811 int x_grid_query_drawn_spacing(GSCHEM_TOPLEVEL *w_current);
812 void x_draw_tiles(GSCHEM_TOPLEVEL *w_current);
813 /* x_image.c */
814 void x_image_lowlevel(GSCHEM_TOPLEVEL *w_current, const char* filename,
815 int desired_width, int desired_height, char *filetype);
816 void x_image_setup(GSCHEM_TOPLEVEL *w_current);
817 GdkPixbuf *x_image_get_pixbuf (GSCHEM_TOPLEVEL *w_current);
818 /* x_log.c */
819 void x_log_open ();
820 void x_log_close ();
821 void x_log_message (const gchar *log_domain,
822 GLogLevelFlags log_level,
823 const gchar *message);
824 /* x_menus.c */
825 GtkWidget *get_main_menu(GSCHEM_TOPLEVEL *w_current);
826 GtkWidget *get_main_popup(GSCHEM_TOPLEVEL *w_current);
827 gint do_popup(GSCHEM_TOPLEVEL *w_current, GdkEventButton *event);
828 void x_menus_sensitivity(GSCHEM_TOPLEVEL *w_current, const char *buf, int flag);
829 void x_menus_popup_sensitivity(GSCHEM_TOPLEVEL *w_current, const char *buf, int flag);
830 void x_menu_attach_recent_files_submenu(GSCHEM_TOPLEVEL *w_current);
831 void recent_files_load();
832 void recent_files_save(gpointer user_data);
833 void recent_files_add(const char *filename);
834 /* x_multiattrib.c */
835 void x_multiattrib_open (GSCHEM_TOPLEVEL *w_current);
836 void x_multiattrib_close (GSCHEM_TOPLEVEL *w_current);
837 void x_multiattrib_update (GSCHEM_TOPLEVEL *w_current);
838 /* x_multimulti.c */
839 /* x_pagesel.c */
840 void x_pagesel_open (GSCHEM_TOPLEVEL *w_current);
841 void x_pagesel_close (GSCHEM_TOPLEVEL *w_current);
842 void x_pagesel_update (GSCHEM_TOPLEVEL *w_current);
843 /* x_preview.c */
844 /* x_print.c */
845 void x_print_setup(GSCHEM_TOPLEVEL *w_current, char *filename);
846 /* x_script.c */
847 void setup_script_selector(GSCHEM_TOPLEVEL *w_current);
848 /* x_stroke.c */
849 void x_stroke_init (void);
850 void x_stroke_free (void);
851 void x_stroke_record (GSCHEM_TOPLEVEL *w_current, gint x, gint y);
852 gint x_stroke_translate_and_execute (GSCHEM_TOPLEVEL *w_current);
853 /* x_window.c */
854 void x_window_setup (GSCHEM_TOPLEVEL *w_current);
855 void x_window_setup_gc(GSCHEM_TOPLEVEL *w_current);
856 void x_window_free_gc(GSCHEM_TOPLEVEL *w_current);
857 void x_window_create_drawing(GtkWidget *drawbox, GSCHEM_TOPLEVEL *w_current);
858 void x_window_setup_draw_events(GSCHEM_TOPLEVEL *w_current);
859 void x_window_create_main(GSCHEM_TOPLEVEL *w_current);
860 void x_window_close(GSCHEM_TOPLEVEL *w_current);
861 void x_window_close_all(GSCHEM_TOPLEVEL *w_current);
862 PAGE *x_window_open_page (GSCHEM_TOPLEVEL *w_current, const gchar *filename);
863 void x_window_set_current_page (GSCHEM_TOPLEVEL *w_current, PAGE *page);
864 gint x_window_save_page (GSCHEM_TOPLEVEL *w_current, PAGE *page, const gchar *filename);
865 void x_window_close_page (GSCHEM_TOPLEVEL *w_current, PAGE *page);
866 void x_window_set_default_icon (void);