| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234 |
- (* Release 3.10 *)
- (*-------------------------------------------------------------------------*
- * *
- * VIO.DEF - Modula-2 OS/2 VIO API interface *
- * *
- * COPYRIGHT (C) 1989..1992 Clarion Software Corporation. *
- * All Rights Reserved *
- * *
- *--------------------------------------------------------------------------*)
- (*# call(o_a_size => off,
- o_a_copy=>off,
- result_optional=>on,
- reg_saved => (di,si,ds,st1,st2),
- reg_param => (),
- seg_name => none,
- same_ds => off,
- near_call => off,
- ds_eq_ss => off) *)
- (*# module(implementation=>off, init_code => off) *)
- (*# name(prefix => os2_lib) *)
- (*# data(near_ptr => off) *)
- DEFINITION MODULE Vio;
- FROM OS2DEF IMPORT LHANDLE;
- (**)
- (**--- OS/2 Kernel Vio calls -----------------------------------------------*)
- (**)
- (**)
- (*--- Conditional sections, set to TRUE if required ------------------------*)
- (**)
- CONST
- i_AVIO = TRUE; (* PM Advanced Vio *)
- TYPE
- HVIO = CARDINAL;
- VIOFUNC = (GETCURPOS,GETCURTYPE,GETMODE,GETBUF,GETPHYSBUF,
- SETCURPOS,SETCURTYPE,SETMODE,SHOWBUF,READCHARSTR,
- READCELLSTR,WRTNCHAR,WRTNATTR,WRTNCELL,WRTTTY,
- WRTCHARSTR,WRTCHARSTRATT,WRTCELLSTR,SCROLLUP,SCROLLDN,
- SCROLLLF,SCROLLRT,SETANSI,GETANSI,PRTSC,
- SCRLOCK,SCRUNLOCK,SAVREDRAWWAIT,SAVREDRAWUNDO,
- POPUP,ENDPOPUP,PRTSCTOGGLE,MODEWAIT,MODEUNDO,GETFONT,
- GETCONFIG,SETCP,GETCP,SETFONT,GETSTATE,SETSTATE,
- _41,_42,_43,_44,_45,_46,_47,_48,_49,_50,_51,
- _52,_53,_54,_55,_56,_57,_58,_59,_60,_61,_62,_63);
- VIOFUNCSET = SET OF VIOFUNC;
- CURSORINFO = RECORD
- start : CARDINAL;
- end : CARDINAL;
- x : CARDINAL;
- attr : INTEGER;
- END;
- MODEINFO = RECORD
- b : CARDINAL;
- type : SHORTCARD;
- color : SHORTCARD;
- col : CARDINAL;
- row : CARDINAL;
- hres : CARDINAL;
- vres : CARDINAL;
- fmt_ID : SHORTCARD; (* attribute format *)
- attrib : SHORTCARD; (* number of attributes *)
- buf_addr : LONGCARD;
- buf_length : LONGCARD;
- full_length : LONGCARD;
- partial_length : LONGCARD;
- ext_data_addr : FarADDRESS;
- END;
- PHYSBUF = RECORD
- bufaddr : LONGCARD;
- buflen : LONGCARD;
- sel : ARRAY [0..0] OF CARDINAL;
- END;
- CONFIGINFO = RECORD
- b : CARDINAL;
- adapter : CARDINAL;
- display : CARDINAL;
- memory : LONGCARD;
- Configuration: CARDINAL;
- VDHVersion : CARDINAL;
- Flags : CARDINAL;
- HWBufferSize : LONGCARD;
- FullSaveSize : LONGCARD;
- PartSaveSize : LONGCARD;
- EMAdaptersOFF: CARDINAL;
- EMDisplaysOFF: CARDINAL;
- END;
- FONTINFO = RECORD
- b : CARDINAL;
- type : CARDINAL;
- xCell : CARDINAL;
- yCell : CARDINAL;
- pData : FarADDRESS;
- cData : CARDINAL;
- END;
- PALSTATE = RECORD
- b : CARDINAL;
- type : CARDINAL;
- iFirst : CARDINAL;
- acolor : ARRAY [0..0] OF CARDINAL;
- END;
- OVERSCAN = RECORD
- b : CARDINAL;
- type : CARDINAL;
- color : CARDINAL;
- END;
- INTENSITY = RECORD
- b : CARDINAL;
- type : CARDINAL;
- fs : CARDINAL;
- END;
- CHARCELL = RECORD
- char : CHAR;
- attr : SHORTCARD;
- END;
- COLORREG = RECORD
- cb : CARDINAL;
- type : CARDINAL;
- firstcolorreg : CARDINAL;
- numcolorregs : CARDINAL;
- colorregaddr : FarADDRESS
- END;
- SETULINELOC = RECORD
- cb : CARDINAL;
- type : CARDINAL;
- scanline : CARDINAL;
- END;
- SETTARGET = RECORD
- cb : CARDINAL;
- type : CARDINAL;
- defaultalgorithm : CARDINAL;
- END;
- CONST
- VGMT_OTHER = 1; VGMT_GRAPHICS = 2; VGMT_DISABLEBURST = 4;
- ANSI_ON = 1; ANSI_OFF = 0;
- VSRWI_SAVEANDREDRAW = 0; VSRWI_REDRAW = 1;
- VSRWN_SAVE = 0; VSRWN_REDRAW = 1;
- UNDOI_GETOWNER = 0; UNDOI_RELEASEOWNER = 1;
- UNDOK_ERRORCODE = 0; UNDOK_TERMINATE = 1;
- VMWR_POPUP = 0; VMWN_POPUP = 0;
- LOCKIO_NOWAIT = 0; LOCKIO_WAIT = 1;
- LOCK_SUCCESS = 0; LOCK_FAIL = 1;
- VP_NOWAIT = 0; VP_WAIT = 1;
- VP_OPAQUE = 0; VP_TRANSPARENT = 2;
- VGFI_GETCURFONT = 0; VGFI_GETROMFONT = 1;
- PROCEDURE Register(module,entry:ARRAY OF CHAR; mask:VIOFUNCSET) : CARDINAL;
- PROCEDURE DeRegister() : CARDINAL;
- PROCEDURE GlobalReg(module,entry:ARRAY OF CHAR; mask:VIOFUNCSET; rsvd: LONGINT) : CARDINAL;
- PROCEDURE GetBuf(VAR lbuff:LONGCARD; VAR bufflng:CARDINAL; handle:HVIO) : CARDINAL;
- PROCEDURE GetCurPos(VAR row,column:CARDINAL; handle:HVIO) : CARDINAL;
- PROCEDURE SetCurPos(row,column:CARDINAL; handle:HVIO) : CARDINAL;
- PROCEDURE GetCurType(VAR cursor:CURSORINFO; handle:HVIO) : CARDINAL;
- PROCEDURE SetCurType(VAR cursor:CURSORINFO; handle:HVIO) : CARDINAL;
- PROCEDURE GetMode(VAR mode:MODEINFO; handle:HVIO) : CARDINAL;
- PROCEDURE SetMode(VAR mode:MODEINFO; handle:HVIO) : CARDINAL;
- PROCEDURE GetPhysBuf(VAR dstruc:PHYSBUF; rsrvd:CARDINAL) : CARDINAL;
- PROCEDURE ReadCellStr(VAR buffer:ARRAY OF WORD; VAR bufflng:CARDINAL; row,column:CARDINAL; handle:HVIO) : CARDINAL;
- PROCEDURE ReadCharStr(VAR buffer:ARRAY OF CHAR; VAR bufflng:CARDINAL; row,column:CARDINAL; handle:HVIO) : CARDINAL;
- PROCEDURE WrtCellStr(buffer:ARRAY OF WORD; length,row,column:CARDINAL; handle:HVIO) : CARDINAL;
- PROCEDURE WrtCharStr(buffer:ARRAY OF CHAR; length,row,column:CARDINAL; handle:HVIO) : CARDINAL;
- PROCEDURE ScrollDn(top,left,bottom,right,lines:CARDINAL; VAR cell:CHARCELL; handle:HVIO) : CARDINAL;
- PROCEDURE ScrollUp(top,left,bottom,right,lines:CARDINAL; VAR cell:CHARCELL; handle:HVIO) : CARDINAL;
- PROCEDURE ScrollLf(top,left,bottom,right,lines:CARDINAL; VAR cell:CHARCELL; handle:HVIO) : CARDINAL;
- PROCEDURE ScrollRt(top,left,bottom,right,lines:CARDINAL; VAR cell:CHARCELL; handle:HVIO) : CARDINAL;
- PROCEDURE WrtNAttr(VAR attrib:SHORTCARD; times,row,column:CARDINAL; handle:HVIO) : CARDINAL;
- PROCEDURE WrtNCell(VAR cell:WORD; times,row,column:CARDINAL; handle:HVIO) : CARDINAL;
- PROCEDURE WrtNChar(VAR char:CHAR; times,row,column:CARDINAL; handle:HVIO) : CARDINAL;
- PROCEDURE WrtTTY(string:ARRAY OF CHAR; length:CARDINAL; handle:HVIO) : CARDINAL;
- PROCEDURE WrtCharStrAtt(buffer:ARRAY OF CHAR; length,row,column:CARDINAL; VAR attr:SHORTCARD; handle:HVIO) : CARDINAL;
- PROCEDURE ShowBuf(offst,length:CARDINAL; handle:HVIO) : CARDINAL;
- PROCEDURE SetAnsi(indic:CARDINAL; handle:HVIO) : CARDINAL;
- PROCEDURE GetAnsi(VAR indic:CARDINAL; handle:HVIO) : CARDINAL;
- PROCEDURE PrtSc(handle:HVIO) : CARDINAL;
- PROCEDURE PrtScToggle(handle:HVIO) : CARDINAL;
- PROCEDURE SavRedrawWait(indic:CARDINAL; VAR type:CARDINAL; rsrvd:CARDINAL) : CARDINAL;
- PROCEDURE SavRedrawUndo(owner,kill:CARDINAL; rsrvd:CARDINAL) : CARDINAL;
- PROCEDURE ModeWait(type:CARDINAL; VAR notify:CARDINAL; rsrvd:CARDINAL) : CARDINAL;
- PROCEDURE ModeUndo(owner,kill:CARDINAL; rsrvd:CARDINAL) : CARDINAL;
- PROCEDURE ScrLock(wait:CARDINAL; VAR status:CARDINAL; handle:HVIO) : CARDINAL;
- PROCEDURE ScrUnLock(handle:HVIO) : CARDINAL;
- PROCEDURE PopUp(VAR flags:CARDINAL; handle:HVIO) : CARDINAL;
- PROCEDURE EndPopUp(handle:HVIO) : CARDINAL;
- PROCEDURE GetConfig(rsrvd:CARDINAL; VAR cfgdata:CONFIGINFO; handle:HVIO) : CARDINAL;
- PROCEDURE GetFont(VAR rblock:FONTINFO; handle:HVIO) : CARDINAL;
- PROCEDURE SetFont(VAR rblock:FONTINFO; handle:HVIO) : CARDINAL;
- PROCEDURE GetCp(rsrvd:CARDINAL; VAR cpid:CARDINAL; handle:HVIO) : CARDINAL;
- PROCEDURE SetCp(rsrvd:CARDINAL; cpid:CARDINAL; handle:HVIO) : CARDINAL;
- PROCEDURE GetState(rblock:FarADDRESS; handle:HVIO) : CARDINAL;
- PROCEDURE SetState(rblock:FarADDRESS; handle:HVIO) : CARDINAL;
- (**)
- (**--- PM Advanced Vio -----------------------------------------------------*)
- (**)
- (*%T i_AVIO*)
- TYPE
- HDC = LHANDLE;
- HVPS = CARDINAL;
- STR8 = ARRAY[0..7] OF CHAR;
- PROCEDURE Associate(h:HDC; ps:HVPS) : CARDINAL;
- PROCEDURE CreateLogFont(fattrs:FarADDRESS; lid:LONGINT; VAR n:STR8; ps:HVPS) : CARDINAL;
- PROCEDURE CreatePS(VAR ps:HVPS; d,w:INTEGER; f,a:CARDINAL; r:HVPS) : CARDINAL;
- PROCEDURE DestroyPS(ps:HVPS) : CARDINAL;
- PROCEDURE DeleteSetId(lid:LONGINT; ps:HVPS) : CARDINAL;
- PROCEDURE GetDeviceCellSize(VAR h,w:INTEGER; hv:HVPS) : CARDINAL;
- PROCEDURE GetOrg(VAR r,c:INTEGER; ps:HVPS) : CARDINAL;
- PROCEDURE QueryFonts(VAR n:LONGINT; fontmetrics:FarADDRESS; ml:LONGINT; VAR fn:LONGINT; name:ARRAY OF CHAR; o:LONGCARD; ps:HVPS) : CARDINAL;
- PROCEDURE QuerySetIds(VAR lid:LONGINT; VAR n:STR8; VAR t:ARRAY OF LONGINT; c:LONGINT; ps:HVPS) : CARDINAL;
- PROCEDURE SetDeviceCellSize(h,w:INTEGER; hv:HVPS) : CARDINAL;
- PROCEDURE SetOrg(r,c:INTEGER; h:HVPS) : CARDINAL;
- PROCEDURE ShowPS(d,w,o:INTEGER; h:HVPS) : CARDINAL;
- (*%E*)
- END Vio.
|