home *** CD-ROM | disk | FTP | other *** search
- /*
- * PD mini VDI interface, Eric Gisin
- */
-
- /* Memory Form descriptor */
- typedef struct {
- short * base;
- short width;
- short height;
- short wwidth;
- short standard;
- short planes;
- short resv1, resv2, resv3;
- } Form;
-
- /* Rectangle descriptor */
- typedef struct {
- short x1, y1; /* upper left */
- short x2, y2; /* lower right */
- } Rect;
-
- /* VDI/AES parameter block */
- struct Params {
- short *ct; /* control */
- short *ii; /* ints in */
- short *pi; /* points in */
- short *io; /* ints out */
- short *po; /* points out */
- short *xx;
- };
-
- #define vdi(params) bdos(115, params)
- #define vdi_setup(f, h, ii, pi) {ct[0] = f; ct[6] = h; ct[1] = pi; ct[3] = ii; }
-
- #define v_clsvwk(h) vdi_none(h, 101)
- #define v_clrwk(h) vdi_none(h, 3)
- #define vro_cpyfm(h, m, r, s, d) vdi_cpyfm(h, 109, m, r, s, d)
- #define vrt_cpyfm(h, m, r, s, d) vdi_cpyfm(h, 121, m, r, s, d)
- #define vsf_color(h, c) vdi_int1(h, 25, c)
- #define vsf_perimeter(h, f) vdi_int1(h, 104, f)
- #define vsf_interior(h, s) vdi_int1(h, 23, s)
- #define vsf_style(h, s) vdi_int1(h, 24, s)
- #define vst_color(h, c) vdi_int1(h, 22, c)
- #define vst_effects(h, e) vdi_int1(h, 106, e)
- #define vst_point(h, s) vdi_int1(h, 107, s)
- #define vst_rotation(h, a) vdi_int1(h, 13, a)
- #define vst_font(h, f) vdi_int1(h, 21, f)
- #define vswr_mode(h, m) vdi_int1(h, 32, m)
- #define vst_height(h, ht) vdi_pnt1(h, 12, 0, ht)
- #define v_bar(h, p) vdi_pnt4v(h, 11, 1, p)
- #define v_rbox(h, p) vdi_pnt4v(h, 11, 8, p)
- #define v_rfbox(h, p) vdi_pnt4v(h, 11, 9, p)
- #define v_recfl(h, p) vdi_pnt4v(h, 114, 0, p)
-
-