home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gold Fish 1
/
GoldFishApril1994_CD1.img
/
d1xx
/
d151
/
pcopy
/
fast.c
< prev
next >
Wrap
C/C++ Source or Header
|
1987-06-15
|
8KB
|
355 lines
#include "pcopy.h"
/* A bunch of globals */
struct IntuitionBase *IntuitionBase;
struct Window *W0; /* "Now in DF0:" window */
struct Window *W1; /* "Now in DF1:" window */
struct Window *WH; /* "Copy History" window */
struct Window *WT; /* "Track-staff" window */
struct Window *WS; /* "Status/Command" window */
struct IOStdReq *IOHist; /* History uses a Console device */
struct MsgPort *MPHist; /* Port used for Console device */
struct IOAudio Sound; /* Yes, yes, a device for a change */
ULONG *CopyBuffer; /* .. */
ULONG *CompBuffer; /* compare buffer */
DrInfo *D0, *D1; /* two drive descriptors */
short EnAuto; /* flag to prevent copy after copy after.. */
short NowCopy=1; /* flag, shows which gadgets are displayed */
char *Hist; /* pointer to one big (1k) char array */
char *DriveName[NDRIVES]; /* array with names of selected drives */
ULONG DriveNr[NDRIVES]; /* array with #'s of selected drives */
/*************************************************************************/
/*** ***/
/*** - SELECT DRIVES - Window & Gear definitions. ***/
/*** ***/
/*************************************************************************/
/*** - SELECT DRIVES - Border around gadgets ***/
SHORT XYBox[]={
0,0,
0,GHEIGHT+1,
1,GHEIGHT+1,
1,0,
GWIDTH+3,0,
GWIDTH+3,GHEIGHT+1,
GWIDTH+2,0,
GWIDTH+2,GHEIGHT+1,
0,GHEIGHT+1
};
struct Border BDBox={ -2,-1,1,0,JAM1,9,XYBox,0 };
/*** - SELECT DRIVES - Gadget and text DF0: ***/
struct IntuiText ITDF0={ 1,0,JAM1,7,2,0,"DF0:",0 };
struct Gadget GDF0={
0,
0*(GWIDTH+GHSPACE)+GLDIST,GTDIST,GWIDTH,GHEIGHT,
GADGHCOMP,
TOGGLESELECT,
BOOLGADGET,
(APTR)&BDBox,
0,
&ITDF0,
0,0,0,0
};
/*** - SELECT DRIVES - Gadget and text DF1: ***/
struct IntuiText ITDF1={ 1,0,JAM2,7,2,0,"DF1:",0 };
struct Gadget GDF1={
&GDF0,
1*(GWIDTH+GHSPACE)+GLDIST,GTDIST,GWIDTH,GHEIGHT,
GADGHCOMP,
TOGGLESELECT,
BOOLGADGET,
(APTR)&BDBox,
0,
&ITDF1,
0,0,0,0
};
/*** - SELECT DRIVES - Gadget and text DF2: ***/
struct IntuiText ITDF2={ 1,0,JAM2,7,2,0,"DF2:",0 };
struct Gadget GDF2={
&GDF1,
2*(GWIDTH+GHSPACE)+GLDIST,GTDIST,GWIDTH,GHEIGHT,
GADGHCOMP,
TOGGLESELECT,
BOOLGADGET,
(APTR)&BDBox,
0,
&ITDF2,
0,0,0,0
};
/*** - SELECT DRIVES - Gadget and text DF3: ***/
struct IntuiText ITDF3={ 1,0,JAM2,7,2,0,"DF3:",0 };
struct Gadget GDF3={
&GDF2,
3*(GWIDTH+GHSPACE)+GLDIST,GTDIST,GWIDTH,GHEIGHT,
GADGHCOMP,
TOGGLESELECT,
BOOLGADGET,
(APTR)&BDBox,
0,
&ITDF3,
0,0,0,0
};
/*** - SELECT DRIVES - Gadget and text "DONE" ***/
struct IntuiText ITDONE={ 1,0,JAM2,6,2,0,"DONE",0 };
struct Gadget GDONE={
&GDF3,
4*(GWIDTH+GHSPACE)+GHSPACE+GLDIST,GTDIST,GWIDTH,GHEIGHT,
GADGHNONE,
TOGGLESELECT,
BOOLGADGET,
(APTR)&BDBox,
0,
&ITDONE,
0,0,0,0
};
/*** - SELECT DRIVES - Window ***/
struct NewWindow NwR={
#define NWRWIDTH (5*GWIDTH+5*GHSPACE+2*GLDIST)
640/2-NWRWIDTH/2,64,
NWRWIDTH,GTDIST+GHEIGHT+5,
0,1,
0,
WINDOWDRAG | SMART_REFRESH | ACTIVATE | NOCAREREFRESH ,
&GDONE,
0,
" Pcopy uses two drives. Which two? ",
0,0,0,0,0,0,
WBENCHSCREEN
};
/*** - SELECT DRIVES - Gadgets indexed available ***/
struct Gadget *GList[]={ &GDF0,&GDF1,&GDF2,&GDF3 };
/*************************************************************************/
/*** ***/
/*** - COPY INTERFACE - Windows & Gear definitions ***/
/*** ***/
/*************************************************************************/
/*** - COPY INTERFACE - Track mark Window and staff IM's ***/
char TxT[]=" . : . | . : . ";
struct IntuiText ITT={ 0,1,1,0,0,0,TxT,0 };
struct Image IMTTTL={ 0,0,332, 1,0,0,0,1,0 };
struct Image IMTmOn={ 6,0, 4,6,0,0,0,3,0 };
struct Image IMTmOf={ 6,0,320,6,0,0,0,0,0 };
struct NewWindow NwT={
LTM,TTM,
WTM,HTM,
0,1,
0,
WINDOWDRAG | WINDOWDEPTH | SMART_REFRESH,
0,
0,
TxT,
0,0,0,0,0,0,
WBENCHSCREEN
};
/*** - COPY INTERFACE - "Now in" windows ***/
char Tx1[]=" Now in ";
struct IntuiText IT1={ 0,1,1,0,0,0,Tx1,0 };
struct NewWindow Nw1={
LD1,TD1,
WD1,HD1,
0,1,
0,
WINDOWDRAG | WINDOWDEPTH | SMART_REFRESH,
0,
0,
Tx1,
0,0,0,0,0,0,
WBENCHSCREEN
};
char Tx0[]=" Now in ";
struct IntuiText IT0={ 0,1,1,0,0,0,Tx0,0 };
struct NewWindow Nw0={
LD0,TD0,
WD0,HD0,
0,1,
0,
WINDOWDRAG | WINDOWDEPTH | SMART_REFRESH,
0,
0,
Tx0,
0,0,0,0,0,0,
WBENCHSCREEN
};
/*** - COPY INTERFACE - History Window ***/
char TxH[]=" Copy History ";
struct IntuiText ITH={ 0,1,1,0,0,0,TxH,0 };
struct NewWindow NwH={
LHS,THS,
WHS,HHS,
0,1,
0,
WINDOWDRAG | WINDOWDEPTH | SMART_REFRESH | WINDOWSIZING,
0,
0,
TxH,
0,0,
WHS,21,
WHS,256,
WBENCHSCREEN
};
/***/
/*** - COPY INTERFACE - Control Window and its Gadgets ***/
/***/
/*** - C.I. CONTROL - Some general images and texts ***/
struct Image IMOFF={ 0,0,48,11,1, OFFData,1,0,0 };
struct Image IMON={ 0,0,48,11,1, ONData,3,0,0 };
struct IntuiText ITCCon={ 1,0,JAM2,0,0,0,"Auto Start Condition:",0 };
struct Image IMBlnk={ 0,0,176,38,0,0,0,0,0 };
struct Image IMEcla={ 0,0,32,24,2,EclaData,3,0,0 };
struct Image IMEcOf={ 0,0, 32,24,0,0,0,0,0 };
/*** - C.I. CONTROL - Source/Destination Gadget ***/
struct IntuiText ITDr1={ DESTCOLOR,0,JAM2, 56,2,0,0, 0 };
struct IntuiText ITDr0={ 1,0,JAM2,-40,2,0,0,&ITDr1 };
/* flags which is in color (.FrontPen) and which in black */
UBYTE PenA=1;
UBYTE PenB=3;
struct Image IMARR={ 0,0,48,11,1,ARRData,1,0,0 };
struct Image IMARL={ 0,0,48,11,1,ARLData,1,0,0 };
APTR ArrowA=(APTR)&IMARR;
APTR ArrowB=(APTR)&IMARL;
struct Gadget GD0D1={
0,
104,2*GGH,48,11,
GADGIMAGE | GADGHIMAGE,
TOGGLESELECT,
BOOLGADGET,
(APTR)&IMARR,
(APTR)&IMARL,
&ITDr0,
0,0,0,0
};
/*** - C.I. CONTROL - Manual start copy gadget ***/
SHORT XYCopy[]={ 0,0,0,23,1,23,1,0,46,0,46,23,0,23,47,23,47,0};
struct Border BDCopy={ -2,-1,1,0,JAM1,9,XYCopy,0 };
struct IntuiText ITCopy={ 1,0,JAM2,-88,6,0,"Start Copy",0 };
struct Gadget GCopy={
&GD0D1,
104+2,4*GGH+7,44,22,
GADGHCOMP ,
TOGGLESELECT,
BOOLGADGET,
(APTR)&BDCopy,
0,
&ITCopy,
0,0,0,0
};
/*** - C.I. CONTROL - Auto/Manual start switch gadget ***/
struct IntuiText ITAuto={ 1,0,JAM2,-88,2,0,"Auto Start",0 };
struct Gadget GAuto={
&GCopy,
104,3*GGH,48,11,
GADGIMAGE | GADGHIMAGE,
TOGGLESELECT,
BOOLGADGET,
(APTR)&IMOFF,
(APTR)&IMON,
&ITAuto,
0,0,0,0
};
/*** - C.I. CONTROL - Verify switch gadget ***/
struct IntuiText ITVerf={ 1,0,JAM2,-88,2,0," Verify",0 };
struct Gadget GVerf={
&GAuto,
104,1*GGH,48,11,
GADGIMAGE | GADGHIMAGE | SELECTED ,
TOGGLESELECT,
BOOLGADGET,
(APTR)&IMOFF,
(APTR)&IMON,
&ITVerf,
0,0,0,0
};
/*** - C.I. CONTROL - "Non DOS" switch gadget ***/
struct IntuiText ITNDOS={ 1,0,JAM2,-88,2,0," Non DOS",0 };
struct Gadget GNDOS={
0,
104,5*GGH,48,11,
GADGIMAGE | GADGHIMAGE | SELECTED ,
TOGGLESELECT,
BOOLGADGET,
(APTR)&IMOFF,
(APTR)&IMON,
&ITNDOS,
0,0,0,0
};
/*** - C.I. CONTROL - "Unreadable" switch gadget ***/
struct IntuiText ITUnRd={ 1,0,JAM2,-88,2,0,"Unreadable",0 };
struct Gadget GUnRd={
0,
104,6*GGH,48,11,
GADGIMAGE | GADGHIMAGE | SELECTED ,
TOGGLESELECT,
BOOLGADGET,
(APTR)&IMOFF,
(APTR)&IMON,
&ITUnRd,
0,0,0,0
};
/*** - C.I. CONTROL - Control Window ***/
struct NewWindow NwS={
LST,TST,
WST,HST,
0,1,
CLOSEWINDOW,
WINDOWDRAG | WINDOWDEPTH | SMART_REFRESH | WINDOWCLOSE | ACTIVATE,
&GVerf,
0,
" Pcopy 1.0 ",
0,0,
0,0,0,0,
WBENCHSCREEN
};