/* Header for module mylib, generated by p2c */
#ifndef MYLIB_H
#define MYLIB_H

#include <X11/Xlib.h>

#ifdef MYLIB_G
# define vextern
#else
# define vextern extern
#endif



typedef uchar m_colorarray[17];

typedef uchar m_vcolorarray[1000001L];

typedef long m_pointarray[10];

typedef uchar m_screenvararr[199680L];

typedef uchar m_packedscreenvararr[99840L];

typedef uchar m_picturevararr[];

typedef long m_chpicarr[32];

typedef struct m_chpicrec {
    int xsize : 8, ysize : 8, xoff : 8, yoff : 8;
/* p2c: Note: Must assume this bit field is signed (from mylib.imp, line 53) */
    unsigned xdim : 8, ydim : 8, width : 8, height : 8;
    m_chpicarr pic;
} m_chpicrec;

typedef struct m_fchpic {
    uchar ch, junk;
    m_chpicrec pic;
} m_fchpic;

typedef m_chpicrec *m_chfontarr[256];

typedef uchar m_cchpicarr[32][32];

typedef struct m_cchpicrec {
    int xsize : 8, ysize : 8, xoff : 8, yoff : 8;
/* p2c: Note: Must assume this bit field is signed (from mylib.imp, line 53) */
    unsigned xdim : 8, ydim : 8, width : 8, height : 8;
    m_cchpicarr pic;
} m_cchpicrec;

typedef struct m_fcchpic {
    uchar ch, junk;
    m_cchpicrec pic;
} m_fcchpic;

typedef m_cchpicrec *m_cchfontarr[256];

typedef struct m_tablet_info {
    long x, y;
    short phx, phy, fill1;
    int ax : 8, ay : 8;
/* p2c: Note: Must assume this bit field is signed (from mylib.imp, line 53) */
    unsigned menu : 8, depressed : 1, near_ : 1, dn : 1, up : 1, off : 1, clip : 1,
             moving : 1, inalpha : 1;
} m_tablet_info;



#define m_black         0
#define m_red           1
#define m_green         2
#define m_yellow        3
#define m_blue          4
#define m_purple        5
#define m_cyan          6
#define m_white         7
#define m_xblack        16
#define m_xred          17
#define m_xgreen        18
#define m_xyellow       19
#define m_xblue         20
#define m_xpurple       21
#define m_xcyan         22
#define m_xwhite        23
#define m_normal        0
#define m_xor           16
#define m_over          32
#define m_mask          48
#define m_add           64
#define m_sub           80
#define m_user          96

#define m_scan          0xf8f8L
#define m_erase         0xf9f9L
#define m_hitdet        0xfafaL
#define m_chg           0xfbfbL
#define m_chgtab        0xfcfcL
#define m_pat           0xfdfdL
#define m_fastu         0xfefeL
#define m_trans         0xffffL

#define m_mode          256
#define m_rule_erase    0
#define m_rule_and      1
#define m_rule_normal   3
#define m_rule_mask     4
#define m_rule_trans    5
#define m_rule_xor      6
#define m_rule_over     7
#define m_rule_not      10
#define m_rule_inv      12
#define m_rule_ones     15
#define m_pie           1
#define m_chord         2
#define m_extarc        3



vextern _PROCEDURE m_usercolor[16];
vextern _PROCEDURE m_fastusercolor;
vextern uchar m_chgfrom, m_chgto;
vextern m_colorarray m_chgtable;
vextern boolean m_blackflag;
vextern long m_hitcount, m_across, m_down;
#define m_machine "X"
/*   vextern uchar m_machine[20];  */
vextern long m_maxcolor, m_scanmask;
vextern Display *m_display;
vextern Window m_window;
vextern int m_initialized;
vextern int BlackAndWhite;
vextern int screennum;

#define ColorsInSet           16
#define ColorSets              4
extern XColor m_colors[ColorSets+1][ColorsInSet];

/* Added X display name support.  stafford 7/17/91 */
extern void m_set_display_name(char* display_name);
extern char m_display_name[];
extern boolean m_autoraise;

