Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!crdgw1!uunet!cadence!acae037!eversole From: eversole@acae037.cadence.com (Richard Eversole; x6239) Newsgroups: comp.os.msdos.programmer Subject: Re: DOS or MS C Graphics Message-ID: <1991Mar21.232815.24693@cadence.com> Date: 21 Mar 91 23:28:15 GMT References: <65023@eerie.acsu.Buffalo.EDU> <31600013@hpcvra.cv.hp.com.> Sender: usenet@cadence.com (USENET News) Reply-To: eversole@acae037.cadence.com (Richard Eversole; x6239) Organization: Cadence Design Systems, Inc. Lines: 23 In article <31600013@hpcvra.cv.hp.com.>, everett@hpcvra.cv.hp.com. (Everett Kaser) writes: |> |> About the only way to do this on PC display hardware is to read the current |> background image (using _getimage()) into a scratch save buffer, then use |> _putimage(,,,_GPSET) to force your new image onto the screen. Then, when |> you want to move your image, you first use _putimage(,,,_GPSET) to replace |> the previous background image (using the saved image from the scratch buffer) |> and then repeating the previous _getimage()/_putimage() at the new location. That will only work if the images involved are rectangular. You need to use a mask and GPXOR it first then GPAND the real image. You still have to save the original background. Be careful about moving the image only a small amount where the next image overlaps the last image. restore background, get new back ground, xor mask, and the image. -- ===================================================================== eversole@cadence.com Live long and prosper !