2 gchar
*o_save_objects(const GList
*object_list
, gboolean save_attribs
);
5 void f_print_set_line_width(FILE *fp
, int width
);
6 void f_print_set_color(TOPLEVEL
*toplevel
, FILE *fp
, int color
);
7 int f_print_header(TOPLEVEL
*toplevel
, FILE *fp
, int paper_size_x
, int paper_size_y
, int eps
);
8 void f_print_footer(FILE *fp
);
9 void f_print_objects(TOPLEVEL
*toplevel
, FILE *fp
, const GList
*obj_list
, int start_x
, int start_y
, float scale
, int unicode_count
, gunichar
*unicode_table
);
10 int f_print_initialize_glyph_table(void);
13 int vstbl_lookup_str(const vstbl_entry
*table
, int size
, const char *str
);
14 int vstbl_get_val(const vstbl_entry
*table
, int index
);
15 SCM
g_rc_component_library(SCM path
, SCM name
);
16 SCM
g_rc_component_library_command (SCM listcmd
, SCM getcmd
, SCM name
);
17 SCM
g_rc_component_library_funcs (SCM listfunc
, SCM getfunc
, SCM name
);
18 SCM
g_rc_component_library_search(SCM path
);
19 SCM
g_rc_source_library(SCM path
);
20 SCM
g_rc_source_library_search(SCM path
);
21 SCM
g_rc_world_size(SCM width
, SCM height
, SCM border
);
22 SCM
g_rc_reset_component_library(void);
23 SCM
g_rc_reset_source_library(void);
24 SCM
g_rc_untitled_name(SCM name
);
25 SCM
g_rc_font_directory(SCM path
);
26 SCM
g_rc_bitmap_directory(SCM path
);
27 SCM
g_rc_scheme_directory(SCM path
);
28 SCM
g_rc_bus_ripper_symname(SCM scmsymname
);
29 SCM
g_rc_postscript_prolog(SCM scmsymname
);
30 SCM
g_rc_map_font_character_to_file(SCM character_param
, SCM file_param
);
31 SCM
g_rc_attribute_promotion(SCM mode
);
32 SCM
g_rc_promote_invisible(SCM mode
);
33 SCM
g_rc_keep_invisible(SCM mode
);
34 SCM
g_rc_always_promote_attributes(SCM scmsymname
);
35 SCM
g_rc_print_color_map (SCM scm_map
);
38 void g_register_libgeda_funcs(void);
39 void g_register_libgeda_vars (void);
42 void g_init_attrib_smob(void);
43 SCM
g_get_attrib_name_value(SCM attrib_smob
);
44 SCM
g_calcule_new_attrib_bounds (SCM attrib_smob
, SCM scm_alignment
,
45 SCM scm_angle
, SCM scm_x
, SCM scm_y
);
46 SCM
g_get_attrib_bounds(SCM attrib_smob
);
47 SCM
g_get_attrib_angle(SCM attrib_smob
);
48 SCM
g_get_attrib_value_by_attrib_name(SCM object_smob
, SCM scm_attrib_name
);
49 void g_init_object_smob(void);
50 SCM
g_get_object_type(SCM object_smob
);
51 SCM
g_get_line_width(SCM object_smob
);
52 void g_init_page_smob(void);
53 SCM
g_get_page_filename(SCM page_smob
);
54 SCM
g_set_page_filename(SCM page_smob
, SCM scm_filename
);
57 void m_bounds_init(BOUNDS
*bounds
);
58 void m_bounds_of_points(BOUNDS
*bounds
, sPOINT points
[], gint count
);
61 double m_box_shortest_distance (BOX
*box
, int x
, int y
, int solid
);
64 double m_circle_shortest_distance (CIRCLE
*circle
, int x
, int y
, int solid
);
67 void m_hatch_polygon(GArray
*points
, gint angle
, gint pitch
, GArray
*lines
);
70 double m_line_shortest_distance (LINE
*circle
, int x
, int y
);
73 gboolean
m_polygon_interior_point(GArray
*points
, int x
, int y
);
74 double m_polygon_shortest_distance(GArray
*points
, int x
, int y
, gboolean closed
);
77 void m_transform_combine(TRANSFORM
*result
, TRANSFORM
*a
, TRANSFORM
*b
);
78 void m_transform_init(TRANSFORM
*transform
);
79 void m_transform_invert(TRANSFORM
*transform
, TRANSFORM
*inverse
);
80 void m_transform_line(TRANSFORM
*transform
, LINE
*line
);
81 void m_transform_lines(TRANSFORM
*transform
, GArray
*lines
);
82 void m_transform_point(TRANSFORM
*transform
, gint
*x
, gint
*y
);
83 void m_transform_points(TRANSFORM
*transform
, GArray
*points
);
84 void m_transform_rotate(TRANSFORM
*transform
, gdouble angle
);
85 void m_transform_scale(TRANSFORM
*transform
, gdouble factor
);
86 void m_transform_translate(TRANSFORM
*transform
, gdouble dx
, gdouble dy
);
89 OBJECT
*o_arc_read(TOPLEVEL
*toplevel
, char buf
[], unsigned int release_ver
, unsigned int fileformat_ver
);
90 char *o_arc_save(OBJECT
*object
);
91 void o_arc_print(TOPLEVEL
*toplevel
, FILE *fp
, OBJECT
*o_current
, int origin_x
, int origin_y
);
92 void o_arc_print_solid(TOPLEVEL
*toplevel
, FILE *fp
, int x
, int y
, int radius
, int angle1
, int angle2
, int color
, int arc_width
, int length
, int space
, int origin_x
, int origin_y
);
93 void o_arc_print_dotted(TOPLEVEL
*toplevel
, FILE *fp
, int x
, int y
, int radius
, int angle1
, int angle2
, int color
, int arc_width
, int length
, int space
, int origin_x
, int origin_y
);
94 void o_arc_print_dashed(TOPLEVEL
*toplevel
, FILE *fp
, int x
, int y
, int radius
, int angle1
, int angle2
, int color
, int arc_width
, int length
, int space
, int origin_x
, int origin_y
);
95 void o_arc_print_center(TOPLEVEL
*toplevel
, FILE *fp
, int x
, int y
, int radius
, int angle1
, int angle2
, int color
, int arc_width
, int length
, int space
, int origin_x
, int origin_y
);
96 void o_arc_print_phantom(TOPLEVEL
*toplevel
, FILE *fp
, int x
, int y
, int radius
, int angle1
, int angle2
, int color
, int arc_width
, int length
, int space
, int origin_x
, int origin_y
);
97 double o_arc_shortest_distance(OBJECT
*object
, int x
, int y
, int force_soild
);
98 gboolean
o_arc_within_sweep(ARC
*arc
, gint x
, gint y
);
99 void world_get_arc_bounds(TOPLEVEL
*toplevel
, OBJECT
*object
, int *left
, int *top
, int *right
, int *bottom
);
100 gboolean
o_arc_get_position(TOPLEVEL
*toplevel
, gint
*x
, gint
*y
, OBJECT
*object
);
101 void o_arc_recalc(TOPLEVEL
*toplevel
, OBJECT
*o_current
);
104 GList
*o_read_attribs(TOPLEVEL
*toplevel
,
106 OBJECT
*object_to_get_attribs
,
108 unsigned int release_ver
,
109 unsigned int fileformat_ver
);
112 void o_bounds_invalidate(TOPLEVEL
*toplevel
, OBJECT
*object
);
113 double o_shortest_distance_full(OBJECT
*object
, int x
, int y
, int force_solid
);
116 OBJECT
*o_box_read(TOPLEVEL
*toplevel
, char buf
[], unsigned int release_ver
, unsigned int fileformat_ver
);
117 char *o_box_save(OBJECT
*object
);
118 void o_box_print(TOPLEVEL
*toplevel
, FILE *fp
, OBJECT
*o_current
, int origin_x
, int origin_y
);
119 void o_box_print_solid(TOPLEVEL
*toplevel
, FILE *fp
, int x
, int y
, int width
, int height
, int color
, int line_width
, int length
, int space
, int origin_x
, int origin_y
);
120 void o_box_print_dotted(TOPLEVEL
*toplevel
, FILE *fp
, int x
, int y
, int width
, int height
, int color
, int line_width
, int length
, int space
, int origin_x
, int origin_y
);
121 void o_box_print_dashed(TOPLEVEL
*toplevel
, FILE *fp
, int x
, int y
, int width
, int height
, int color
, int line_width
, int length
, int space
, int origin_x
, int origin_y
);
122 void o_box_print_center(TOPLEVEL
*toplevel
, FILE *fp
, int x
, int y
, int width
, int height
, int color
, int line_width
, int length
, int space
, int origin_x
, int origin_y
);
123 void o_box_print_phantom(TOPLEVEL
*toplevel
, FILE *fp
, int x
, int y
, int width
, int height
, int color
, int line_width
, int length
, int space
, int origin_x
, int origin_y
);
124 void o_box_print_filled(TOPLEVEL
*toplevel
, FILE *fp
, int x
, int y
, int width
, int height
, int color
, int fill_width
, int angle1
, int pitch1
, int angle2
, int pitch2
, int origin_x
, int origin_y
);
125 void o_box_print_mesh(TOPLEVEL
*toplevel
, FILE *fp
, int x
, int y
, int width
, int height
, int color
, int fill_width
, int angle1
, int pitch1
, int angle2
, int pitch2
, int origin_x
, int origin_y
);
126 void o_box_print_hatch(TOPLEVEL
*toplevel
, FILE *fp
, int x
, int y
, int width
, int height
, int color
, int fill_width
, int angle1
, int pitch1
, int angle2
, int pitch2
, int origin_x
, int origin_y
);
127 double o_box_shortest_distance(OBJECT
*object
, int x
, int y
, int force_soild
);
128 void world_get_box_bounds(TOPLEVEL
*toplevel
, OBJECT
*object
, int *left
, int *top
, int *right
, int *bottom
);
129 gboolean
o_box_get_position(TOPLEVEL
*toplevel
, gint
*x
, gint
*y
, OBJECT
*object
);
130 void o_box_recalc(TOPLEVEL
*toplevel
, OBJECT
*o_current
);
133 OBJECT
*o_bus_read(TOPLEVEL
*toplevel
, char buf
[], unsigned int release_ver
, unsigned int fileformat_ver
);
134 char *o_bus_save(OBJECT
*object
);
135 void o_bus_print(TOPLEVEL
*toplevel
, FILE *fp
, OBJECT
*o_current
, int origin_x
, int origin_y
);
136 void world_get_bus_bounds(TOPLEVEL
*toplevel
, OBJECT
*object
, int *left
, int *top
, int *right
, int *bottom
);
137 gboolean
o_bus_get_position(TOPLEVEL
*toplevel
, gint
*x
, gint
*y
, OBJECT
*object
);
138 void o_bus_recalc(TOPLEVEL
*toplevel
, OBJECT
*o_current
);
140 /* o_circle_basic.c */
141 OBJECT
*o_circle_read(TOPLEVEL
*toplevel
, char buf
[], unsigned int release_ver
, unsigned int fileformat_ver
);
142 char *o_circle_save(OBJECT
*object
);
143 void o_circle_print(TOPLEVEL
*toplevel
, FILE *fp
, OBJECT
*o_current
, int origin_x
, int origin_y
);
144 void o_circle_print_solid(TOPLEVEL
*toplevel
, FILE *fp
, int x
, int y
, int radius
, int color
, int circle_width
, int length
, int space
, int origin_x
, int origin_y
);
145 void o_circle_print_dotted(TOPLEVEL
*toplevel
, FILE *fp
, int x
, int y
, int radius
, int color
, int circle_width
, int length
, int space
, int origin_x
, int origin_y
);
146 void o_circle_print_dashed(TOPLEVEL
*toplevel
, FILE *fp
, int x
, int y
, int radius
, int color
, int circle_width
, int length
, int space
, int origin_x
, int origin_y
);
147 void o_circle_print_center(TOPLEVEL
*toplevel
, FILE *fp
, int x
, int y
, int radius
, int color
, int circle_width
, int length
, int space
, int origin_x
, int origin_y
);
148 void o_circle_print_phantom(TOPLEVEL
*toplevel
, FILE *fp
, int x
, int y
, int radius
, int color
, int circle_width
, int length
, int space
, int origin_x
, int origin_y
);
149 void o_circle_print_filled(TOPLEVEL
*toplevel
, FILE *fp
, int x
, int y
, int radius
, int color
, int fill_width
, int angle1
, int pitch1
, int angle2
, int pitch2
, int origin_x
, int origin_y
);
150 void o_circle_print_mesh(TOPLEVEL
*toplevel
, FILE *fp
, int x
, int y
, int radius
, int color
, int fill_width
, int angle1
, int pitch1
, int angle2
, int pitch2
, int origin_x
, int origin_y
);
151 void o_circle_print_hatch(TOPLEVEL
*toplevel
, FILE *fp
, int x
, int y
, int radius
, int color
, int fill_width
, int angle1
, int pitch1
, int angle2
, int pitch2
, int origin_x
, int origin_y
);
152 double o_circle_shortest_distance(OBJECT
*object
, int x
, int y
, int force_soild
);
153 void world_get_circle_bounds(TOPLEVEL
*toplevel
, OBJECT
*object
, int *left
, int *top
, int *right
, int *bottom
);
154 gboolean
o_circle_get_position(TOPLEVEL
*toplevel
, gint
*x
, gint
*y
, OBJECT
*object
);
155 void o_circle_recalc(TOPLEVEL
*toplevel
, OBJECT
*o_current
);
157 /* o_complex_basic.c */
158 OBJECT
*o_complex_read(TOPLEVEL
*toplevel
, char buf
[], unsigned int release_ver
, unsigned int fileformat_ver
);
159 char *o_complex_save(OBJECT
*object
);
160 double o_complex_shortest_distance(OBJECT
*object
, int x
, int y
, int force_soild
);
161 void world_get_complex_bounds(TOPLEVEL
*toplevel
, OBJECT
*complex, int *left
, int *top
, int *right
, int *bottom
);
162 gboolean
o_complex_get_position(TOPLEVEL
*toplevel
, gint
*x
, gint
*y
, OBJECT
*object
);
163 void o_complex_recalc(TOPLEVEL
*toplevel
, OBJECT
*o_current
);
166 OBJECT
*o_line_read(TOPLEVEL
*toplevel
, char buf
[], unsigned int release_ver
, unsigned int fileformat_ver
);
167 char *o_line_save(OBJECT
*object
);
168 void o_line_print(TOPLEVEL
*toplevel
, FILE *fp
, OBJECT
*o_current
, int origin_x
, int origin_y
);
169 void o_line_print_solid(TOPLEVEL
*toplevel
, FILE *fp
, int x1
, int y1
, int x2
, int y2
, int color
, int line_width
, int length
, int space
, int origin_x
, int origin_y
);
170 void o_line_print_dotted(TOPLEVEL
*toplevel
, FILE *fp
, int x1
, int y1
, int x2
, int y2
, int color
, int line_width
, int length
, int space
, int origin_x
, int origin_y
);
171 void o_line_print_dashed(TOPLEVEL
*toplevel
, FILE *fp
, int x1
, int y1
, int x2
, int y2
, int color
, int line_width
, int length
, int space
, int origin_x
, int origin_y
);
172 void o_line_print_center(TOPLEVEL
*toplevel
, FILE *fp
, int x1
, int y1
, int x2
, int y2
, int color
, int line_width
, int length
, int space
, int origin_x
, int origin_y
);
173 void o_line_print_phantom(TOPLEVEL
*toplevel
, FILE *fp
, int x1
, int y1
, int x2
, int y2
, int color
, int line_width
, int length
, int space
, int origin_x
, int origin_y
);
174 double o_line_shortest_distance(OBJECT
*object
, int x
, int y
, int force_soild
);
175 void world_get_line_bounds(TOPLEVEL
*toplevel
, OBJECT
*object
, int *left
, int *top
, int *right
, int *bottom
);
176 gboolean
o_line_get_position(TOPLEVEL
*toplevel
, gint
*x
, gint
*y
, OBJECT
*object
);
177 void o_line_recalc(TOPLEVEL
*toplevel
, OBJECT
*o_current
);
180 OBJECT
*o_net_read(TOPLEVEL
*toplevel
, char buf
[], unsigned int release_ver
, unsigned int fileformat_ver
);
181 char *o_net_save(OBJECT
*object
);
182 void o_net_print(TOPLEVEL
*toplevel
, FILE *fp
, OBJECT
*o_current
, int origin_x
, int origin_y
);
183 void world_get_net_bounds(TOPLEVEL
*toplevel
, OBJECT
*object
, int *left
, int *top
, int *right
, int *bottom
);
184 gboolean
o_net_get_position(TOPLEVEL
*toplevel
, gint
*x
, gint
*y
, OBJECT
*object
);
185 void o_net_recalc(TOPLEVEL
*toplevel
, OBJECT
*o_current
);
188 OBJECT
*o_path_read(TOPLEVEL
*toplevel
, const char *first_line
, TextBuffer
*tb
, unsigned int release_ver
, unsigned int fileformat_ver
);
189 char *o_path_save(OBJECT
*object
);
190 void o_path_print(TOPLEVEL
*toplevel
, FILE *fp
, OBJECT
*o_current
, int origin_x
, int origin_y
);
191 double o_path_shortest_distance(OBJECT
*object
, int x
, int y
, int force_soild
);
192 void world_get_path_bounds(TOPLEVEL
*toplevel
, OBJECT
*object
, int *left
, int *top
, int *right
, int *bottom
);
193 gboolean
o_path_get_position(TOPLEVEL
*toplevel
, gint
*x
, gint
*y
, OBJECT
*object
);
194 void o_path_recalc(TOPLEVEL
*toplevel
, OBJECT
*o_current
);
198 OBJECT
*o_picture_read(TOPLEVEL
*toplevel
, const char *first_line
, TextBuffer
*tb
, unsigned int release_ver
, unsigned int fileformat_ver
);
199 char *o_picture_save(OBJECT
*object
);
200 void o_picture_print(TOPLEVEL
*toplevel
, FILE *fp
, OBJECT
*o_current
,
201 int origin_x
, int origin_y
);
202 double o_picture_shortest_distance(OBJECT
*object
, int x
, int y
, int force_soild
);
203 void world_get_picture_bounds(TOPLEVEL
*toplevel
, OBJECT
*object
, int *left
, int *top
, int *right
, int *bottom
);
204 gboolean
o_picture_get_position(TOPLEVEL
*toplevel
, gint
*x
, gint
*y
, OBJECT
*object
);
205 void o_picture_recalc(TOPLEVEL
*toplevel
, OBJECT
*o_current
);
208 OBJECT
*o_pin_read(TOPLEVEL
*toplevel
, char buf
[], unsigned int release_ver
, unsigned int fileformat_ver
);
209 char *o_pin_save(OBJECT
*object
);
210 void o_pin_print(TOPLEVEL
*toplevel
, FILE *fp
, OBJECT
*o_current
, int origin_x
, int origin_y
);
211 void world_get_pin_bounds(TOPLEVEL
*toplevel
, OBJECT
*object
, int *left
, int *top
, int *right
, int *bottom
);
212 gboolean
o_pin_get_position(TOPLEVEL
*toplevel
, gint
*x
, gint
*y
, OBJECT
*object
);
213 void o_pin_recalc(TOPLEVEL
*toplevel
, OBJECT
*o_current
);
216 OBJECT
*o_text_read(TOPLEVEL
*toplevel
, const char *first_line
, TextBuffer
*tb
, unsigned int release_ver
, unsigned int fileformat_ver
);
217 char *o_text_save(OBJECT
*object
);
218 void o_text_print_text_string(FILE *fp
, char *string
, int unicode_count
, gunichar
*unicode_table
);
219 void o_text_print(TOPLEVEL
*toplevel
, FILE *fp
, OBJECT
*o_current
, int origin_x
, int origin_y
, int unicode_count
, gunichar
*unicode_table
);
220 double o_text_shortest_distance(OBJECT
*object
, int x
, int y
, int force_soild
);
221 int world_get_text_bounds(TOPLEVEL
*toplevel
, OBJECT
*o_current
, int *left
, int *top
, int *right
, int *bottom
);
222 gboolean
o_text_get_position(TOPLEVEL
*toplevel
, gint
*x
, gint
*y
, OBJECT
*object
);
223 void o_text_recalc(TOPLEVEL
*toplevel
, OBJECT
*o_current
);
226 void s_clib_init (void);
229 void s_color_init(void);
230 gchar
*s_color_ps_string(gint color
);
233 gchar
* s_encoding_base64_encode (gchar
* src
, guint srclen
, guint
* dstlenp
, gboolean strict
);
234 gchar
* s_encoding_base64_decode (gchar
* src
, guint srclen
, guint
* dstlenp
);
237 int s_path_to_polygon(PATH
*path
, GArray
*points
);
238 double s_path_shortest_distance (PATH
*path
, int x
, int y
, int solid
);
241 TextBuffer
*s_textbuffer_new (gchar
*data
, const gint size
);
242 TextBuffer
*s_textbuffer_free (TextBuffer
*tb
);
243 void s_textbuffer_seek (TextBuffer
*tb
, const gint offset
);
244 gchar
*s_textbuffer_next (TextBuffer
*tb
, const gsize count
);
245 gchar
*s_textbuffer_next_line (TextBuffer
*tb
);