extern void m_init_screen PV();
extern void m_init_colors PV();
extern void m_init_pen PP((int));
extern void m_init_graphics PV();
extern void m_init_graphics_nopen PV();
extern void m_init_dzg PV();
extern void m_modern PP((int));
extern void m_version PP((int));
extern long m_curversion PV();
extern void m_setplanes();
extern long m_seeplanes();
extern void m_clear PV();
extern void m_clearwindow PP((int, int));
extern void m_vsync PV();
extern void m_clip PP((int, int, int, int));
extern void m_noclip PV();
extern void m_unclip();	
extern void m_transform PP((int, int, int, int, int, int, int));
extern void m_upside_down PV();
extern void m_rotscale PP((double, double, int, int));
extern void m_rotscaled PP((double, double, int, int));
extern void m_notransform PV();
extern void m_untransform();
extern void m_cursor PP((int, int));
extern void m_nocursor PV();
extern void m_setcursor();
extern void m_setcursorshape();	
extern void m_choosecursor PP((int));
extern void m_seecursor();
extern void m_color PP((int));
extern void m_colormode PP((int c));
extern void m_uncolor();
extern long m_curcolor PV();
extern long m_curcolormode PV();
extern void m_setpattern();
extern void m_seepattern();
extern void m_scanpos();
extern void m_setcolor();
extern void m_seecolor PP((int, int *, int *, int *));
extern void m_setcolors PP((m_colorarray, m_colorarray, m_colorarray));
extern void m_seecolors PP((m_colorarray, m_colorarray, m_colorarray));
extern void m_vsetcolors PP((int, int, m_vcolorarray, m_vcolorarray, m_vcolorarray));
extern void m_vseecolors PP((int, int, m_vcolorarray, m_vcolorarray, m_vcolorarray));
extern void m_choosecolors PP((int));
extern void m_nullusercolor();
extern void m_pixelpos();
extern void m_pixelptr();
extern void m_nullfastusercolor();
extern void m_linestyle PP((int));
extern void m_nolinestyle PV();
extern void m_unlinestyle();
extern long m_curlinestyle PV();
extern void m_setlinestyle PP((int, int));
extern void m_seelinestyle PP((int, int *));
extern void m_linewidth PP((int));
extern void m_nolinewidth PV();
extern void m_unlinewidth();
extern void m_move PP((int, int));
extern void m_moverel PP((int, int));
extern void m_move2 PP((int, int));
extern void m_moverel2 PP((int, int));
extern void m_draw PP((int, int));
extern void m_drawrel PP((int, int));
extern void m_seeposn PP((int *, int *));
extern void m_drawline PP((int, int, int, int));
extern void m_drawrect PP((int, int, int, int));
extern void m_fillrect PP((int, int, int, int));
extern void m_grid PP((int, int, int, int, int, int, int, int));
extern void m_drawpoint PP((int, int));
extern long m_seepoint();
extern void m_scanrect();
extern void m_crt_out();
extern void m_circle PP((int, int, int));
extern void m_ellipse PP((int, int, int, int, int));
extern void m_drawarc PP((long, long, long, long, double, double, double, long));
extern void m_fillarc PP((long, long, long, long, double, double, double, long));
extern void m_computearc3();
extern void m_drawarc3();
extern void m_fillarc3();
extern void m_computearct();
extern void m_drawarct();
extern void m_fillarct();
extern void m_roundrect PP((int, int, int, int, int, int, int));
extern void m_bezier PP((int, int, int, int, int, int, int, int));
extern void m_bezier2 PP((int, int, int, int, int, int, int, int, int));
extern void m_cbezier PP((int, int, int, int, int, int, int, int, int));
extern void m_polycurve PP((double, double, double, double, double, double, double, double, double, double, double, double));
extern void m_drawarrow();
extern void m_fillarrow();
extern void m_drawpoly PP((int, int [], int []));
extern void m_fillpoly PP((int, int [], int []));
extern void m_floodfill();
extern void m_boundaryfill();
extern void m_areafill();
extern void m_colorrect();
extern void m_movescreen();
extern void m_swapscreen();
extern void m_packscreen();
extern void m_unpackscreen();
extern void m_setscreen();
extern void m_seescreen();
extern void m_getpicture();
extern void m_getpicture2();
extern void m_putpicture();
extern void m_putpicture2();
extern void m_getcpicture();
extern void m_putcpicture();
extern void m_putcpicture2();
extern void m_xorcpicture();
extern void m_setcpicture();
extern void m_disposepicture();
extern void m_bunny();
extern void m_hscroll();
extern void m_vscroll();
extern void m_blit();
extern void m_loadfont();
extern void m_drawchar();
extern void m_displaytext();
extern void m_drawstr PP((int, int, char *, char *));
extern void m_centerstr PP((int, int, char *, char *));
extern void m_rightstr PP((int, int, char *, char *));
extern long m_strwidth PP((char *, char *));
extern long m_strlength();
extern void m_setfont();
#define m_choosefont(x)
/*  extern void m_choosefont();  */
extern void m_seefont();
extern void m_makechar PP((Anyptr *, long, long, long, long, long, long));
extern void m_changechar PP((Anyptr *, long, long, long, long, long));
extern void m_copychar();
extern void m_disposechar();
extern void m_loadcfont();
extern void m_drawcchar();
extern void m_xorcchar();
extern void m_drawcchar2();
extern void m_xorcchar2();
extern void m_makecchar();
extern void m_changecchar();
extern void m_copycchar();
extern void m_disposecchar();
extern void m_getcchar();
extern void m_graphics_on();
extern void m_alpha_on();

#define m_graphics_off()
#define m_alpha_off()

extern void m_readpen();
extern void m_trackpen();
extern void m_waitpen();
extern void m_clipxy();
extern boolean m_pollkbd();
extern uchar m_inkey();
extern uchar m_inkeyn();
extern uchar m_testkey();


#undef vextern

#endif /*MYLIB_H*/

/* End. */

