/* -------------------------------------------------------------- */ /* -- ImageDemo.c -- */ /* -------------------------------------------------------------- */ /* -- Author : Roger Fischlin -- */ /* -- Copyright : Public Domain -- */ /* -- Compiler : SAS-C V5.10a, "LC -L+Fish.o ImageDemo" -- */ /* -------------------------------------------------------------- */ /* image size (taken from SAVE Requester) */ #define WIDTH 132 #define HEIGHT 57 /* includes */ #include #include #include /* -------------------- vars -------------------------- */ struct Library *IntuitionBase; struct Window *WD; struct NewWindow NW = { 20,20,WIDTH+40,HEIGHT+20,-1,-1, CLOSEWINDOW|NEWSIZE, WINDOWSIZING|WINDOWDRAG|WINDOWDEPTH|WINDOWCLOSE|SMART_REFRESH|ACTIVATE, NULL,NULL,"Fenster 3-Image-Demo", NULL,NULL,WIDTH+40,HEIGHT+20,-1,-1,WBENCHSCREEN }; extern UWORD far ImageData[]; /* label '_ImageData' */ struct Image Bild = { 0,0,WIDTH,HEIGHT,2, NULL,3,0,NULL /* pointer will be installed later */ }; struct IntuiMessage *Msg; ULONG Class; /* -------------------- main -------------------------- */ void main (void) { Bild.ImageData=ImageData; /* set pointer */ /* open library */ if (IntuitionBase=OpenLibrary("intuition.library",33)) { /* open window */ if (WD=OpenWindow(&NW)) { /* draw image */ DrawImage(WD->RPort,&Bild,WD->BorderLeft+6,WD->BorderTop+2); do { /* wait for message */ (void)WaitPort(WD->UserPort); if (Msg=(struct IntuiMessage *)GetMsg(WD->UserPort)) { /* re-draw ? */ if ((Class=Msg->Class)==NEWSIZE) DrawImage(WD->RPort,&Bild,WD->BorderLeft+6,WD->BorderTop+2); ReplyMsg((struct Message *)Msg); } else Class=0; } while (Class!=CLOSEWINDOW); /* until user selects CLOSE gadget */ CloseWindow(WD); } else puts("cant open window !"); CloseLibrary(IntuitionBase); } else puts("cant open 'intuition.library' V33 !"); }