home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!pipex!pavo.csi.cam.ac.uk!uknet!brunel!cs90ijr
- From: cs90ijr@brunel.ac.uk (Ian J Ray)
- Newsgroups: comp.sys.atari.st.tech
- Subject: RE: Raster Copy [for window scrolling]
- Message-ID: <BxLL07.3Jy@brunel.ac.uk>
- Date: 12 Nov 92 09:57:40 GMT
- Organization: Brunel University, Uxbridge, UK
- Lines: 35
- X-Newsreader: TIN [version 1.1 PL6]
-
- The function you require is vro_cpyfm(), it _will_ copy overlapping blocks
- to/from the screen or memory buffers. Example:
-
- WORD pxyarray[8];
- MFDB src, dest; // Memory Form Definition Block
-
-
- /* pxyarray contains the VDI rectangle
- */
- pxyarray[0] = src_x1;
- pxyarray[1] = src_y1;
- pxyarray[2] = src_x2;
- pxyarray[3] = src_y2;
- pxyarray[4] = dest_x1;
- pxyarray[5] = dest_y1;
- pxyarray[6] = dest_x2;
- pxyarray[7] = dest_y2;
-
- /* fd_addr is the address of the 'form' buffer
- * if it is NULL then the VDI fills in the other information
- * in the form structure
- */
- src.fd_addr = NULL;
- dest.fd_addr = NULL;
-
- /* perform the raster copy
- * in this example, a block of screen is moved to some other
- * (possibly overlapping) part of the screen
- */
- vro_cpyfm(handle, &src, &dest, pxyarray);
-
- Hope this helps.
-
- .Ian.
- cs90ijr@brunel.ac.uk
-