4 struct WordsInfo winfo
;
7 long __OSlibversion
= 37;
9 struct Library
* AslBase
;
10 struct GfxBase
* GfxBase
;
11 struct Library
* IconBase
;
12 struct IntuitionBase
* IntuitionBase
;
13 struct UtilityBase
* UtilityBase
;
14 struct Library
* GadToolsBase
;
18 AslBase
= OpenLibrary("asl.library",0);
19 GfxBase
= (struct GfxBase
*)OpenLibrary("graphics.library",0);
20 IconBase
= OpenLibrary("icon.library",0);
21 IntuitionBase
= (struct IntuitionBase
*)OpenLibrary("intuition.library",0);
22 UtilityBase
= (struct UtilityBase
*)OpenLibrary("utility.library",0);
23 GadToolsBase
= OpenLibrary("gadtools.library",0);
25 if (!AslBase
|| !GfxBase
|| !IconBase
|| !IntuitionBase
|| !UtilityBase
|| !GadToolsBase
)
32 if (AslBase
) CloseLibrary(AslBase
);
33 if (GfxBase
) CloseLibrary((struct Library
*)GfxBase
);
34 if (IconBase
) CloseLibrary(IconBase
);
35 if (IntuitionBase
) CloseLibrary((struct Library
*)IntuitionBase
);
36 if (UtilityBase
) CloseLibrary((struct Library
*)UtilityBase
);
37 if (GadToolsBase
) CloseLibrary(GadToolsBase
);
41 /* ------------------------------------------------------------------- */
42 /* for cback.o startup */
43 /* ------------------------------------------------------------------- */
46 char *__procname
= "*Lyr-O-Mat V1.1*";
48 long __BackGroundIO
= 0;
49 extern BPTR _Backstdout
;
51 /* ----------------------------------------------------------------- */
54 int main(int argc
, char **argv
)
63 if(!OpenProject0Window())
65 NewList(&winfo
.pattern
);
66 NewList(&winfo
.class);
74 strcpy(winfo
.outfilename
,OUTFILENAME
);
75 strcpy(winfo
.d_dir
,"s:");
76 strcpy(winfo
.d_name
,"Lyr-O-Mat_config.wds");
77 loadAll(MODE_LOADCONFIG
,"Loading configfile...");
79 winfo
.outfile
= fopen(winfo
.outfilename
,"w");
80 strcpy(winfo
.l_dir
,"");
81 strcpy(winfo
.l_name
,"unnamed.wds");
82 strcpy(winfo
.s_dir
,"");
83 strcpy(winfo
.s_name
,"unnamed.wds");
84 strcpy(winfo
.d_dir
,"");
85 strcpy(winfo
.d_name
,"unnamed.wds");
88 WaitPort(Project0Wnd
->UserPort
);
89 end
= !HandleProject0IDCMP();
91 if(winfo
.outfile
) fclose(winfo
.outfile
);
92 if(winfo
.printfile
)fclose(winfo
.printfile
);
94 CloseProject0Window();
103 void LoadApp(int argc
,char **argv
)
105 struct DiskObject
*dobj
;
110 struct WBStartup
*msg
= (struct WBStartup
*)argv
;
113 if(msg
->sm_NumArgs
> 1)
115 for(i
= 1; i
< msg
->sm_NumArgs
;i
++)
117 NameFromLock(msg
->sm_ArgList
[i
].wa_Lock
,winfo
.d_dir
,256);
118 strcpy(winfo
.d_name
,msg
->sm_ArgList
[i
].wa_Name
);
119 loadAll(MODE_LOADCONFIG
,"Loading Application...");
123 if((dobj
= GetDiskObject(msg
->sm_ArgList
->wa_Name
)))
129 if((tool
= FindToolType(dobj
->do_ToolTypes
,"LEFTEDGE")))left
= atol(tool
);
130 if((tool
= FindToolType(dobj
->do_ToolTypes
,"TOPEDGE"))) top
= atol(tool
);
131 if((tool
= FindToolType(dobj
->do_ToolTypes
,"WIDTH"))) width
= atol(tool
);
132 if((tool
= FindToolType(dobj
->do_ToolTypes
,"HEIGHT"))) height
= atol(tool
);
133 left
= (left
< 0) ? 0 : (left
> Scr
->Width
) ? Scr
->Width
: left
;
134 top
= (top
< 0) ? 0 : (top
> Scr
->Height
) ? Scr
->Height
: top
;
135 width
= (width
> (Scr
->Width
- left
)) ? Scr
->Width
- left
: width
;
136 height
= (height
> (Scr
->Height
- top
)) ? Scr
->Height
- top
: height
;
137 sprintf(winfo
.outfilename
,"con:%ld/%ld/%ld/%ld/" LYR_NAME
"/INACTIVE",left
,top
,width
,height
);