
/*
\\    SetStyle - BOOLGADGET-Demo
*/
#include "TOOL.h"
#define ANZ_G 7
#define HOEHE 238/ANZ_G
#define BREITE 15

SHORT pos[]={    0,0, BREITE,0, BREITE,HOEHE, 0,HOEHE, 0,0 }; /* Koordinaten */
struct Border border={   -1,-1, 1,0, JAM1, 5,&pos[0], NULL };      /* Border */

VOID main()
{
    struct Window *win;
    struct Gadget gad[ANZ_G];
    ULONG class;
    USHORT id;
    SHORT i,style,ende=0;

    if(OpenLib()){
        printf("Kann Lib's nicht öffnen!\n");
        exit(0);
    }
    ModifyIDCMP(win=ACTIVE_WINDOW,GADGETUP);           /* IDCMP-Flags ändern */
    for(i=0;i<ANZ_G;i++){
        GetGadget(&gad[i],win, 640-BREITE,10+i*HOEHE,BREITE,HOEHE, GADGHCOMP,
               RELVERIFY|GADGIMMEDIATE, BOOLGADGET,&border,NULL,NULL,NULL,i);
    }
    printf("\nENDE\nNormal\nFett\nSchwarz\nSchräg\nUnterstrichen\nRevers\n");
    while(ende==0){
        Wait(1<<win->UserPort->mp_SigBit);
        if((class=GetMessage(win,0,&id,0))==GADGETUP){
            if((style=(id<6) ? id-1 : id+1) < 0) ende++;
            else printf("\033[%dmAa Bb Cc\n",style);
        }
    }
    for(i=0;i<ANZ_G;i++) RemoveGadget(win,&gad[i]);     /* Gadgets streichen */
    ModifyIDCMP(win,0);                        /* IDCMP-Flag für CLI-Fenster */
    RefreshWindowFrame(win); /* Windowrahmen neuzeichnen und Gadgets löschen */
    CloseLib();
}

