4 const gchar
*o_file_format_header();
5 gchar
*o_save_buffer (TOPLEVEL
*toplevel
, const GList
*object_list
);
6 int o_save (TOPLEVEL
*toplevel
, const GList
*object_list
, const char *filename
, GError
**err
);
7 GList
*o_read_buffer(TOPLEVEL
*toplevel
, GList
*object_list
, char *buffer
, const int size
, const char *name
);
8 GList
*o_read(TOPLEVEL
*toplevel
, GList
*object_list
, char *filename
, GError
**err
);
9 void o_scale(TOPLEVEL
*toplevel
, GList
*list
, int x_scale
, int y_scale
);
12 gchar
*f_get_autosave_filename (const gchar
*filename
);
13 gboolean
f_has_active_autosave (const gchar
*filename
, GError
**err
);
14 int f_open(TOPLEVEL
*toplevel
, PAGE
*page
, const gchar
*filename
, GError
**err
);
15 int f_open_flags(TOPLEVEL
*toplevel
, PAGE
*page
, const gchar
*filename
,
16 const gint flags
, GError
**err
);
17 void f_close(TOPLEVEL
*toplevel
);
18 int f_save(TOPLEVEL
*toplevel
, PAGE
*page
, const char *filename
, GError
**error
);
19 gchar
*f_normalize_filename (const gchar
*filename
, GError
**error
);
20 char *follow_symlinks (const gchar
*filename
, GError
**error
);
23 int f_print_file (TOPLEVEL
*toplevel
, PAGE
*page
, const char *filename
);
24 int f_print_command (TOPLEVEL
*toplevel
, PAGE
*page
, const char *command
);
25 int f_print_stream(TOPLEVEL
*toplevel
, PAGE
*page
, FILE *fp
);
26 void f_print_set_type(TOPLEVEL
*toplevel
, int type
);
29 SCM
g_scm_eval_protected (SCM exp
, SCM module_or_state
);
30 SCM
g_scm_eval_string_protected (SCM str
);
31 SCM
g_scm_c_eval_string_protected (const gchar
*str
);
32 gboolean
g_read_file(TOPLEVEL
*toplevel
, const gchar
*filename
, GError
**err
);
35 SCM
g_rc_mode_general(SCM scmmode
, const char *rc_name
, int *mode_var
,
36 const vstbl_entry
*table
, int table_size
);
37 gboolean
g_rc_parse_system (TOPLEVEL
*toplevel
, const gchar
*rcname
, GError
**err
);
38 gboolean
g_rc_parse_user (TOPLEVEL
*toplevel
, const gchar
*rcname
, GError
**err
);
39 gboolean
g_rc_parse_local (TOPLEVEL
*toplevel
, const gchar
*rcname
, const gchar
*path
, GError
**err
);
40 gboolean
g_rc_parse_file (TOPLEVEL
*toplevel
, const gchar
*rcfile
, GError
**err
);
41 void g_rc_parse(TOPLEVEL
*toplevel
, const gchar
* pname
, const gchar
* rcname
, const gchar
* rcfile
);
42 void g_rc_parse_handler (TOPLEVEL
*toplevel
, const gchar
*rcname
, const gchar
*rcfile
, ConfigParseErrorFunc handler
, void *user_data
);
45 void i_vars_libgeda_set(TOPLEVEL
*toplevel
);
46 void i_vars_libgeda_freenames();
49 void libgeda_init(void);
52 void set_window(TOPLEVEL
*toplevel
, PAGE
*page
, int xmin
, int xmax
, int ymin
, int ymax
);
53 void rotate_point(int x
, int y
, int angle
, int *newx
, int *newy
);
54 void rotate_point_90(int x
, int y
, int angle
, int *newx
, int *newy
);
55 void PAPERSIZEtoWORLD(int width
, int height
, int border
, int *right
, int *bottom
);
58 void m_hatch_box(BOX
*box
, gint angle
, gint pitch
, GArray
*lines
);
59 void m_hatch_circle(CIRCLE
*circle
, gint angle
, gint pitch
, GArray
*lines
);
60 void m_hatch_path(PATH
*path
, gint angle
, gint pitch
, GArray
*lines
);
63 void m_polygon_append_bezier(GArray
*points
, BEZIER
*bezier
, int segments
);
64 void m_polygon_append_point(GArray
*points
, int x
, int y
);
68 OBJECT
*o_arc_new(TOPLEVEL
*toplevel
, char type
, int color
, int x
, int y
, int radius
, int start_angle
, int end_angle
);
69 OBJECT
*o_arc_copy(TOPLEVEL
*toplevel
, OBJECT
*o_current
);
70 void o_arc_modify(TOPLEVEL
*toplevel
, OBJECT
*object
, int x
, int y
, int whichone
);
71 void o_arc_translate_world(TOPLEVEL
*toplevel
, int dx
, int dy
, OBJECT
*object
);
72 void o_arc_rotate_world(TOPLEVEL
*toplevel
, int world_centerx
, int world_centery
, int angle
, OBJECT
*object
);
73 void o_arc_mirror_world(TOPLEVEL
*toplevel
, int world_centerx
, int world_centery
, OBJECT
*object
);
76 void o_attrib_add(TOPLEVEL
*toplevel
, OBJECT
*object
, OBJECT
*item
);
77 gboolean
o_attrib_is_attached (TOPLEVEL
*toplevel
, OBJECT
*attrib
, OBJECT
*object
);
78 void o_attrib_attach(TOPLEVEL
*toplevel
, OBJECT
*attrib
, OBJECT
*object
, int set_color
);
79 void o_attrib_attach_list(TOPLEVEL
*toplevel
, GList
*attr_list
, OBJECT
*object
, int set_color
);
80 void o_attrib_detach_all(TOPLEVEL
*toplevel
, OBJECT
*object
);
81 void o_attrib_print(GList
*attributes
);
82 void o_attrib_remove(TOPLEVEL
*toplevel
, GList
**list
, OBJECT
*remove
);
83 gboolean
o_attrib_string_get_name_value (const gchar
*string
, gchar
**name_ptr
, gchar
**value_ptr
);
84 gboolean
o_attrib_get_name_value (OBJECT
*attrib
, gchar
**name_ptr
, gchar
**value_ptr
);
85 GList
*o_attrib_find_floating_attribs (const GList
*list
);
86 char *o_attrib_search_floating_attribs_by_name (const GList
*list
, char *name
, int counter
);
87 char *o_attrib_search_attached_attribs_by_name (OBJECT
*object
, char *name
, int counter
);
88 char *o_attrib_search_inherited_attribs_by_name (OBJECT
*object
, char *name
, int counter
);
89 char *o_attrib_search_object_attribs_by_name (OBJECT
*object
, char *name
, int counter
);
90 GList
*o_attrib_return_attribs(OBJECT
*object
);
91 int o_attrib_is_inherited(OBJECT
*attrib
);
94 int inside_region(int xmin
, int ymin
, int xmax
, int ymax
, int x
, int y
);
95 void o_recalc_single_object(TOPLEVEL
*toplevel
, OBJECT
*o_current
);
96 void o_recalc_object_glist(TOPLEVEL
*toplevel
, GList
*object_glist
);
97 void o_set_line_options(TOPLEVEL
*toplevel
, OBJECT
*o_current
, OBJECT_END end
, OBJECT_TYPE type
, int width
, int length
, int space
);
98 gboolean
o_get_line_options(OBJECT
*object
, OBJECT_END
*end
, OBJECT_TYPE
*type
, int *width
, int *length
, int *space
);
99 void o_set_fill_options(TOPLEVEL
*toplevel
, OBJECT
*o_current
, OBJECT_FILLING type
, int width
, int pitch1
, int angle1
, int pitch2
, int angle2
);
100 gboolean
o_get_fill_options(OBJECT
*object
, OBJECT_FILLING
*type
, int *width
, int *pitch1
, int *angle1
, int *pitch2
, int *angle2
);
101 gboolean
o_get_position(TOPLEVEL
*toplevel
, gint
*x
, gint
*y
, OBJECT
*object
);
102 void o_translate_world (TOPLEVEL
*toplevel
, gint dx
, gint dy
, OBJECT
*object
);
103 void o_rotate_world(TOPLEVEL
*toplevel
, int world_centerx
, int world_centery
, int angle
, OBJECT
*object
);
104 void o_mirror_world(TOPLEVEL
*toplevel
, int world_centerx
, int world_centery
, OBJECT
*object
);
105 double o_shortest_distance(OBJECT
*object
, int x
, int y
);
106 void o_set_color(TOPLEVEL
*toplevel
, OBJECT
*object
, int color
);
107 PAGE
*o_get_page (TOPLEVEL
*toplevel
, OBJECT
*object
);
108 OBJECT
*o_get_parent (TOPLEVEL
*toplevel
, OBJECT
*object
);
109 void o_add_change_notify(TOPLEVEL
*toplevel
, ChangeNotifyFunc pre_change_func
, ChangeNotifyFunc change_func
, void *user_data
);
110 void o_remove_change_notify(TOPLEVEL
*toplevel
, ChangeNotifyFunc pre_change_func
, ChangeNotifyFunc change_func
, void *user_data
);
111 gboolean
o_is_visible (TOPLEVEL
*toplevel
, OBJECT
*object
);
112 void o_set_visibility (TOPLEVEL
*toplevel
, OBJECT
*object
, int visibility
);
115 OBJECT
*o_box_new(TOPLEVEL
*toplevel
, char type
, int color
, int x1
, int y1
, int x2
, int y2
);
116 OBJECT
*o_box_copy(TOPLEVEL
*toplevel
, OBJECT
*o_current
);
117 void o_box_modify_all (TOPLEVEL
*toplevel
, OBJECT
*object
, int x1
, int y1
, int x2
, int y2
);
118 void o_box_modify(TOPLEVEL
*toplevel
, OBJECT
*object
, int x
, int y
, int whichone
);
119 void o_box_translate_world(TOPLEVEL
*toplevel
, int dx
, int dy
, OBJECT
*object
);
120 void o_box_rotate_world(TOPLEVEL
*toplevel
, int world_centerx
, int world_centery
, int angle
, OBJECT
*object
);
121 void o_box_mirror_world(TOPLEVEL
*toplevel
, int world_centerx
, int world_centery
, OBJECT
*object
);
124 OBJECT
*o_bus_new(TOPLEVEL
*toplevel
, char type
, int color
, int x1
, int y1
, int x2
, int y2
, int bus_ripper_direction
);
125 void o_bus_translate_world(TOPLEVEL
*toplevel
, int dx
, int dy
, OBJECT
*object
);
126 OBJECT
*o_bus_copy(TOPLEVEL
*toplevel
, OBJECT
*o_current
);
127 void o_bus_rotate_world(TOPLEVEL
*toplevel
, int world_centerx
, int world_centery
, int angle
, OBJECT
*object
);
128 void o_bus_mirror_world(TOPLEVEL
*toplevel
, int world_centerx
, int world_centery
, OBJECT
*object
);
129 int o_bus_orientation(OBJECT
*object
);
130 void o_bus_consolidate(TOPLEVEL
*toplevel
);
131 void o_bus_modify(TOPLEVEL
*toplevel
, OBJECT
*object
, int x
, int y
, int whichone
);
133 /* o_circle_basic.c */
134 int dist(int x1
, int y1
, int x2
, int y2
);
135 OBJECT
*o_circle_new(TOPLEVEL
*toplevel
, char type
, int color
, int x
, int y
, int radius
);
136 OBJECT
*o_circle_copy(TOPLEVEL
*toplevel
, OBJECT
*o_current
);
137 void o_circle_modify(TOPLEVEL
*toplevel
, OBJECT
*object
, int x
, int y
, int whichone
);
138 void o_circle_translate_world(TOPLEVEL
*toplevel
, int dx
, int dy
, OBJECT
*object
);
139 void o_circle_rotate_world(TOPLEVEL
*toplevel
, int world_centerx
, int world_centery
, int angle
, OBJECT
*object
);
140 void o_circle_mirror_world(TOPLEVEL
*toplevel
, int world_centerx
, int world_centery
, OBJECT
*object
);
142 /* o_complex_basic.c */
143 int world_get_single_object_bounds(TOPLEVEL
*toplevel
, OBJECT
*o_current
,
144 int *rleft
, int *rtop
,
145 int *rright
, int *rbottom
);
146 int world_get_object_glist_bounds(TOPLEVEL
*toplevel
, const GList
*o_list
,
148 int *right
, int *bottom
);
149 int o_complex_is_embedded(OBJECT
*o_current
);
150 GList
*o_complex_promote_attribs (TOPLEVEL
*toplevel
, OBJECT
*object
);
151 OBJECT
*o_complex_new(TOPLEVEL
*toplevel
, char type
, int color
, int x
, int y
, int angle
, int mirror
, const CLibSymbol
*clib_sym
, const gchar
*basename
, int selectable
);
152 OBJECT
*o_complex_new_embedded(TOPLEVEL
*toplevel
, char type
, int color
, int x
, int y
, int angle
, int mirror
, const gchar
*basename
, int selectable
);
153 void o_complex_set_filename(TOPLEVEL
*toplevel
, const char *basename
);
154 void o_complex_translate_world(TOPLEVEL
*toplevel
, int dx
, int dy
, OBJECT
*object
);
155 OBJECT
*o_complex_copy(TOPLEVEL
*toplevel
, OBJECT
*o_current
);
156 void o_complex_rotate_world(TOPLEVEL
*toplevel
, int world_centerx
, int world_centery
, int angle
, OBJECT
*object
);
157 void o_complex_mirror_world(TOPLEVEL
*toplevel
, int world_centerx
, int world_centery
, OBJECT
*object
);
158 OBJECT
*o_complex_find_pin_by_attribute(OBJECT
*object
, char *name
, char *wanted_value
);
159 void o_complex_check_symversion(TOPLEVEL
* toplevel
, OBJECT
* object
);
162 void o_embed(TOPLEVEL
*toplevel
, OBJECT
*o_current
);
163 void o_unembed(TOPLEVEL
*toplevel
, OBJECT
*o_current
);
166 OBJECT
*o_line_new(TOPLEVEL
*toplevel
, char type
, int color
, int x1
, int y1
, int x2
, int y2
);
167 OBJECT
*o_line_copy(TOPLEVEL
*toplevel
, OBJECT
*o_current
);
168 void o_line_modify(TOPLEVEL
*toplevel
, OBJECT
*object
, int x
, int y
, int whichone
);
169 void o_line_translate_world(TOPLEVEL
*toplevel
, int dx
, int dy
, OBJECT
*object
);
170 void o_line_rotate_world(TOPLEVEL
*toplevel
, int world_centerx
, int world_centery
, int angle
, OBJECT
*object
);
171 void o_line_mirror_world(TOPLEVEL
*toplevel
, int world_centerx
, int world_centery
, OBJECT
*object
);
172 void o_line_scale_world(TOPLEVEL
*toplevel
, int x_scale
, int y_scale
, OBJECT
*object
);
173 double o_line_length(OBJECT
*object
);
176 OBJECT
*o_object_copy(TOPLEVEL
*toplevel
, OBJECT
*selected
);
177 GList
*o_glist_copy_all(TOPLEVEL
*toplevel
, const GList
*src_list
, GList
*dest_list
);
178 void o_glist_translate_world(TOPLEVEL
*toplevel
, int dx
, int dy
, const GList
*list
);
179 void o_glist_rotate_world(TOPLEVEL
*toplevel
, int x
, int y
, int angle
, const GList
*list
);
180 void o_glist_mirror_world(TOPLEVEL
*toplevel
, int x
, int y
, const GList
*list
);
181 void o_glist_set_color(TOPLEVEL
*toplevel
, const GList
*list
, int color
);
184 OBJECT
*o_net_new(TOPLEVEL
*toplevel
, char type
, int color
, int x1
, int y1
, int x2
, int y2
);
185 void o_net_translate_world(TOPLEVEL
*toplevel
, int dx
, int dy
, OBJECT
*object
);
186 OBJECT
*o_net_copy(TOPLEVEL
*toplevel
, OBJECT
*o_current
);
187 void o_net_rotate_world(TOPLEVEL
*toplevel
, int world_centerx
, int world_centery
, int angle
, OBJECT
*object
);
188 void o_net_mirror_world(TOPLEVEL
*toplevel
, int world_centerx
, int world_centery
, OBJECT
*object
);
189 int o_net_orientation(OBJECT
*object
);
190 void o_net_consolidate(TOPLEVEL
*toplevel
, PAGE
*page
);
191 void o_net_modify(TOPLEVEL
*toplevel
, OBJECT
*object
, int x
, int y
, int whichone
);
194 OBJECT
*o_path_new(TOPLEVEL
*toplevel
, char type
, int color
, const char *path_string
);
195 OBJECT
*o_path_copy(TOPLEVEL
*toplevel
, OBJECT
*o_current
);
196 void o_path_modify(TOPLEVEL
*toplevel
, OBJECT
*object
, int x
, int y
, int whichone
);
197 void o_path_translate_world(TOPLEVEL
*toplevel
, int x
, int y
, OBJECT
*object
);
198 void o_path_rotate_world(TOPLEVEL
*toplevel
, int world_centerx
, int world_centery
, int angle
, OBJECT
*object
);
199 void o_path_mirror_world(TOPLEVEL
*toplevel
, int world_centerx
, int world_centery
, OBJECT
*object
);
202 OBJECT
*o_picture_new(TOPLEVEL
*toplevel
,
203 const gchar
*file_content
, gsize file_length
,
204 const gchar
*filename
, char type
,
205 int x1
, int y1
, int x2
, int y2
, int angle
, int mirrored
,
206 int embedded
) G_GNUC_WARN_UNUSED_RESULT
;
207 double o_picture_get_ratio (TOPLEVEL
*toplevel
, OBJECT
*object
);
208 void o_picture_modify(TOPLEVEL
*toplevel
, OBJECT
*object
, int x
, int y
, int whichone
);
209 void o_picture_modify_all (TOPLEVEL
*toplevel
, OBJECT
*object
, int x1
, int y1
, int x2
, int y2
);
210 void o_picture_rotate_world(TOPLEVEL
*toplevel
, int world_centerx
, int world_centery
, int angle
,OBJECT
*object
);
211 void o_picture_mirror_world(TOPLEVEL
*toplevel
, int world_centerx
, int world_centery
, OBJECT
*object
);
212 void o_picture_translate_world(TOPLEVEL
*toplevel
, int dx
, int dy
, OBJECT
*object
);
213 OBJECT
*o_picture_copy(TOPLEVEL
*toplevel
, OBJECT
*o_current
) G_GNUC_WARN_UNUSED_RESULT
;
214 gboolean
o_picture_is_embedded (TOPLEVEL
*toplevel
, OBJECT
*object
);
215 GdkPixbuf
*o_picture_get_pixbuf (TOPLEVEL
*toplevel
, OBJECT
*object
) G_GNUC_WARN_UNUSED_RESULT
;
216 const char *o_picture_get_data (TOPLEVEL
*toplevel
, OBJECT
*object
,
218 gboolean
o_picture_set_from_buffer (TOPLEVEL
*toplevel
, OBJECT
*object
,
219 const gchar
*filename
, const gchar
*data
,
220 size_t len
, GError
**error
);
221 gboolean
o_picture_set_from_file (TOPLEVEL
*toplevel
, OBJECT
*object
,
222 const gchar
*filename
, GError
**error
);
223 const gchar
*o_picture_get_filename (TOPLEVEL
*toplevel
, OBJECT
*object
);
224 GdkPixbuf
*o_picture_get_fallback_pixbuf (TOPLEVEL
*toplevel
) G_GNUC_WARN_UNUSED_RESULT
;
227 OBJECT
*o_pin_new(TOPLEVEL
*toplevel
, char type
, int color
, int x1
, int y1
, int x2
, int y2
, int pin_type
, int whichend
);
228 void o_pin_translate_world(TOPLEVEL
*toplevel
, int dx
, int dy
, OBJECT
*object
);
229 OBJECT
*o_pin_copy(TOPLEVEL
*toplevel
, OBJECT
*o_current
);
230 void o_pin_rotate_world(TOPLEVEL
*toplevel
, int world_centerx
, int world_centery
, int angle
, OBJECT
*object
);
231 void o_pin_mirror_world(TOPLEVEL
*toplevel
, int world_centerx
, int world_centery
, OBJECT
*object
);
232 void o_pin_modify(TOPLEVEL
*toplevel
, OBJECT
*object
, int x
, int y
, int whichone
);
233 void o_pin_update_whichend(TOPLEVEL
*toplevel
, GList
*object_list
, int num_pins
);
234 void o_pin_set_type(TOPLEVEL
*toplevel
, OBJECT
*o_current
, int pin_type
);
236 SELECTION
*o_selection_new( void );
237 void o_selection_add(TOPLEVEL
*toplevel
, SELECTION
*selection
, OBJECT
*o_selected
);
238 void o_selection_print_all(const SELECTION
*selection
);
239 void o_selection_remove(TOPLEVEL
*toplevel
, SELECTION
*selection
, OBJECT
*o_selected
);
240 void o_selection_select(TOPLEVEL
*toplevel
, OBJECT
*object
) G_GNUC_DEPRECATED
;
241 void o_selection_unselect(TOPLEVEL
*toplevel
, OBJECT
*object
) G_GNUC_DEPRECATED
;
244 int o_text_num_lines(const char *string
);
245 OBJECT
*o_text_new(TOPLEVEL
*toplevel
, char type
, int color
, int x
, int y
, int alignment
, int angle
, const char *string
, int size
, int visibility
, int show_name_value
);
246 void o_text_recreate(TOPLEVEL
*toplevel
, OBJECT
*o_current
);
247 void o_text_translate_world(TOPLEVEL
*toplevel
, int dx
, int dy
, OBJECT
*o_current
);
248 OBJECT
*o_text_copy(TOPLEVEL
*toplevel
, OBJECT
*o_current
);
249 void o_text_rotate_world(TOPLEVEL
*toplevel
, int world_centerx
, int world_centery
, int angle
, OBJECT
*object
);
250 void o_text_mirror_world(TOPLEVEL
*toplevel
, int world_centerx
, int world_centery
, OBJECT
*object
);
251 void o_text_set_string(TOPLEVEL
*toplevel
, OBJECT
*obj
, const gchar
*new_string
);
252 const gchar
*o_text_get_string(TOPLEVEL
*toplevel
, OBJECT
*obj
);
253 void o_text_set_rendered_bounds_func (TOPLEVEL
*toplevel
, RenderedBoundsFunc func
, void *user_data
);
254 double o_text_get_font_size_in_points(TOPLEVEL
*toplevel
, OBJECT
*object
);
257 int s_attrib_add_entry(char *new_attrib
);
258 void s_attrib_print(void);
259 int s_attrib_uniq(char *name
);
260 void s_attrib_free(void);
261 void s_attrib_init(void);
262 char *s_attrib_get(int counter
);
265 OBJECT
*s_basic_init_object(OBJECT
*new_node
, int type
, char const *name
);
266 OBJECT
*s_basic_new_object(int type
, char const *prefix
);
267 void print_struct_forw(GList
*list
);
268 void print_struct(OBJECT
*ptr
);
269 void s_delete_object(TOPLEVEL
*toplevel
, OBJECT
*o_current
);
270 void s_delete_object_glist(TOPLEVEL
*toplevel
, GList
*list
);
271 void s_object_weak_ref (OBJECT
*object
, void (*notify_func
)(void *, void *), void *user_data
);
272 void s_object_weak_unref (OBJECT
*object
, void (*notify_func
)(void *, void *), void *user_data
);
273 void s_object_add_weak_ptr (OBJECT
*object
, void *weak_pointer_loc
);
274 void s_object_remove_weak_ptr (OBJECT
*object
, void *weak_pointer_loc
);
275 char *remove_nl(char *string
);
276 char *remove_last_nl(char *string
);
277 gchar
*s_expand_env_variables (const gchar
*string
);
278 const char *s_path_sys_data ();
279 const char *s_path_sys_config ();
280 const char *s_path_user_config ();
283 void s_clib_free (void);
284 GList
*s_clib_get_sources (const gboolean sorted
);
285 const CLibSource
*s_clib_get_source_by_name (const gchar
*name
);
286 void s_clib_refresh ();
287 const CLibSource
*s_clib_add_directory (const gchar
*directory
,
289 const CLibSource
*s_clib_add_command (const gchar
*list_cmd
,
290 const gchar
*get_cmd
,
292 const CLibSource
*s_clib_add_scm (SCM listfunc
, SCM getfunc
,
294 const gchar
*s_clib_source_get_name (const CLibSource
*source
);
295 GList
*s_clib_source_get_symbols (const CLibSource
*source
);
296 const gchar
*s_clib_symbol_get_name (const CLibSymbol
*symbol
);
297 gchar
*s_clib_symbol_get_filename (const CLibSymbol
*symbol
);
298 const CLibSource
*s_clib_symbol_get_source (const CLibSymbol
*symbol
);
299 gchar
*s_clib_symbol_get_data (const CLibSymbol
*symbol
);
300 GList
*s_clib_search (const gchar
*pattern
, const CLibSearchMode mode
);
301 void s_clib_flush_search_cache ();
302 void s_clib_flush_symbol_cache ();
303 void s_clib_symbol_invalidate_data (const CLibSymbol
*symbol
);
304 const CLibSymbol
*s_clib_get_symbol_by_name (const gchar
*name
);
305 gchar
*s_clib_symbol_get_data_by_name (const gchar
*name
);
306 GList
*s_toplevel_get_symbols (const TOPLEVEL
*toplevel
);
309 void s_color_map_defaults (COLOR
*map
);
310 gboolean
s_color_rgba_decode (const gchar
*rgba
,
311 guchar
*r
, guchar
*g
, guchar
*b
, guchar
*a
);
312 gchar
*s_color_rgba_encode (guint8 r
, guint8 g
, guint8 b
, guint8 a
);
313 SCM
s_color_map_to_scm (const COLOR
*map
);
314 void s_color_map_from_scm (COLOR
*map
, SCM lst
, const char *scheme_proc_name
);
317 void s_conn_remove_object(TOPLEVEL
*toplevel
, OBJECT
*to_remove
);
318 void s_conn_update_object(TOPLEVEL
*toplevel
, OBJECT
*object
);
319 int s_conn_net_search(OBJECT
* new_net
, int whichone
, GList
* conn_list
);
320 GList
*s_conn_return_others(GList
*input_list
, OBJECT
*object
);
323 void s_cue_postscript_fillbox(TOPLEVEL
*toplevel
, FILE *fp
, int x
, int y
);
324 void s_cue_postscript_junction (TOPLEVEL
*toplevel
, FILE *fp
, int x
, int y
, int bus_involved
);
325 void s_cue_output_all(TOPLEVEL
*toplevel
, const GList
*obj_list
, FILE *fp
, int type
);
326 void s_cue_output_lowlevel(TOPLEVEL
*toplevel
, OBJECT
*object
, int whichone
, FILE *fp
, int output_type
);
327 void s_cue_output_lowlevel_midpoints(TOPLEVEL
*toplevel
, OBJECT
*object
, FILE *fp
, int output_type
);
328 void s_cue_output_single(TOPLEVEL
*toplevel
, OBJECT
*object
, FILE *fp
, int type
);
331 PAGE
*s_hierarchy_down_schematic_single(TOPLEVEL
*toplevel
, const gchar
*filename
, PAGE
*parent
, int page_control
, int flag
);
332 void s_hierarchy_down_symbol (TOPLEVEL
*toplevel
, const CLibSymbol
*symbol
, PAGE
*parent
);
333 PAGE
*s_hierarchy_find_up_page(GedaPageList
*page_list
, PAGE
*current_page
);
334 GList
* s_hierarchy_traversepages(TOPLEVEL
*toplevel
, PAGE
*p_current
, gint flags
);
335 gint
s_hierarchy_print_page(PAGE
*p_current
, void * data
);
336 PAGE
*s_hierarchy_find_prev_page(GedaPageList
*page_list
, PAGE
*current_page
);
337 PAGE
*s_hierarchy_find_next_page(GedaPageList
*page_list
, PAGE
*current_page
);
340 void s_log_init (const gchar
*filename
);
341 void s_log_close (void);
342 gchar
*s_log_read (void);
345 int s_menu_return_num(void);
346 SCM
s_menu_return_entry(int index
, char **menu_name
);
347 int s_menu_add_entry(char *new_menu
, SCM menu_items
);
348 void s_menu_print(void);
349 void s_menu_free(void);
350 void s_menu_init(void);
353 PAGE
*s_page_new (TOPLEVEL
*toplevel
, const gchar
*filename
);
354 void s_page_delete (TOPLEVEL
*toplevel
, PAGE
*page
);
355 void s_page_delete_list(TOPLEVEL
*toplevel
);
356 void s_page_weak_ref (PAGE
*page
, void (*notify_func
)(void *, void *), void *user_data
);
357 void s_page_weak_unref (PAGE
*page
, void (*notify_func
)(void *, void *), void *user_data
);
358 void s_page_add_weak_ptr (PAGE
*page
, void *weak_pointer_loc
);
359 void s_page_remove_weak_ptr (PAGE
*page
, void *weak_pointer_loc
);
360 void s_page_goto (TOPLEVEL
*toplevel
, PAGE
*p_new
);
361 PAGE
*s_page_search (TOPLEVEL
*toplevel
, const gchar
*filename
);
362 PAGE
*s_page_search_by_page_id (GedaPageList
*list
, int pid
);
363 void s_page_print_all (TOPLEVEL
*toplevel
);
364 gint
s_page_save_all (TOPLEVEL
*toplevel
);
365 gboolean
s_page_check_changed (GedaPageList
*list
);
366 void s_page_clear_changed (GedaPageList
*list
);
367 void s_page_autosave_init(TOPLEVEL
*toplevel
);
368 gint
s_page_autosave (TOPLEVEL
*toplevel
);
369 void s_page_append (TOPLEVEL
*toplevel
, PAGE
*page
, OBJECT
*object
);
370 void s_page_append_list (TOPLEVEL
*toplevel
, PAGE
*page
, GList
*obj_list
);
371 void s_page_remove (TOPLEVEL
*toplevel
, PAGE
*page
, OBJECT
*object
);
372 void s_page_replace (TOPLEVEL
*toplevel
, PAGE
*page
, OBJECT
*object1
, OBJECT
*object2
);
373 void s_page_delete_objects (TOPLEVEL
*toplevel
, PAGE
*page
);
374 const GList
*s_page_objects (PAGE
*page
);
375 GList
*s_page_objects_in_region (TOPLEVEL
*toplevel
, PAGE
*page
, int min_x
, int min_y
, int max_x
, int max_y
);
376 GList
*s_page_objects_in_regions (TOPLEVEL
*toplevel
, PAGE
*page
, BOX
*rects
, int n_rects
);
379 int s_papersizes_add_entry(char *new_papersize
, int width
, int height
);
380 void s_papersizes_print(void);
381 int s_papersizes_uniq(char *name
);
382 void s_papersizes_free(void);
383 void s_papersizes_init(void);
384 char *s_papersizes_get(int counter
);
385 void s_papersizes_get_size(char *string
, int *width
, int *height
);
388 PATH
*s_path_parse (const char *path_str
);
389 char *s_path_string_from_path (const PATH
*path
);
392 TOPLEVEL
*s_toplevel_new (void);
393 void s_toplevel_delete (TOPLEVEL
*toplevel
);
394 void s_toplevel_weak_ref (TOPLEVEL
*toplevel
, void (*notify_func
)(void *, void *), void *user_data
);
395 void s_toplevel_weak_unref (TOPLEVEL
*toplevel
, void (*notify_func
)(void *, void *), void *user_data
);
396 void s_toplevel_add_weak_ptr (TOPLEVEL
*toplevel
, void *weak_pointer_loc
);
397 void s_toplevel_remove_weak_ptr (TOPLEVEL
*toplevel
, void *weak_pointer_loc
);
400 int s_slib_add_entry(char *new_path
);
401 int s_slib_search_for_dirname(char *dir_name
);
402 char *s_slib_search_dirs(const char *basename
);
403 char *s_slib_search_lowlevel(const char *basename
);
404 char *s_slib_getbasename(const char *rawname
);
405 char *s_slib_search(const char *filename
, int flag
);
406 char *s_slib_search_single(const char *filename
);
407 void s_slib_free(void);
408 void s_slib_init(void);
409 char *s_slib_getdir(int index
);
410 char *s_slib_getfiles(char *directory
, int flag
);
411 void s_slib_print(void);
412 int s_slib_uniq(char *path
);
413 void s_slib_print_dirs(void);
416 char *s_slot_search_slot(OBJECT
*object
, OBJECT
**return_found
);
417 void s_slot_update_object(TOPLEVEL
*toplevel
, OBJECT
*object
);
420 void s_tile_update_object(TOPLEVEL
*toplevel
, OBJECT
*object
);
421 GList
*s_tile_get_objectlists(TOPLEVEL
*toplevel
, PAGE
*p_current
, int world_x1
, int world_y1
, int world_x2
, int world_y2
);
424 UNDO
*s_undo_return_tail(UNDO
*head
);
425 UNDO
*s_undo_return_head(UNDO
*tail
);
426 UNDO
*s_undo_new_head(void);
427 void s_undo_destroy_head(UNDO
*u_head
);
428 UNDO
*s_undo_add(UNDO
*head
, int type
, char *filename
, GList
*object_list
, int left
, int top
, int right
, int bottom
, int page_control
, int up
);
429 void s_undo_print_all(UNDO
*head
);
430 void s_undo_destroy_all(TOPLEVEL
*toplevel
, UNDO
*head
);
431 void s_undo_remove(TOPLEVEL
*toplevel
, UNDO
*head
, UNDO
*u_tos
);
432 void s_undo_remove_rest(TOPLEVEL
*toplevel
, UNDO
*head
);
433 int s_undo_levels(UNDO
*head
);
434 void s_undo_init(PAGE
*p_current
);
435 void s_undo_free_all(TOPLEVEL
*toplevel
, PAGE
*p_current
);
438 char *u_basic_breakup_string(char *string
, char delimiter
, int count
);