home *** CD-ROM | disk | FTP | other *** search
- /*------------------------------------------------------*/
- /* PRNACC.C */
- /* Desktop Accessory zur Druckereinstellung f. Atari ST */
- /* (C) 1988 M.Fink & TOOLBOX */
-
- #include "obdefs.h"
- #include "gemdefs.h"
- #include "define.h"
- #include "gembind.h"
-
- #define RCSNAME "PRNACC.RSC" /* Name des RCS-Files */
-
- #define UNAN 27 /* hier kommen die */
- #define UNAUS 28 /* defines die Ihnen */
- #define USA 30 /* das RCS liefert */
- #define BRD 31
- #define EXIT 33
- #define RES 32
- #define JAP 34
- #define TREE 0
- #define ITAUS 13
- #define ITAN 12
- #define ELAN 15
- #define ELAUS 16
- #define DAN 18
- #define DAUS 19
- #define FAN 21
- #define FAUS 22
- #define UAUS 25
- #define UAN 24
-
- #define ESC 27 /* Escape */
- #define ITALICEIN 52 /* Italic ein */
- #define ITALICAUS 53 /* Italic aus */
- #define ELITEEIN 77 /* Elite ein */
- #define ELITEAUS 80 /* Elite aus */
- #define DOPPELAN 71 /* Doppeldruck an */
- #define DOPPELAUS 72 /* Doppeldruck aus */
- #define FETTAN 69 /* Fettdruck an */
- #define FETTAUS 70 /* Fettdruck aus */
- #define UNTERSTRICH 45 /* Unterstreichung */
- #define UNIDIREKTIONAL 85 /* Unidirektional */
- #define ZEICHENSATZ 82 /* Zeichensatz ausw */
- #define RESET 64 /* Normieren */
- #define RET 13 /* Return */
-
- #define SELECTED 0x0001 /* Button angelickt */
- #define NORMAL 0x0000 /* Button normal */
- #define DEEP 32 /* Anzahl Objekte */
-
-
- int contrl[12], /* Ab hier kommen die */
- intin[128], /* Variablen. Alle */
- ptsin[128], /* global definiert, */
- intout[128], /* damit man nicht so */
- ptsout[128], /* so viele Parameter */
- work_in[11], /* uebergeben muss */
- work_out[57],
- msgbuf[8], /* Welches Ereigniss ? */
- handle, /* virtual handle */
- phys_handle, /* physical handle */
- me_rmenuid, /* ACC Kennung */
- gr_hwchar, gr_hhchar, /* Hoehe,Breite Zeichen */
- gr_hwbox, gr_hhbox,
- xwork,ywork,wwork,hwork,
- xobj,yobj,wobj,hobj, /* Objektgroesse */
- mausx,mausy, /* Mauskoordinaten */
- ev_breturn,
- ob_ofreturn, /* Objekt */
- ende, /* Ende ??! */
- dummy; /* ueberfluessiger Param*/
-
- extern gl_apid; /* Applicationskennung */
- extern long gemdos(); /* GEMDOS - Call */
- long ob_ctree; /* Adr. des Objektes */
-
-
- main()
- {
- appl_init(); /* Application Init */
- phys_handle=graf_handle(&gr_hhchar,&gr_hwchar,&gr_hwbox,
- &gr_hhbox);
- me_rmenuid=menu_register(gl_apid," Printer");
- if(!rsrc_load(RCSNAME)) /* Resource laden */
- form_alert(1,
- "[1][Ich kann das|File RX_80.RCS|nicht finden.][Abbruch]");
- /* Resource kaputt oder */
- if(rsrc_gaddr(0,0,&ob_ctree)==0) /* nicht da ?? */
- form_alert(1,
- "[1][Das File|RX_80.RCS|ist defekt.][Abbruch]");
- rsrc_gaddr(R_TREE,TREE,&ob_ctree); /* Adresse Resource */
- infinite();
- }
-
-
- infinite() /* Hier beginnt das */
- { /* das eigentliche */
- while (TRUE) /* Programm */
- { /* ACC aufgerufen ? */
- ev_breturn=evnt_multi(MU_MESAG | MU_BUTTON | MU_KEYBD,
- 1,1,1,0,0,0,0,0,0,0,0,0,0,
- msgbuf,0,0,&mausx,&mausy,&dummy,&dummy,&dummy,&dummy);
- if(ev_breturn & MU_MESAG) /* ACC wurde aufgerufen */
- switch(msgbuf[0])
- {
- case AC_OPEN:
- if(msgbuf[4]==me_rmenuid)
- openwork(); /* Fenster oeffnen */
- output();
- closework(); /* Fenster schliessen */
- break;
- }
- }
- }
-
-
- openwork()
- {
- form_center(ob_ctree,&xobj,&yobj,&wobj,&hobj);
- form_dial(0,320,100,10,10,xobj,yobj,wobj,hobj);
- form_dial(1,320,100,10,10,xobj,yobj,wobj,hobj);
- objc_draw(ob_ctree,0,DEEP,xobj,yobj,wobj,hobj);
- }
-
-
- closework()
- {
- form_dial(2,xobj,yobj,wobj,hobj);
- form_dial(3,xobj,yobj,wobj,hobj);
- }
-
-
- output()
- {
- ende=FALSE;
- while(ende!=TRUE) /* Welcher Button ? */
- {
- ob_ofreturn=form_do(ob_ctree,0);
- switch(ob_ofreturn)
- {
- case UNAN:
- objc_change(ob_ctree,UNAN,0,xwork,ywork,wwork,
- hwork,SELECTED,1);
- objc_change(ob_ctree,UNAUS,0,xwork,ywork,wwork,
- hwork,NORMAL,1);
- gemdos(0x5,ESC); gemdos(0x5,UNIDIREKTIONAL);
- gemdos(0x5,1);
- break;
-
- case UNAUS:
- objc_change(ob_ctree,UNAUS,0,xwork,ywork,wwork,
- hwork,SELECTED,1);
- objc_change(ob_ctree,UNAN,0,xwork,ywork,wwork,
- hwork,NORMAL,1);
- gemdos(0x5,ESC); gemdos(0x5,UNIDIREKTIONAL);
- gemdos(0x5,0);
- break;
-
- case ITAN:
- objc_change(ob_ctree,ITAN,0,xwork,ywork,wwork,
- hwork,SELECTED,1);
- objc_change(ob_ctree,ITAUS,0,xwork,ywork,wwork,
- hwork,NORMAL,1);
- gemdos(0x5,ESC); gemdos(0x5,ITALICEIN);
- break;
-
- case ITAUS:
- objc_change(ob_ctree,ITAUS,0,xwork,ywork,wwork,
- hwork,SELECTED,1);
- objc_change(ob_ctree,ITAN,0,xwork,ywork,wwork,
- hwork,NORMAL,1);
- gemdos(0x5,ESC); gemdos(0x5,ITALICAUS);
- break;
-
- case ELAN:
- objc_change(ob_ctree,ELAN,0,xwork,ywork,wwork,
- hwork,SELECTED,1);
- objc_change(ob_ctree,ELAUS,0,xwork,ywork,
- wwork,hwork,NORMAL,1);
- gemdos(0x5,ESC); gemdos(0x5,ELITEEIN);
- break;
-
- case ELAUS:
- objc_change(ob_ctree,ELAUS,0,xwork,ywork,wwork,
- hwork,SELECTED,1);
- objc_change(ob_ctree,ELAN,0,xwork,ywork,wwork,
- hwork,NORMAL,1);
- gemdos(0x5,ESC); gemdos(0x5,ELITEAUS);
- break;
-
- case DAN:
- objc_change(ob_ctree,DAN,0,xwork,ywork,wwork,
- hwork,SELECTED,1);
- objc_change(ob_ctree,DAUS,0,xwork,ywork,wwork,
- hwork,NORMAL,1);
- gemdos(0x5,ESC); gemdos(0x5,DOPPELAN);
- break;
-
- case DAUS:
- objc_change(ob_ctree,DAUS,0,xwork,ywork,wwork,
- hwork,SELECTED,1);
- objc_change(ob_ctree,DAN,0,xwork,ywork,wwork,
- hwork,NORMAL,1);
- gemdos(0x5,ESC); gemdos(0x5,DOPPELAUS);
- break;
-
- case FAUS:
- objc_change(ob_ctree,FAUS,0,xwork,ywork,wwork,
- hwork,SELECTED,1);
- objc_change(ob_ctree,FAN,0,xwork,ywork,wwork,
- hwork,NORMAL,1);
- gemdos(0x5,ESC); gemdos(0x5,FETTAUS);
- break;
-
- case FAN:
- objc_change(ob_ctree,FAN,0,xwork,ywork,wwork,
- hwork,SELECTED,1);
- objc_change(ob_ctree,FAUS,0,xwork,ywork,wwork,
- hwork,NORMAL,1);
- gemdos(0x5,ESC); gemdos(0x5,FETTAN);
- break;
-
- case UAUS:
- objc_change(ob_ctree,UAUS,0,xwork,ywork,wwork,
- hwork,SELECTED,1);
- objc_change(ob_ctree,UAN,0,xwork,ywork,wwork,
- hwork,NORMAL,1);
- gemdos(0x5,ESC); gemdos(0x5,UNTERSTRICH);
- gemdos(0x5,1);
- break;
-
- case UAN:
- objc_change(ob_ctree,UAN,0,xwork,ywork,wwork,
- hwork,SELECTED,1);
- objc_change(ob_ctree,UAUS,0,xwork,ywork,wwork,
- hwork,NORMAL,1);
- gemdos(0x5,ESC); gemdos(0x5,UNTERSTRICH);
- gemdos(0x5,0);
- break;
-
- case USA:
- objc_change(ob_ctree,USA,0,xwork,ywork,wwork,
- hwork,SELECTED,1);
- objc_change(ob_ctree,BRD,0,xwork,ywork,wwork,
- hwork,NORMAL,1);
- objc_change(ob_ctree,JAP,0,xwork,ywork,wwork,
- hwork,NORMAL,1);
- gemdos(0x5,ESC); gemdos(0x5,ZEICHENSATZ);
- gemdos(0x5,0);
- break;
-
- case BRD:
- objc_change(ob_ctree,BRD,0,xwork,ywork,wwork,
- hwork,SELECTED,1);
- objc_change(ob_ctree,USA,0,xwork,ywork,wwork,
- hwork,NORMAL,1);
- objc_change(ob_ctree,JAP,0,xwork,ywork,wwork,
- hwork,NORMAL,1);
- gemdos(0x5,ESC); gemdos(0x5,ZEICHENSATZ);
- gemdos(0x5,2);
- break;
-
- case JAP:
- objc_change(ob_ctree,JAP,0,xwork,ywork,wwork,
- hwork,SELECTED,1);
- objc_change(ob_ctree,USA,0,xwork,ywork,wwork,
- hwork,NORMAL,1);
- objc_change(ob_ctree,BRD,0,xwork,ywork,wwork,
- hwork,NORMAL,1);
- gemdos(0x5,ESC); gemdos(0x5,ZEICHENSATZ);
- gemdos(0x5,8);
- break;
-
- case RES:
- objc_change(ob_ctree,RES,0,xwork,ywork,wwork,
- hwork,SELECTED,1);
- gemdos(0x5,ESC); gemdos(0x5,RESET);
- objc_change(ob_ctree,RES,0,xwork,ywork,wwork,
- hwork,NORMAL,1);
- objc_change(ob_ctree,UNAUS,0,xwork,ywork,wwork,
- hwork,SELECTED,1);
- objc_change(ob_ctree,UNAN,0,xwork,ywork,wwork,
- hwork,NORMAL,1);
- objc_change(ob_ctree,ITAUS,0,xwork,ywork,wwork,
- hwork,SELECTED,1);
- objc_change(ob_ctree,ITAN,0,xwork,ywork,wwork,
- hwork,NORMAL,1);
- objc_change(ob_ctree,ELAUS,0,xwork,ywork,wwork,
- hwork,SELECTED,1);
- objc_change(ob_ctree,ELAN,0,xwork,ywork,wwork,
- hwork,NORMAL,1);
- objc_change(ob_ctree,DAUS,0,xwork,ywork,wwork,
- hwork,SELECTED,1);
- objc_change(ob_ctree,DAN,0,xwork,ywork,wwork,
- hwork,NORMAL,1);
- objc_change(ob_ctree,FAUS,0,xwork,ywork,wwork,
- hwork,SELECTED,1);
- objc_change(ob_ctree,FAN,0,xwork,ywork,wwork,
- hwork,NORMAL,1);
- objc_change(ob_ctree,UAUS,0,xwork,ywork,wwork,
- hwork,SELECTED,1);
- objc_change(ob_ctree,UAN,0,xwork,ywork,wwork,
- hwork,NORMAL,1);
- objc_change(ob_ctree,BRD,0,xwork,ywork,wwork,
- hwork,SELECTED,1);
- objc_change(ob_ctree,USA,0,xwork,ywork,wwork,
- hwork,NORMAL,1);
- objc_change(ob_ctree,JAP,0,xwork,ywork,wwork,
- hwork,NORMAL,1);
- break;
-
- case EXIT:
- objc_change(ob_ctree,EXIT,0,xwork,ywork,wwork,
- hwork,SELECTED,1);
- gemdos(0x5,RET);
- form_dial(2,320,100,10,10,xobj,yobj,wobj,hobj);
- form_dial(3,320,100,10,10,xobj,yobj,wobj,hobj);
- ende=TRUE;
- objc_change(ob_ctree,EXIT,0,xwork,ywork,wwork,
- hwork,NORMAL,1);
- break;
- }
- }
- }
-
-
-
-