home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Frozen Fish 1: Amiga
/
FrozenFish-Apr94.iso
/
bbs
/
alib
/
d6xx
/
d630
/
fenster.lha
/
Fenster
/
Objectfiles
/
ScreenImageDemo.p
< prev
next >
Wrap
Text File
|
1992-03-22
|
2KB
|
69 lines
Program Fenster3_ImageDemo;
{ ------------------------------------------------------------
-- Fenster3-ImageDemo --
------------------------------------------------------------
-- Autor : Roger Fischlin --
-- Datum : 2. März 1992 --
-- Compiler : KickPascal V2.10 (c) Maxon Computer --
-- Rechte : Public Domain --
-- --------------------------------------------------------- }
{$incl"intuition.lib","graphics.lib" }
CONST HÖHE = 40; { Werte aus dem SPEICHERN-Requester von 'Fenster 3' }
BREITE = 129;
VAR Ende : BOOLEAN; { Programm beenden }
Msg : p_IntuiMessage { Zeiger auf erhaltene IntuiMessage }
Wd : p_Window; { Zeiger auf das Fenster }
Scr : p_Screen; { Zeiger auf den Screen }
PictureImage : Image; { Image-Struktur }
ImageDaten : Word; IMPORT; { hinzugelinkte Grafikdaten }
Farben : Word; IMPORT; { hinzugelinkte Farbtabelle }
BEGIN
{ alles öffnen }
OpenLib(IntBase,'intuition.library',0);
OpenLib(GfxBase,'graphics.library',0);
Scr:=Open_Screen(0,0,640,$ffff,2,0,1,HIRES,'Fenster3-Image-Demo');
Wd:=Open_Window(20,20,320,100,$ffff,_CLOSEWINDOW+NEWSIZE,WINDOWSIZING+WINDOWDRAG+WINDOWDEPTH+WINDOWCLOSE+SMART_REFRESH+ACTIVATE+RMBTRAP,'Demo',Scr,BREITE,HÖHE,$ffff,$ffff);
{ Image-Struktur initialisieren }
PictureImage:=Image(0,0,BREITE,HÖHE,2,^ImageDaten,1+2,0,NIL);
{ Farben setzen }
LoadRGB4(^Scr^.ViewPort,^Farben,4);
{ Bild zeichnen }
DrawImage(Wd^.RPort,^PictureImage,Wd^.BorderLeft+10,WD^.BorderTop+10);
{ Auf Message warten. Bei neuer Fenstergröße Image erneut malen }
REPEAT
Msg:=Wait_Port(WD^.UserPort);
Msg:=Get_Msg(WD^.UserPort);
IF Msg<>NIL THEN
BEGIN
Ende:=(Msg^.Class=_CLOSEWINDOW); { Ende bei CLOSE }
IF Msg^.Class=NEWSIZE THEN
DrawImage(Wd^.RPort,^PictureImage,WD^.BorderLeft+10,WD^.BorderTop+10);
Reply_Msg(Msg);
END
ELSE Ende:=FALSE;
UNTIL (Ende);
{ alles wieder schließen }
Close_Window(Wd);
Close_Screen(Scr);
CloseLib(GfxBase);
CloseLib(IntBase);
End.
{$link "fenster.o" } {Daten liegen im CHIP-Mem }