/* x.c */
SCM make_xwindow(SCM display, int screen_number, Drawable win, int pxmp, int rootp);
SCM make_xcolormap(SCM sdpy, Colormap cmp);
SCM make_xdisplay(Display *d);
SCM make_xgcontext(SCM d, int screen_number, GC gc, int rootp);
SCM make_xcursor(SCM display, Cursor cursor);
SCM make_xfont(SCM display, Font font, SCM name);
SCM make_xvisual(XVisualInfo *vsl);
SCM CCC2SCM_P(XcmsCCC ccc);
SCM CCC2SCM(XcmsCCC ccc);
SCM make_xevent(XEvent *e);
size_t x_free_xevent(CELLPTR ptr);
void scm2XPoint(int signp, SCM dat, XPoint *ipr, char *pos, char *s_caller);
int scm2XColor(SCM s_dat, XColor *xclr);
int scm2xpointslen(SCM sara, char *s_caller);
void scm2display_screen(SCM dat, SCM optidx, struct display_screen *dspscn, char *s_caller);
SCM thevalue(SCM obj);
Pixmap thepxmap(SCM obj, char *s_caller);
Font thefont(SCM obj, char *s_caller);
Colormap thecmap(SCM obj, char *s_caller);
Cursor thecsr(SCM obj, char *s_caller);
int thebool(SCM obj, char *s_caller);
int theint(SCM obj, char *s_caller);
int theuint(SCM obj, char *s_caller);
SCM x_open_display(SCM dpy_name);
SCM x_display_debug(SCM sd, SCM si);
SCM x_default_screen(SCM sdpy);
SCM x_create_window(SCM swin, SCM spos, SCM sargs);
SCM x_create_pixmap(SCM obj, SCM s_size, SCM s_depth);
SCM x_window_ref(SCM oargs);
SCM x_window_set(SCM args);
SCM x_window_geometry(SCM swin);
SCM x_window_geometry_set(SCM args);
SCM x_close(SCM obj);
SCM x_flush(SCM sd, SCM si);
SCM x_create_colormap(SCM swin, SCM s_vis, SCM s_alloc);
SCM x_recreate_colormap(SCM s_cm);
SCM x_install_colormap(SCM s_cm, SCM s_flg);
SCM x_alloc_color_cells(SCM scmap, SCM spxls, SCM sargs);
SCM x_free_color_cells(SCM scmap, SCM spxls, SCM sargs);
SCM x_find_color(SCM scmap, SCM dat);
SCM x_color_set(SCM scmap, SCM s_pix, SCM dat);
SCM x_color_ref(SCM scmap, SCM sidx);
SCM x_map_window(SCM swin);
SCM x_map_subwindows(SCM swin);
SCM x_unmap_window(SCM swin);
SCM x_unmap_subwindows(SCM swin);
SCM x_create_gc(SCM args);
SCM x_gc_set(SCM args);
SCM x_copy_gc(SCM dst, SCM src, SCM args);
SCM x_gc_ref(SCM oargs);
SCM x_create_cursor(SCM sdpy, SCM scsr, SCM sargs);
SCM x_load_font(SCM sdpy, SCM fntnam);
SCM x_protocol_version(SCM sd, SCM si);
SCM x_server_vendor(SCM sd, SCM si);
SCM x_vendor_release(SCM sd, SCM si);
int x_scm_error_handler(Display *display, XErrorEvent *xee);
SCM x_q_length(SCM sd, SCM si);
SCM x_pending(SCM sd, SCM si);
SCM x_events_queued(SCM sd, SCM si);
SCM x_next_event(SCM sd, SCM si);
SCM x_peek_event(SCM sd, SCM si);
SCM x_screen_count(SCM sd, SCM si);
SCM x_screen_cells(SCM sd, SCM si);
SCM x_screen_depth(SCM sd, SCM si);
SCM x_screen_depths(SCM sd, SCM si);
SCM x_screen_size(SCM sd, SCM si);
SCM x_screen_dimm(SCM sd, SCM si);
SCM x_screen_black(SCM sd, SCM si);
SCM x_screen_white(SCM sd, SCM si);
XVisualInfo *visual2visualinfo(Display *dsp, Visual *vis);
SCM x_make_visual(SCM sd, SCM sdepth, SCM sclass);
SCM x_visual_geometry(SCM svsl);
SCM x_visual_class(SCM svsl);
SCM x_root_window(SCM sdpy, SCM sscr);
SCM x_default_colormap(SCM sdpy, SCM sscr);
SCM x_default_gcontext(SCM sdpy, SCM sscr);
SCM x_default_visual(SCM sdpy, SCM sscr);
SCM x_default_ccc(SCM sdpy, SCM sscr);
SCM x_propdata2scm(Atom type, int format, unsigned long nitems, unsigned char *data);
SCM x_get_window_property(SCM swin, SCM sprop, SCM sargs);
SCM x_list_properties(SCM swin);
SCM x_clear_area(SCM swin, SCM spos, SCM sargs);
SCM x_fill_rectangle(SCM swin, SCM sgc, SCM sargs);
void xldraw_string(SCM sdbl, SCM sgc, SCM sargs, int (*proc)(void), char *s_caller);
SCM x_draw_string(SCM sdbl, SCM sgc, SCM sargs);
SCM x_image_string(SCM sdbl, SCM sgc, SCM sargs);
SCM x_draw_points(SCM sdbl, SCM sgc, SCM sargs);
SCM xldraw_lines(SCM sdbl, SCM sgc, SCM sargs, int funcod, char *s_caller);
SCM x_draw_segments(SCM sdbl, SCM sgc, SCM sargs);
SCM x_draw_lines(SCM sdbl, SCM sgc, SCM sargs);
SCM x_fill_poly(SCM sdbl, SCM sgc, SCM sargs);
SCM x_read_bitmap_file(SCM sdbl, SCM sfname);
SCM x_make_bool(int f);
SCM x_event_ref(SCM sevent, SCM sfield);
SCM x_event_keysym(SCM sevent);
char *xvisualclass2name(int class);
void x_scm_final(void);
void init_x(void);
