home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
GEMini Atari
/
GEMini_Atari_CD-ROM_Walnut_Creek_December_1993.iso
/
files
/
archiver
/
uucosr10
/
uucoder.c
< prev
next >
Wrap
C/C++ Source or Header
|
1991-05-31
|
3KB
|
128 lines
/*
* UUCODER
* A GEM-based program to uuencode and uudecode files, i.e.,
* transform binary files into mailable ASCII text and vice versa.
* This program was constructed by gutting Dumas' UUE and UUD
* to obtain the encoding routines, and constructing a GEM
* interface. It expects that you'll compile it with Sozobon C
* and GEMFAST; anything else may require some alterations.
*
* This program is hereby placed in the public domain.
*
* -- Steve Yelvington <steve@thelake.mn.org> GEnie: S.YELVINGTO2
*
*/
#include <stdio.h>
#include <obdefs.h>
#include <gemdefs.h>
#include <osbind.h>
#include <macros.h>
#include "uucoder.h"
#define RESOURCE_FILE "UUCODER.RSC"
OBJECT *menubar;
/*
* Function: g_clrscr()
* Returns: void
* Description: Instructs GEM to redraw the Desktop workspace
*/
void g_clrscr()
{
int x,y,w,h;
wind_get(0,WF_FULLXYWH,&x,&y,&w,&h);
form_dial(FMD_START,1,1,1,1,x,y,w,h);
form_dial(FMD_FINISH,1,1,1,1,x,y,w,h);
}
/*
* Function: show_about()
* Returns: void
* Description: Shows the ABOUTBOX until timeout or mouse click
*/
void show_about()
{
OBJECT *aboutbox;
int x,y,w,h,junk;
static long delay;
delay = 10*1000L;
rsrc_gaddr(R_TREE,ABOUTBOX, &aboutbox);
form_center(aboutbox, &x, &y, &w, &h);
form_dial(FMD_START,1,1,1,1,x,y,w,h);
form_dial(FMD_GROW,1,1,1,1,x,y,w,h);
objc_draw(aboutbox, 0, 10, x, y, w, h);
/* Thanks to ramaer@cs.utwente.nl (Mark Ramaer) */
evnt_multi(MU_TIMER|MU_KEYBD|MU_BUTTON,
1, 1, 1,
0,0,0,0,0,
0,0,0,0,0,
&junk,
loword(delay),hiword(delay),
&junk,&junk,
&junk,&junk,
&junk,
&junk);
form_dial(FMD_SHRINK,1,1,1,1,x,y,w,h);
form_dial(FMD_FINISH,1,1,1,1,x,y,w,h);
}
/*
* function: main
* returns: 0
* description: Loads resource file, initializes GEM, calls
* external main_event().
*/
main()
{
char *p; int i;
void g_clrscr(), show_about();
appl_init();
i = rsrc_load(RESOURCE_FILE);
if (!i) /* try searching the path */
{
if (p=pfindfile(RESOURCE_FILE))
i = rsrc_load(p);
}
if (!i) /* still no luck; bail out */
{
form_alert(1,"[1][Unable to load|resource file!][EXIT]");
appl_exit();
exit(-1);
}
graf_mouse(ARROW,NULL);
g_clrscr();
rsrc_gaddr(0,MENUBAR, &menubar);
menu_bar(menubar,TRUE);
show_about();
main_event();
menu_bar(menubar,FALSE);
g_clrscr();
rsrc_free();
appl_exit();
return 0;
}
/*
* function: quit
* returns: 0
* description: quick exit in case of panic ... closes down GEM and exits.
*/
quit()
{
menu_bar(menubar,FALSE);
g_clrscr();
appl_exit();
exit(0);
}