|
|
DataMuseum.dkPresents historical artifacts from the history of: RegneCentralen RC759 "Piccoline" |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RegneCentralen RC759 "Piccoline" Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 2250 (0x8ca)
Types: TextFile
Names: »VDI_EKS.BAK«
└─⟦b301b5c1d⟧ Bits:30003931/GEM_Develop_disk_2_CDOS.imd Disketter indleveret af Steffen Jensen (Piccolo/Piccoline)
└─⟦this⟧ »VDI_EKS.BAK«
PROGRAM vdi_eks;
(* Eksempel paa brug af GEMVDI *)
(* Steffen Bering Jensen - Juni 1988 *)
(*$I gempcon.i *)
(*$I gemptype.i *)
(*$I gempvar.i *)
(*$I vdibnd.pas *)
VAR
state,oldstate,
retur,handler,ox2,oy2,
bx1,bx2,by1,by2,v : INTEGER ;
intptsout : array_57;
vch : CHAR ;
PROCEDURE box(handler,x1,y1,x2,y2,inter,style:INTEGER);
VAR
dum : INTEGER ;
xy : array_4 ;
BEGIN
dum:=vsf_interior(handler,inter); (* SET INTERIOR FILL STYLE *)
dum:=vsf_style(handler,style); (* SET FILL STYLE *)
xy(.0.):=x1 ; xy(.1.):=y1 ;
xy(.2.):=x2 ; xy(.3.):=y2 ;
dum:=v_rfbox(handler,xy); (* FILLED ROUNDED RECTANGLE *)
dum:=v_updwk(handler); (* UPDATE WORKSTATION *)
END;
BEGIN
intin(.0.):=1 ; (* refers to device number in assign.sys *)
(* intin(.0..9.) are default values for
attributes *)
intin(.10.):=2 ; (* System of coordinates 0=NDC 2=RC *)
retur:=v_opnwk(intin,handler,intptsout); (* OPEN WORKSTATION *)
(* The variable handler is an ID for the device. If handler
equals 0 the device has not been opened. *)
IF handler<>0 THEN
BEGIN
retur:=v_show_c(handler,0); ; (* SHOW GRAPHICS CURSOR *)
retur:=vq_mouse(handler,oldstate,bx1,by1);
REPEAT
retur:=vq_mouse(handler,state,bx1,by1);
UNTIL state<>oldstate;
retur:=vq_mouse(handler,state,bx2,by2);
ox2:=bx2 ; oy2:=by2 ;
box(handler,bx1,by1,bx2,by2,0,0);
REPEAT
retur:=vq_mouse(handler,state,bx2,by2);
IF (bx2<>ox2) OR (by2<>oy2) THEN
BEGIN
retur:=vswr_mode(handler,3);
box(handler,bx1,by1,ox2,oy2,0,0);
retur:=vswr_mode(handler,1);
ox2:=bx2 ; oy2:=by2 ;
box(handler,bx,by1,ox2,oy2,0,0);
END;
UNTIL state<>oldstate;
box(handler,bx1,by1,bx2,by2,2,16);
FOR v:=1 TO 32000 DO
BEGIN END;
REPEAT
retur:=vq_mouse(handler,state,bx2,by2);
UNTIL state<>oldstate;
retur:=v_clswk(handler) ;
END;
END.