(******************************************************************************) (* This MODULE is Public Domain. Copy me like a beast! *) (* Christian Ledermann *) (* W”lfelkofen 2 *) (* 84166 Adlkofen *) (******************************************************************************) (* *) (* Started: 20.12.92 03:54:30 *) (* Version: 20.01.94 04:12:54 *) (* *) (******************************************************************************) (* *) (* Diese Software ist ohne jede Garantie. Ich verspreche *) (* keinerlei Wartung und bernehme keine Verantwortung fr Sch„den die *) (* durch die Benutzung dieses Programmes entstehen. *) (* Jegliche Ersatzansprche lehne ich ab. *) (* *) (******************************************************************************) DEFINITION MODULE BitBlt; FROM SYSTEM IMPORT ADDRESS; (*********************************************************************) (* Hier sind einige PROCEDUREn versammelt die den Umgang mit *) (* VDIRasters.CopyRasterOpaque und dem MFDB demonstrieren bzw *) (* erleichtern sollen. *) (* Der Umgang mit diesen PROCEDUREn ist dann ebenso einfach wie in *) (* GFA-Basic. *) (* Copy ScreenToMem und CopyMemToScreen sind als Duo zur *) (* Wiederherstellung des Bildschirminhaltes gedacht nachdem man hier *) (* etwas gezeichnet hat. Siehe auch MODULE EasyDialog. *) (*********************************************************************) PROCEDURE CopyScreenToScreen(x,y,w,h,xDest,yDest: INTEGER); (*********************************************************************) (* Kopiert einen Bildschirmauschnitt von x,y mit Breite w und H”he h *) (* nach xDest, yDest mit gleicher Breite und H”he. *) (* (Sehr praktisch zum scrolen in Fenstern.) *) (*********************************************************************) PROCEDURE CopyScreenToMem(x,y,w,h: INTEGER; VAR buf:ADDRESS); (*********************************************************************) (* Kopiert einen Bildschirmauschnitt in den Speicher an die ADDRESSe *) (* buf. Alle anderen n”tigen Parameter fr den MFDB werden von der *) (* PROCEDURE selbst besorgt; der ben”tigte Speicher reseviert. *) (*********************************************************************) PROCEDURE CopyMemToScreen(x,y,w,h: INTEGER; buf: ADDRESS;DeAlloc:BOOLEAN ); (*********************************************************************) (* Kopiert einen Block aus dem Speicher in den Bildschirm. *) (* Das ist das Gegenstck zu CopyScreenToMem *) (* Wenn DeAlloc TRUE ist wird der Speicher freigegeben sonst bleibt *) (* der Block im Speicher erhalten zur nochmaligen Verwendung. *) (*********************************************************************) END BitBlt.