/* VDI.H GEM VDI Definitions Copyright (c) Borland International 1990 All Rights Reserved. */ #if !defined( __VDI__ ) #define __VDI__ #define VDI_H typedef struct { int contrl[15]; int intin[132]; int intout[140]; int ptsin[145]; int ptsout[145]; } VDIPARBLK; typedef struct { int *contrl; int *intin; int *ptsin; int *intout; int *ptsout; } VDIPB; extern VDIPARBLK _VDIParBlk; void vdi( VDIPB *vdipb ); /****** Control definitions *********************************************/ void v_opnwk( int *work_in, int *handle, int *work_out); void v_clswk( int handle ); void v_opnvwk( int *work_in, int *handle, int *work_out); void v_clsvwk( int handle ); void v_clrwk( int handle ); void v_updwk( int handle ); int vst_load_fonts( int handle, int select ); void vst_unload_fonts( int handle, int select ); void vs_clip( int handle, int clip_flag, int *pxyarray ); /****** Output definitions **********************************************/ void v_pline( int handle, int count, int *pxyarray ); void v_pmarker( int handle, int count, int *pxyarray ); void v_gtext( int handle, int x, int y, char *string ); void v_fillarea( int handle, int count, int *pxyarray ); void v_cellarray( int handle, int *pxyarray, int row_length, int el_used, int num_rows, int wrt_mode, int *colarray ); void v_contourfill( int handle, int x, int y, int index ); void vr_recfl( int handle, int *pxyarray ); void v_bar( int handle, int *pxyarray ); void v_arc( int handle, int x, int y, int radius, int begang, int endang ); void v_pieslice( int handle, int x, int y, int radius, int begang, int endang ); void v_circle( int handle, int x, int y, int radius ); void v_ellarc( int handle, int x, int y, int xradius, int yradius, int begang, int endang ); void v_ellpie( int handle, int x, int y, int xradius, int yradius, int begang, int endang ); void v_ellipse( int handle, int x, int y, int xradius, int yradius ); void v_rbox ( int handle, int *pxyarray ); void v_rfbox ( int handle, int *pxyarray ); void v_justified( int handle,int x, int y, char *string, int length, int word_space, int char_space ); /****** Attribute definitions *****************************************/ #define IP_HOLLOW 0 #define IP_1PATT 1 #define IP_2PATT 2 #define IP_3PATT 3 #define IP_4PATT 4 #define IP_5PATT 5 #define IP_6PATT 6 #define IP_SOLID 7 /* gsx modes */ #define MD_REPLACE 1 #define MD_TRANS 2 #define MD_XOR 3 #define MD_ERASE 4 /* gsx styles */ #define FIS_HOLLOW 0 #define FIS_SOLID 1 #define FIS_PATTERN 2 #define FIS_HATCH 3 #define FIS_USER 4 /* bit blt rules */ #define ALL_WHITE 0 #define S_AND_D 1 #define S_AND_NOTD 2 #define S_ONLY 3 #define NOTS_AND_D 4 #define D_ONLY 5 #define S_XOR_D 6 #define S_OR_D 7 #define NOT_SORD 8 #define NOT_SXORD 9 #define D_INVERT 10 #define NOT_D 11 #define S_OR_NOTD 12 #define NOTS_OR_D 13 #define NOT_SANDD 14 #define ALL_BLACK 15 /* linetypes */ #define SOLID 1 #define LONGDASH 2 #define DOT 3 #define DASHDOT 4 #define DASH 5 #define DASH2DOT 6 #define USERLINE 7 #define SQUARE 0 #define ARROWED 1 #define ROUND 2 /* Lattice C should better use the TF_xxx-constants anyway... */ #define THICKENED 0x01 #define SHADED 0x02 #define SKEWED 0x04 #define UNDERLINED 0x08 #define OUTLINE 0x10 #define SHADOW 0x20 int vswr_mode( int handle, int mo ); void vs_color( int handle, int index, int *rgb_in ); int vsl_type( int handle, int style ); void vsl_udsty( int handle, int pattern ); int vsl_width( int handle, int width ); int vsl_color( int handle, int color_index ); void vsl_ends( int handle, int beg_style, int end_style ); int vsm_type( int handle, int symbol ); int vsm_height( int handle, int height ); int vsm_color( int handle, int color_index ); void vst_height( int handle, int height, int *char_width, int *char_height, int *cell_width, int *cell_height ); int vst_point( int handle, int point, int *char_width, int *char_height, int *cell_width, int *cell_height ); int vst_rotation( int handle, int angle ); int vst_font( int handle, int font ); int vst_color( int handle, int color_index ); int vst_effects( int handle, int effect ); void vst_alignment( int handle, int hor_in, int vert_in, int *hor_out, int *vert_out ); int vsf_interior( int handle, int style ); int vsf_style( int handle, int style_index ); int vsf_color( int handle, int color_index ); int vsf_perimeter( int handle, int per_vis ); void vsf_udpat( int handle, int *pfill_pat, int planes ); /****** Raster definitions *********************************************/ typedef struct { void * fd_addr; int fd_w, fd_h, fd_wdwidth, fd_stand, fd_nplanes, fd_r1, fd_r2, fd_r3; } MFDB; void vro_cpyfm( int handle, int vr_mode, int *pxyarray, MFDB *psrcMFDB, MFDB *pdesMFDB ); void vrt_cpyfm( int handle, int vr_mode, int *pxyarray, MFDB *psrcMFDB, MFDB *pdesMFDB, int *color_index ); void vr_trnfm( int handle, MFDB *psrcMFDB, MFDB *pdesMFDB ); void v_get_pixel( int handle, int x, int y, int *pel, int *index ); /****** Input definitions **********************************************/ void vsin_mode( int handle, int dev_type, int mo ); void vrq_locator( int handle, int x, int y, int *xout, int *yout, int *term ); int vsm_locator( int handle, int x, int y, int *xout, int *yout, int *term ); void vrq_valuator( int handle, int valuator_in, int *valuator_out, int *terminator ); void vsm_valuator( int handle, int val_in, int *val_out, int *term, int *status ); void vrq_choice( int handle, int ch_in, int *ch_out ); int vsm_choice( int handle, int *choice ); void vrq_string( int handle, int max_length, int echo_mode, int *echo_xy, char *string ); int vsm_string( int handle, int max_length, int echo_mode, int *echo_xy, char *string ); void vsc_form( int handle, MFORM *pcur_form ); void vex_timv( int handle, int (*tim_addr)(), int (**otim_addr)(), int *tim_conv ); void v_show_c( int handle, int reset ); void v_hide_c( int handle ); void vq_mouse( int handle, int *pstatus, int *x, int *y ); void vex_butv( int handle, int (*pusrcode)(), int (**psavcode)() ); void vex_motv( int handle, int (*pusrcode)(), int (**psavcode)() ); void vex_curv( int handle, int (*pusrcode)(), int (**psavcode)() ); void vex_whlv( int handle, int (*pusrcode)(), int (**psavcode)() ); /* HR 111002: wheel support */ void vq_key_s( int handle, int *pstatus ); /****** Inquire definitions *******************************************/ void vq_extnd( int handle, int owflag, int *work_out ); int vq_color( int handle, int color_index, int set_flag, int *rgb ); void vql_attributes( int handle, int *attrib ); void vqm_attributes( int handle, int *attrib ); void vqf_attributes( int handle, int *attrib ); void vqt_attributes( int handle, int *attrib ); void vqt_extent( int handle, char *string, int *extent ); int vqt_width( int handle, int character, int *cell_width, int *left_delta, int *right_delta ); int vqt_name( int handle, int element_num, char *name ); void vq_cellarray( int handle, int *pxyarray, int row_length, int num_rows, int *el_used, int *rows_used, int *status, int *colarray ); void vqin_mode( int handle, int dew_type, int *input_mode ); void vqt_fontinfo( int handle, int *minADE, int *maxADE, int *distances, int *maxwidth, int *effects ); /****** Escape definitions *********************************************/ void vq_chcells( int handle, int *rows, int *columns ); void v_exit_cur( int handle ); void v_enter_cur( int handle ); void v_curup( int handle ); void v_curdown( int handle ); void v_curright( int handle ); void v_curleft( int handle ); void v_curhome( int handle ); void v_eeos( int handle ); void v_eeol( int handle ); void vs_curaddress( int handle, int Row, int Column ); void v_curaddress( int handle, int Row, int Column ); void v_curtext( int handle, char *string ); void v_rvon( int handle ); void v_rvoff( int handle ); void vq_curaddress( int handle, int *Row, int *Column ); int vq_tabstatus( int handle ); void v_hardcopy( int handle ); void v_dspcur( int handle, int x, int y ); void v_rmcur( int handle ); void v_form_adv( int handle ); void v_output_window( int handle, int *xyarray ); void v_clear_disp_list( int handle ); void v_bit_image( int handle, const char *filename, int aspect, int x_scale, int y_scale, int h_align, int v_align, int *xyarray ); void vq_scan( int handle, int *g_slice, int *g_page, int *a_slice, int *a_page, int *div_fac); void v_alpha_text( int handle, char *string ); void vs_palette( int handle, int palette ); void v_sound( int handle, int frequency, int duration ); int vs_mute( int handle, int action ); void vqp_films( int handle, char *film_names ); void vqp_state( int handle, int *port, char *film_name, int *lightness, int *interlace, int *planes, int *indexes ); void vsp_state( int handle, int port, int film_num, int lightness, int interlace, int planes, int *indexes ); void vsp_save( int handle ); void vsp_message( int handle ); int vqp_error( int handle ); void v_meta_extents( int handle, int min_x, int min_y, int max_x, int max_y ); void v_write_meta( int handle, int num_intin, int *intin, int num_ptsin, int *ptsin ); void vm_coords( int handle, int llx, int lly, int urx, int ury ); void vm_filename( int handle, const char *filename ); void vm_pagesize( int handle, int pgwidth, int pdheight ); void v_offset( int handle, int offset ); void v_fontinit( int handle, int fh_high, int fh_low ); void v_escape2000( int handle, int times ); void vt_resolution( int handle, int xres, int yres, int *xset, int *yset ); void vt_axis( int handle, int xres, int yres, int *xset, int *yset ); void vt_origin( int handle, int xorigin, int yorigin ); void vq_tdimensions( int handle, int *xdimension, int *ydimension ); void vt_alignment( int handle, int dx, int dy ); void vsp_film( int handle, int index, int lightness ); void vsc_expose( int handle, int state ); #define GDOS_NONE -2L /* no GDOS installed */ #define GDOS_FSM 0x5F46534DL /* '_FSM' - FSMGDOS installed */ #define GDOS_FNT 0x5F464E54L /* '_FNT' - FONTGDOS installed */ int vq_gdos( void ); long vq_vgdos( void ); int v_bez_on( int handle ); void v_bez_off( int handle ); void v_set_app_buff( int handle, void *address, int nparagraphs ); void v_bez( int handle, int count, int *xyarr, char *bezarr, int *extent, int *totpts, int *totmoves ); void v_bez_fill( int handle, int count, int *xyarr, char *bezarr, int *extent, int *totpts, int *totmoves ); int v_bez_qual( int handle, int prcnt, int *actual ); /****** SpeedoGDOS definitions ********************************************/ typedef long fix31; void vqt_f_extent( int handle, char *string, int *extent ); void v_ftext( int handle, int x, int y, char *string ); void v_ftext_offset( int handle, int x, int y, char *string, int *offset ); void v_killoutline( int handle, void *component ); void v_getoutline( int handle, int ch, int *xyarray, char *bezarray, int maxverts, int *numverts ); void vst_scratch( int handle, int mo ); void vst_error( int handle, int mo, int *errorvar ); void vqt_advance( int handle, int ch, int *advx, int *advy, int *remx, int *remy ); void vqt_advance32( int handle, int ch, fix31 *advx, fix31 *advy ); int vst_arbpt( int handle, int point, int *chwd, int *chht, int *cellwd, int *cellht ); fix31 vst_arbpt32( int handle, fix31 point, int *chwd, int *chht, int *cellwd, int *cellht ); void vst_charmap( int handle, int mo ); void v_getbitmap_info( int handle, int ch, fix31 *advx, fix31 *advy, fix31 *xoff, fix31 *yoff, fix31 *width, fix31 *height ); void vqt_pairkern( int handle, int ch1, int ch2, fix31 *x, fix31 *y ); void vqt_trackkern( int handle, fix31 *x, fix31 *y ); void vqt_fontheader( int handle, char *buffer, char *pathname ); void vst_kern( int handle, int tmode, int pmode, int *tracks, int *pairs ); fix31 vst_setsize32( int handle, fix31 point, int *chwd, int *chht, int *cellwd, int *cellht ); void vqt_devinfo( int handle, int devnum, int *devexits, char *devstr ); int v_flushcache( int handle ); void vqt_cachesize( int handle, int which_cache, long *size ); void vqt_get_table( int handle, int **map ); int v_loadcache( int handle, char *filename, int mo ); int v_savecache( int handle, char *filename ); int vst_setsize( int handle, int point, int *chwd, int *chht, int *cellwd, int *cellht ); int vst_skew( int handle, int skew ); #endif /***********************************************************************/