libgeda
|
00001 G_BEGIN_DECLS 00002 00003 /* a_basic.c */ 00004 const gchar *o_file_format_header(); 00005 gchar *o_save_buffer (TOPLEVEL *toplevel, const GList *object_list); 00006 int o_save (TOPLEVEL *toplevel, const GList *object_list, const char *filename, GError **err); 00007 GList *o_read_buffer(TOPLEVEL *toplevel, GList *object_list, char *buffer, const int size, const char *name, GError **err); 00008 GList *o_read(TOPLEVEL *toplevel, GList *object_list, char *filename, GError **err); 00009 void o_scale(TOPLEVEL *toplevel, GList *list, int x_scale, int y_scale); 00010 00011 /* f_basic.c */ 00012 gchar *f_get_autosave_filename (const gchar *filename); 00013 gboolean f_has_active_autosave (const gchar *filename, GError **err); 00014 int f_open(TOPLEVEL *toplevel, PAGE *page, const gchar *filename, GError **err); 00015 int f_open_flags(TOPLEVEL *toplevel, PAGE *page, const gchar *filename, 00016 const gint flags, GError **err); 00017 void f_close(TOPLEVEL *toplevel); 00018 int f_save(TOPLEVEL *toplevel, PAGE *page, const char *filename, GError **error); 00019 gchar *f_normalize_filename (const gchar *filename, GError **error); 00020 char *follow_symlinks (const gchar *filename, GError **error); 00021 00022 /* f_print.c */ 00023 int f_print_file (TOPLEVEL *toplevel, PAGE *page, const char *filename); 00024 int f_print_command (TOPLEVEL *toplevel, PAGE *page, const char *command); 00025 int f_print_stream(TOPLEVEL *toplevel, PAGE *page, FILE *fp); 00026 void f_print_set_type(TOPLEVEL *toplevel, int type); 00027 00028 /* g_basic.c */ 00029 SCM g_scm_eval_protected (SCM exp, SCM module_or_state); 00030 SCM g_scm_eval_string_protected (SCM str); 00031 SCM g_scm_c_eval_string_protected (const gchar *str); 00032 gboolean g_read_file(TOPLEVEL *toplevel, const gchar *filename, GError **err); 00033 00034 /* g_rc.c */ 00035 SCM g_rc_mode_general(SCM scmmode, const char *rc_name, int *mode_var, 00036 const vstbl_entry *table, int table_size); 00037 gboolean g_rc_parse_system (TOPLEVEL *toplevel, const gchar *rcname, GError **err); 00038 gboolean g_rc_parse_user (TOPLEVEL *toplevel, const gchar *rcname, GError **err); 00039 gboolean g_rc_parse_local (TOPLEVEL *toplevel, const gchar *rcname, const gchar *path, GError **err); 00040 gboolean g_rc_parse_file (TOPLEVEL *toplevel, const gchar *rcfile, GError **err); 00041 void g_rc_parse(TOPLEVEL *toplevel, const gchar* pname, const gchar* rcname, const gchar* rcfile); 00042 void g_rc_parse_handler (TOPLEVEL *toplevel, const gchar *rcname, const gchar *rcfile, ConfigParseErrorFunc handler, void *user_data); 00043 SCM g_rc_rc_filename(); 00044 00045 /* i_vars.c */ 00046 void i_vars_libgeda_set(TOPLEVEL *toplevel); 00047 void i_vars_libgeda_freenames(); 00048 00049 /* libgeda.c */ 00050 void libgeda_init(void); 00051 00052 /* m_basic.c */ 00053 void set_window(TOPLEVEL *toplevel, PAGE *page, int xmin, int xmax, int ymin, int ymax); 00054 void rotate_point(int x, int y, int angle, int *newx, int *newy); 00055 void rotate_point_90(int x, int y, int angle, int *newx, int *newy); 00056 void PAPERSIZEtoWORLD(int width, int height, int border, int *right, int *bottom); 00057 00058 /* m_hatch.c */ 00059 void m_hatch_box(BOX *box, gint angle, gint pitch, GArray *lines); 00060 void m_hatch_circle(CIRCLE *circle, gint angle, gint pitch, GArray *lines); 00061 void m_hatch_path(PATH *path, gint angle, gint pitch, GArray *lines); 00062 00063 /* m_polygon.c */ 00064 void m_polygon_append_bezier(GArray *points, BEZIER *bezier, int segments); 00065 void m_polygon_append_point(GArray *points, int x, int y); 00066 00067 00068 /* o_arc_basic.c */ 00069 OBJECT *o_arc_new(TOPLEVEL *toplevel, char type, int color, int x, int y, int radius, int start_angle, int end_angle); 00070 OBJECT *o_arc_copy(TOPLEVEL *toplevel, OBJECT *o_current); 00071 void o_arc_modify(TOPLEVEL *toplevel, OBJECT *object, int x, int y, int whichone); 00072 void o_arc_translate_world(TOPLEVEL *toplevel, int dx, int dy, OBJECT *object); 00073 void o_arc_rotate_world(TOPLEVEL *toplevel, int world_centerx, int world_centery, int angle, OBJECT *object); 00074 void o_arc_mirror_world(TOPLEVEL *toplevel, int world_centerx, int world_centery, OBJECT *object); 00075 00076 /* o_attrib.c */ 00077 void o_attrib_add(TOPLEVEL *toplevel, OBJECT *object, OBJECT *item); 00078 gboolean o_attrib_is_attached (TOPLEVEL *toplevel, OBJECT *attrib, OBJECT *object); 00079 void o_attrib_attach(TOPLEVEL *toplevel, OBJECT *attrib, OBJECT *object, int set_color); 00080 void o_attrib_attach_list(TOPLEVEL *toplevel, GList *attr_list, OBJECT *object, int set_color); 00081 void o_attrib_detach_all(TOPLEVEL *toplevel, OBJECT *object); 00082 void o_attrib_print(GList *attributes); 00083 void o_attrib_remove(TOPLEVEL *toplevel, GList **list, OBJECT *remove); 00084 gboolean o_attrib_string_get_name_value (const gchar *string, gchar **name_ptr, gchar **value_ptr); 00085 gboolean o_attrib_get_name_value (OBJECT *attrib, gchar **name_ptr, gchar **value_ptr); 00086 GList *o_attrib_find_floating_attribs (const GList *list); 00087 char *o_attrib_search_floating_attribs_by_name (const GList *list, char *name, int counter); 00088 char *o_attrib_search_attached_attribs_by_name (OBJECT *object, char *name, int counter); 00089 char *o_attrib_search_inherited_attribs_by_name (OBJECT *object, char *name, int counter); 00090 char *o_attrib_search_object_attribs_by_name (OBJECT *object, char *name, int counter); 00091 GList *o_attrib_return_attribs(OBJECT *object); 00092 int o_attrib_is_inherited(OBJECT *attrib); 00093 void o_attrib_append_attribs_changed_hook(TOPLEVEL *toplevel, AttribsChangedFunc func, void *data); 00094 void o_attrib_emit_attribs_changed(TOPLEVEL *toplevel, OBJECT *object); 00095 void o_attrib_freeze_hooks(TOPLEVEL *toplevel, OBJECT *object); 00096 void o_attrib_thaw_hooks(TOPLEVEL *toplevel, OBJECT *object); 00097 00098 /* o_basic.c */ 00099 int inside_region(int xmin, int ymin, int xmax, int ymax, int x, int y); 00100 void o_recalc_single_object(TOPLEVEL *toplevel, OBJECT *o_current); 00101 void o_recalc_object_glist(TOPLEVEL *toplevel, GList *object_glist); 00102 void o_set_line_options(TOPLEVEL *toplevel, OBJECT *o_current, OBJECT_END end, OBJECT_TYPE type, int width, int length, int space); 00103 gboolean o_get_line_options(OBJECT *object, OBJECT_END *end, OBJECT_TYPE *type, int *width, int *length, int *space); 00104 void o_set_fill_options(TOPLEVEL *toplevel, OBJECT *o_current, OBJECT_FILLING type, int width, int pitch1, int angle1, int pitch2, int angle2); 00105 gboolean o_get_fill_options(OBJECT *object, OBJECT_FILLING *type, int *width, int *pitch1, int *angle1, int *pitch2, int *angle2); 00106 gboolean o_get_position(TOPLEVEL *toplevel, gint *x, gint *y, OBJECT *object); 00107 void o_translate_world (TOPLEVEL *toplevel, gint dx, gint dy, OBJECT *object); 00108 void o_rotate_world(TOPLEVEL *toplevel, int world_centerx, int world_centery, int angle, OBJECT *object); 00109 void o_mirror_world(TOPLEVEL *toplevel, int world_centerx, int world_centery, OBJECT *object); 00110 double o_shortest_distance(OBJECT *object, int x, int y); 00111 void o_set_color(TOPLEVEL *toplevel, OBJECT *object, int color); 00112 PAGE *o_get_page (TOPLEVEL *toplevel, OBJECT *object); 00113 OBJECT *o_get_parent (TOPLEVEL *toplevel, OBJECT *object); 00114 void o_add_change_notify(TOPLEVEL *toplevel, ChangeNotifyFunc pre_change_func, ChangeNotifyFunc change_func, void *user_data); 00115 void o_remove_change_notify(TOPLEVEL *toplevel, ChangeNotifyFunc pre_change_func, ChangeNotifyFunc change_func, void *user_data); 00116 gboolean o_is_visible (TOPLEVEL *toplevel, OBJECT *object); 00117 void o_set_visibility (TOPLEVEL *toplevel, OBJECT *object, int visibility); 00118 00119 /* o_box_basic.c */ 00120 OBJECT *o_box_new(TOPLEVEL *toplevel, char type, int color, int x1, int y1, int x2, int y2); 00121 OBJECT *o_box_copy(TOPLEVEL *toplevel, OBJECT *o_current); 00122 void o_box_modify_all (TOPLEVEL *toplevel, OBJECT *object, int x1, int y1, int x2, int y2); 00123 void o_box_modify(TOPLEVEL *toplevel, OBJECT *object, int x, int y, int whichone); 00124 void o_box_translate_world(TOPLEVEL *toplevel, int dx, int dy, OBJECT *object); 00125 void o_box_rotate_world(TOPLEVEL *toplevel, int world_centerx, int world_centery, int angle, OBJECT *object); 00126 void o_box_mirror_world(TOPLEVEL *toplevel, int world_centerx, int world_centery, OBJECT *object); 00127 00128 /* o_bus_basic.c */ 00129 OBJECT *o_bus_new(TOPLEVEL *toplevel, char type, int color, int x1, int y1, int x2, int y2, int bus_ripper_direction); 00130 void o_bus_translate_world(TOPLEVEL *toplevel, int dx, int dy, OBJECT *object); 00131 OBJECT *o_bus_copy(TOPLEVEL *toplevel, OBJECT *o_current); 00132 void o_bus_rotate_world(TOPLEVEL *toplevel, int world_centerx, int world_centery, int angle, OBJECT *object); 00133 void o_bus_mirror_world(TOPLEVEL *toplevel, int world_centerx, int world_centery, OBJECT *object); 00134 int o_bus_orientation(OBJECT *object); 00135 void o_bus_consolidate(TOPLEVEL *toplevel); 00136 void o_bus_modify(TOPLEVEL *toplevel, OBJECT *object, int x, int y, int whichone); 00137 00138 /* o_circle_basic.c */ 00139 int dist(int x1, int y1, int x2, int y2); 00140 OBJECT *o_circle_new(TOPLEVEL *toplevel, char type, int color, int x, int y, int radius); 00141 OBJECT *o_circle_copy(TOPLEVEL *toplevel, OBJECT *o_current); 00142 void o_circle_modify(TOPLEVEL *toplevel, OBJECT *object, int x, int y, int whichone); 00143 void o_circle_translate_world(TOPLEVEL *toplevel, int dx, int dy, OBJECT *object); 00144 void o_circle_rotate_world(TOPLEVEL *toplevel, int world_centerx, int world_centery, int angle, OBJECT *object); 00145 void o_circle_mirror_world(TOPLEVEL *toplevel, int world_centerx, int world_centery, OBJECT *object); 00146 00147 /* o_complex_basic.c */ 00148 int world_get_single_object_bounds(TOPLEVEL *toplevel, OBJECT *o_current, 00149 int *rleft, int *rtop, 00150 int *rright, int *rbottom); 00151 int world_get_object_glist_bounds(TOPLEVEL *toplevel, const GList *o_list, 00152 int *left, int *top, 00153 int *right, int *bottom); 00154 int o_complex_is_embedded(OBJECT *o_current); 00155 GList *o_complex_promote_attribs (TOPLEVEL *toplevel, OBJECT *object); 00156 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); 00157 OBJECT *o_complex_new_embedded(TOPLEVEL *toplevel, char type, int color, int x, int y, int angle, int mirror, const gchar *basename, int selectable); 00158 void o_complex_set_filename(TOPLEVEL *toplevel, const char *basename); 00159 void o_complex_translate_world(TOPLEVEL *toplevel, int dx, int dy, OBJECT *object); 00160 OBJECT *o_complex_copy(TOPLEVEL *toplevel, OBJECT *o_current); 00161 void o_complex_rotate_world(TOPLEVEL *toplevel, int world_centerx, int world_centery, int angle, OBJECT *object); 00162 void o_complex_mirror_world(TOPLEVEL *toplevel, int world_centerx, int world_centery, OBJECT *object); 00163 OBJECT *o_complex_find_pin_by_attribute(OBJECT *object, char *name, char *wanted_value); 00164 void o_complex_check_symversion(TOPLEVEL* toplevel, OBJECT* object); 00165 00166 /* o_embed.c */ 00167 void o_embed(TOPLEVEL *toplevel, OBJECT *o_current); 00168 void o_unembed(TOPLEVEL *toplevel, OBJECT *o_current); 00169 00170 /* o_line_basic.c */ 00171 OBJECT *o_line_new(TOPLEVEL *toplevel, char type, int color, int x1, int y1, int x2, int y2); 00172 OBJECT *o_line_copy(TOPLEVEL *toplevel, OBJECT *o_current); 00173 void o_line_modify(TOPLEVEL *toplevel, OBJECT *object, int x, int y, int whichone); 00174 void o_line_translate_world(TOPLEVEL *toplevel, int dx, int dy, OBJECT *object); 00175 void o_line_rotate_world(TOPLEVEL *toplevel, int world_centerx, int world_centery, int angle, OBJECT *object); 00176 void o_line_mirror_world(TOPLEVEL *toplevel, int world_centerx, int world_centery, OBJECT *object); 00177 void o_line_scale_world(TOPLEVEL *toplevel, int x_scale, int y_scale, OBJECT *object); 00178 double o_line_length(OBJECT *object); 00179 00180 /* o_list.c */ 00181 OBJECT *o_object_copy(TOPLEVEL *toplevel, OBJECT *selected); 00182 GList *o_glist_copy_all(TOPLEVEL *toplevel, const GList *src_list, GList *dest_list); 00183 void o_glist_translate_world(TOPLEVEL *toplevel, int dx, int dy, const GList *list); 00184 void o_glist_rotate_world(TOPLEVEL *toplevel, int x, int y, int angle, const GList *list); 00185 void o_glist_mirror_world(TOPLEVEL *toplevel, int x, int y, const GList *list); 00186 void o_glist_set_color(TOPLEVEL *toplevel, const GList *list, int color); 00187 00188 /* o_net_basic.c */ 00189 OBJECT *o_net_new(TOPLEVEL *toplevel, char type, int color, int x1, int y1, int x2, int y2); 00190 void o_net_translate_world(TOPLEVEL *toplevel, int dx, int dy, OBJECT *object); 00191 OBJECT *o_net_copy(TOPLEVEL *toplevel, OBJECT *o_current); 00192 void o_net_rotate_world(TOPLEVEL *toplevel, int world_centerx, int world_centery, int angle, OBJECT *object); 00193 void o_net_mirror_world(TOPLEVEL *toplevel, int world_centerx, int world_centery, OBJECT *object); 00194 int o_net_orientation(OBJECT *object); 00195 void o_net_consolidate(TOPLEVEL *toplevel, PAGE *page); 00196 void o_net_modify(TOPLEVEL *toplevel, OBJECT *object, int x, int y, int whichone); 00197 void o_net_refresh_conn_cache(TOPLEVEL *toplevel, OBJECT *object); 00198 gboolean o_net_is_fully_connected(TOPLEVEL *toplevel, OBJECT *object); 00199 00200 /* o_path_basic.c */ 00201 OBJECT *o_path_new(TOPLEVEL *toplevel, char type, int color, const char *path_string); 00202 OBJECT *o_path_copy(TOPLEVEL *toplevel, OBJECT *o_current); 00203 void o_path_modify(TOPLEVEL *toplevel, OBJECT *object, int x, int y, int whichone); 00204 void o_path_translate_world(TOPLEVEL *toplevel, int x, int y, OBJECT *object); 00205 void o_path_rotate_world(TOPLEVEL *toplevel, int world_centerx, int world_centery, int angle, OBJECT *object); 00206 void o_path_mirror_world(TOPLEVEL *toplevel, int world_centerx, int world_centery, OBJECT *object); 00207 00208 /* o_picture.c */ 00209 OBJECT *o_picture_new(TOPLEVEL *toplevel, 00210 const gchar *file_content, gsize file_length, 00211 const gchar *filename, char type, 00212 int x1, int y1, int x2, int y2, int angle, int mirrored, 00213 int embedded) G_GNUC_WARN_UNUSED_RESULT; 00214 double o_picture_get_ratio (TOPLEVEL *toplevel, OBJECT *object); 00215 void o_picture_modify(TOPLEVEL *toplevel, OBJECT *object, int x, int y, int whichone); 00216 void o_picture_modify_all (TOPLEVEL *toplevel, OBJECT *object, int x1, int y1, int x2, int y2); 00217 void o_picture_rotate_world(TOPLEVEL *toplevel, int world_centerx, int world_centery, int angle,OBJECT *object); 00218 void o_picture_mirror_world(TOPLEVEL *toplevel, int world_centerx, int world_centery, OBJECT *object); 00219 void o_picture_translate_world(TOPLEVEL *toplevel, int dx, int dy, OBJECT *object); 00220 OBJECT *o_picture_copy(TOPLEVEL *toplevel, OBJECT *o_current) G_GNUC_WARN_UNUSED_RESULT; 00221 gboolean o_picture_is_embedded (TOPLEVEL *toplevel, OBJECT *object); 00222 GdkPixbuf *o_picture_get_pixbuf (TOPLEVEL *toplevel, OBJECT *object) G_GNUC_WARN_UNUSED_RESULT; 00223 const char *o_picture_get_data (TOPLEVEL *toplevel, OBJECT *object, 00224 size_t *len); 00225 gboolean o_picture_set_from_buffer (TOPLEVEL *toplevel, OBJECT *object, 00226 const gchar *filename, const gchar *data, 00227 size_t len, GError **error); 00228 gboolean o_picture_set_from_file (TOPLEVEL *toplevel, OBJECT *object, 00229 const gchar *filename, GError **error); 00230 const gchar *o_picture_get_filename (TOPLEVEL *toplevel, OBJECT *object); 00231 GdkPixbuf *o_picture_get_fallback_pixbuf (TOPLEVEL *toplevel) G_GNUC_WARN_UNUSED_RESULT; 00232 00233 /* o_pin_basic.c */ 00234 OBJECT *o_pin_new(TOPLEVEL *toplevel, char type, int color, int x1, int y1, int x2, int y2, int pin_type, int whichend); 00235 void o_pin_translate_world(TOPLEVEL *toplevel, int dx, int dy, OBJECT *object); 00236 OBJECT *o_pin_copy(TOPLEVEL *toplevel, OBJECT *o_current); 00237 void o_pin_rotate_world(TOPLEVEL *toplevel, int world_centerx, int world_centery, int angle, OBJECT *object); 00238 void o_pin_mirror_world(TOPLEVEL *toplevel, int world_centerx, int world_centery, OBJECT *object); 00239 void o_pin_modify(TOPLEVEL *toplevel, OBJECT *object, int x, int y, int whichone); 00240 void o_pin_update_whichend(TOPLEVEL *toplevel, GList *object_list, int num_pins); 00241 void o_pin_set_type(TOPLEVEL *toplevel, OBJECT *o_current, int pin_type); 00242 /* o_selection.c */ 00243 SELECTION *o_selection_new( void ); 00244 void o_selection_add(TOPLEVEL *toplevel, SELECTION *selection, OBJECT *o_selected); 00245 void o_selection_print_all(const SELECTION *selection); 00246 void o_selection_remove(TOPLEVEL *toplevel, SELECTION *selection, OBJECT *o_selected); 00247 void o_selection_select(TOPLEVEL *toplevel, OBJECT *object) G_GNUC_DEPRECATED; 00248 void o_selection_unselect(TOPLEVEL *toplevel, OBJECT *object) G_GNUC_DEPRECATED; 00249 00250 /* o_text_basic.c */ 00251 int o_text_num_lines(const char *string); 00252 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); 00253 void o_text_recreate(TOPLEVEL *toplevel, OBJECT *o_current); 00254 void o_text_translate_world(TOPLEVEL *toplevel, int dx, int dy, OBJECT *o_current); 00255 OBJECT *o_text_copy(TOPLEVEL *toplevel, OBJECT *o_current); 00256 void o_text_rotate_world(TOPLEVEL *toplevel, int world_centerx, int world_centery, int angle, OBJECT *object); 00257 void o_text_mirror_world(TOPLEVEL *toplevel, int world_centerx, int world_centery, OBJECT *object); 00258 void o_text_set_string(TOPLEVEL *toplevel, OBJECT *obj, const gchar *new_string); 00259 const gchar *o_text_get_string(TOPLEVEL *toplevel, OBJECT *obj); 00260 void o_text_set_rendered_bounds_func (TOPLEVEL *toplevel, RenderedBoundsFunc func, void *user_data); 00261 double o_text_get_font_size_in_points(TOPLEVEL *toplevel, OBJECT *object); 00262 00263 /* s_attrib.c */ 00264 int s_attrib_add_entry(char *new_attrib); 00265 void s_attrib_print(void); 00266 int s_attrib_uniq(char *name); 00267 void s_attrib_free(void); 00268 void s_attrib_init(void); 00269 char *s_attrib_get(int counter); 00270 00271 /* s_basic.c */ 00272 OBJECT *s_basic_init_object(OBJECT *new_node, int type, char const *name); 00273 OBJECT *s_basic_new_object(int type, char const *prefix); 00274 void print_struct_forw(GList *list); 00275 void print_struct(OBJECT *ptr); 00276 void s_delete_object(TOPLEVEL *toplevel, OBJECT *o_current); 00277 void s_delete_object_glist(TOPLEVEL *toplevel, GList *list); 00278 void s_object_weak_ref (OBJECT *object, void (*notify_func)(void *, void *), void *user_data); 00279 void s_object_weak_unref (OBJECT *object, void (*notify_func)(void *, void *), void *user_data); 00280 void s_object_add_weak_ptr (OBJECT *object, void *weak_pointer_loc); 00281 void s_object_remove_weak_ptr (OBJECT *object, void *weak_pointer_loc); 00282 char *remove_nl(char *string); 00283 char *remove_last_nl(char *string); 00284 gchar *s_expand_env_variables (const gchar *string); 00285 const char *s_path_sys_data (); 00286 const char *s_path_sys_config (); 00287 const char *s_path_user_config (); 00288 00289 /* s_clib.c */ 00290 void s_clib_free (void); 00291 GList *s_clib_get_sources (const gboolean sorted); 00292 const CLibSource *s_clib_get_source_by_name (const gchar *name); 00293 void s_clib_refresh (); 00294 const CLibSource *s_clib_add_directory (const gchar *directory, 00295 const gchar *name); 00296 const CLibSource *s_clib_add_command (const gchar *list_cmd, 00297 const gchar *get_cmd, 00298 const gchar *name); 00299 const CLibSource *s_clib_add_scm (SCM listfunc, SCM getfunc, 00300 const gchar *name); 00301 const gchar *s_clib_source_get_name (const CLibSource *source); 00302 GList *s_clib_source_get_symbols (const CLibSource *source); 00303 const gchar *s_clib_symbol_get_name (const CLibSymbol *symbol); 00304 gchar *s_clib_symbol_get_filename (const CLibSymbol *symbol); 00305 const CLibSource *s_clib_symbol_get_source (const CLibSymbol *symbol); 00306 gchar *s_clib_symbol_get_data (const CLibSymbol *symbol); 00307 GList *s_clib_search (const gchar *pattern, const CLibSearchMode mode); 00308 void s_clib_flush_search_cache (); 00309 void s_clib_flush_symbol_cache (); 00310 void s_clib_symbol_invalidate_data (const CLibSymbol *symbol); 00311 const CLibSymbol *s_clib_get_symbol_by_name (const gchar *name); 00312 gchar *s_clib_symbol_get_data_by_name (const gchar *name); 00313 GList *s_toplevel_get_symbols (const TOPLEVEL *toplevel); 00314 00315 /* s_color.c */ 00316 void s_color_map_defaults (COLOR *map); 00317 gboolean s_color_rgba_decode (const gchar *rgba, 00318 guchar *r, guchar *g, guchar *b, guchar *a); 00319 gchar *s_color_rgba_encode (guint8 r, guint8 g, guint8 b, guint8 a); 00320 SCM s_color_map_to_scm (const COLOR *map); 00321 void s_color_map_from_scm (COLOR *map, SCM lst, const char *scheme_proc_name); 00322 00323 /* s_conn.c */ 00324 void s_conn_remove_object(TOPLEVEL *toplevel, OBJECT *to_remove); 00325 void s_conn_update_object(TOPLEVEL *toplevel, OBJECT *object); 00326 int s_conn_net_search(OBJECT* new_net, int whichone, GList * conn_list); 00327 GList *s_conn_return_others(GList *input_list, OBJECT *object); 00328 void s_conn_append_conns_changed_hook(TOPLEVEL *toplevel, ConnsChangedFunc func, void *data); 00329 void s_conn_emit_conns_changed(TOPLEVEL *toplevel, OBJECT *object); 00330 void s_conn_freeze_hooks(TOPLEVEL *toplevel, OBJECT *object); 00331 void s_conn_thaw_hooks(TOPLEVEL *toplevel, OBJECT *object); 00332 00333 /* s_cue.c */ 00334 void s_cue_postscript_fillbox(TOPLEVEL *toplevel, FILE *fp, int x, int y); 00335 void s_cue_postscript_junction (TOPLEVEL *toplevel, FILE *fp, int x, int y, int bus_involved); 00336 void s_cue_output_all(TOPLEVEL *toplevel, const GList *obj_list, FILE *fp, int type); 00337 void s_cue_output_lowlevel(TOPLEVEL *toplevel, OBJECT *object, int whichone, FILE *fp, int output_type); 00338 void s_cue_output_lowlevel_midpoints(TOPLEVEL *toplevel, OBJECT *object, FILE *fp, int output_type); 00339 void s_cue_output_single(TOPLEVEL *toplevel, OBJECT *object, FILE *fp, int type); 00340 00341 /* s_hierarchy.c */ 00342 PAGE *s_hierarchy_down_schematic_single(TOPLEVEL *toplevel, const gchar *filename, PAGE *parent, int page_control, int flag); 00343 void s_hierarchy_down_symbol (TOPLEVEL *toplevel, const CLibSymbol *symbol, PAGE *parent); 00344 PAGE *s_hierarchy_find_up_page(GedaPageList *page_list, PAGE *current_page); 00345 GList* s_hierarchy_traversepages(TOPLEVEL *toplevel, PAGE *p_current, gint flags); 00346 gint s_hierarchy_print_page(PAGE *p_current, void * data); 00347 PAGE *s_hierarchy_find_prev_page(GedaPageList *page_list, PAGE *current_page); 00348 PAGE *s_hierarchy_find_next_page(GedaPageList *page_list, PAGE *current_page); 00349 00350 /* s_log.c */ 00351 void s_log_init (const gchar *filename); 00352 void s_log_close (void); 00353 gchar *s_log_read (void); 00354 00355 /* s_menu.c */ 00356 int s_menu_return_num(void); 00357 SCM s_menu_return_entry(int index, char **menu_name); 00358 int s_menu_add_entry(char *new_menu, SCM menu_items); 00359 void s_menu_print(void); 00360 void s_menu_free(void); 00361 void s_menu_init(void); 00362 00363 /* s_page.c */ 00364 PAGE *s_page_new (TOPLEVEL *toplevel, const gchar *filename); 00365 void s_page_delete (TOPLEVEL *toplevel, PAGE *page); 00366 void s_page_delete_list(TOPLEVEL *toplevel); 00367 void s_page_weak_ref (PAGE *page, void (*notify_func)(void *, void *), void *user_data); 00368 void s_page_weak_unref (PAGE *page, void (*notify_func)(void *, void *), void *user_data); 00369 void s_page_add_weak_ptr (PAGE *page, void *weak_pointer_loc); 00370 void s_page_remove_weak_ptr (PAGE *page, void *weak_pointer_loc); 00371 void s_page_goto (TOPLEVEL *toplevel, PAGE *p_new); 00372 PAGE *s_page_search (TOPLEVEL *toplevel, const gchar *filename); 00373 PAGE *s_page_search_by_page_id (GedaPageList *list, int pid); 00374 void s_page_print_all (TOPLEVEL *toplevel); 00375 gint s_page_save_all (TOPLEVEL *toplevel); 00376 gboolean s_page_check_changed (GedaPageList *list); 00377 void s_page_clear_changed (GedaPageList *list); 00378 void s_page_autosave_init(TOPLEVEL *toplevel); 00379 gint s_page_autosave (TOPLEVEL *toplevel); 00380 void s_page_append (TOPLEVEL *toplevel, PAGE *page, OBJECT *object); 00381 void s_page_append_list (TOPLEVEL *toplevel, PAGE *page, GList *obj_list); 00382 void s_page_remove (TOPLEVEL *toplevel, PAGE *page, OBJECT *object); 00383 void s_page_replace (TOPLEVEL *toplevel, PAGE *page, OBJECT *object1, OBJECT *object2); 00384 void s_page_delete_objects (TOPLEVEL *toplevel, PAGE *page); 00385 const GList *s_page_objects (PAGE *page); 00386 GList *s_page_objects_in_region (TOPLEVEL *toplevel, PAGE *page, int min_x, int min_y, int max_x, int max_y); 00387 GList *s_page_objects_in_regions (TOPLEVEL *toplevel, PAGE *page, BOX *rects, int n_rects); 00388 00389 /* s_papersizes.c */ 00390 int s_papersizes_add_entry(char *new_papersize, int width, int height); 00391 void s_papersizes_print(void); 00392 int s_papersizes_uniq(char *name); 00393 void s_papersizes_free(void); 00394 void s_papersizes_init(void); 00395 char *s_papersizes_get(int counter); 00396 void s_papersizes_get_size(char *string, int *width, int *height); 00397 00398 /* s_path.c */ 00399 PATH *s_path_parse (const char *path_str); 00400 char *s_path_string_from_path (const PATH *path); 00401 00402 /* s_toplevel.c */ 00403 void s_toplevel_append_new_hook (NewToplevelFunc func, void *user_data); 00404 TOPLEVEL *s_toplevel_new (void); 00405 void s_toplevel_delete (TOPLEVEL *toplevel); 00406 void s_toplevel_weak_ref (TOPLEVEL *toplevel, void (*notify_func)(void *, void *), void *user_data); 00407 void s_toplevel_weak_unref (TOPLEVEL *toplevel, void (*notify_func)(void *, void *), void *user_data); 00408 void s_toplevel_add_weak_ptr (TOPLEVEL *toplevel, void *weak_pointer_loc); 00409 void s_toplevel_remove_weak_ptr (TOPLEVEL *toplevel, void *weak_pointer_loc); 00410 00411 /* s_slib.c */ 00412 int s_slib_add_entry(char *new_path); 00413 int s_slib_search_for_dirname(char *dir_name); 00414 char *s_slib_search_dirs(const char *basename); 00415 char *s_slib_search_lowlevel(const char *basename); 00416 char *s_slib_getbasename(const char *rawname); 00417 char *s_slib_search(const char *filename, int flag); 00418 char *s_slib_search_single(const char *filename); 00419 void s_slib_free(void); 00420 void s_slib_init(void); 00421 char *s_slib_getdir(int index); 00422 char *s_slib_getfiles(char *directory, int flag); 00423 void s_slib_print(void); 00424 int s_slib_uniq(char *path); 00425 void s_slib_print_dirs(void); 00426 00427 /* s_slot.c */ 00428 char *s_slot_search_slot(OBJECT *object, OBJECT **return_found); 00429 void s_slot_update_object(TOPLEVEL *toplevel, OBJECT *object); 00430 00431 /* s_tile.c */ 00432 void s_tile_update_object(TOPLEVEL *toplevel, OBJECT *object); 00433 GList *s_tile_get_objectlists(TOPLEVEL *toplevel, PAGE *p_current, int world_x1, int world_y1, int world_x2, int world_y2); 00434 00435 /* s_undo.c */ 00436 UNDO *s_undo_return_tail(UNDO *head); 00437 UNDO *s_undo_return_head(UNDO *tail); 00438 UNDO *s_undo_new_head(void); 00439 void s_undo_destroy_head(UNDO *u_head); 00440 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); 00441 void s_undo_print_all(UNDO *head); 00442 void s_undo_destroy_all(TOPLEVEL *toplevel, UNDO *head); 00443 void s_undo_remove(TOPLEVEL *toplevel, UNDO *head, UNDO *u_tos); 00444 void s_undo_remove_rest(TOPLEVEL *toplevel, UNDO *head); 00445 int s_undo_levels(UNDO *head); 00446 void s_undo_init(PAGE *p_current); 00447 void s_undo_free_all(TOPLEVEL *toplevel, PAGE *p_current); 00448 00449 /* u_basic.c */ 00450 char *u_basic_breakup_string(char *string, char delimiter, int count); 00451 00452 G_END_DECLS