🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.os.msdos.programmer
Article #5433

Re: DOS or MS C Graphics

#5433
From: everett Everett Kaser
Date: Mon, 25 Mar 1991 18:13
28 lines
2203 bytes
 eversole@acae037.cadence.com (Richard Eversole; x6239) writes...
} 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 saved image from the scratch buffer)
}|> and then repeating the previous _getimage()/_putimage() at 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.

You're absolutely right, Richard, what I described won't work.  In my haste,
I mistakenly forgot how to do it :-(.  What I actually intended to say was to
save the old region (indeed rectangular), use a NOT mask to with the
_putimage(,,,GPAND) call to erase the non-rectangular area for your image to
be drawn within, then use _putimage(,,,GPOR) to OR your non-rectangular image
into that blank hole.  Then, for motion, proceed in  a loop, replacing the
old screen contents and repeating the _getimage()/_putimage(mask,GPAND)/_put-
image(image,GPOR) at the new location(s).  Sorry for the confusion (mine).

Everett Kaser                   Hewlett-Packard Company
...hplabs!hp-pcd!everett        work: (503) 750-3569   Corvallis, Oregon
everett%hpcvra@hplabs.hp.com    home: (503) 928-5259   Albany, Oregon
Technical Details
Message-ID: <31600017@hpcvra.cv.hp.com.>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!sdd.hp.com!hp-pcd!hpcvra.cv.hp.com!everett
References: <65023@eerie.acsu.Buffalo.EDU>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!sdd.hp.com!hp-pcd!hpcvra.cv.hp.com!everett
From: everett@hpcvra.cv.hp.com. (Everett Kaser)
Newsgroups: comp.os.msdos.programmer
Subject: Re: DOS or MS C Graphics
Message-ID: <31600017@hpcvra.cv.hp.com.>
Date: 25 Mar 91 18:13:28 GMT
References: <65023@eerie.acsu.Buffalo.EDU>
Organization: Hewlett-Packard Co., Corvallis, OR, USA
Lines: 28