Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!yale!mintaka!bloom-beacon!eru!hagbard!sunic!fuug!tuura!risto From: risto@tuura.UUCP (Risto Lankinen) Newsgroups: comp.os.msdos.programmer Subject: Re: 2 mouse questions Message-ID: <906@tuura.UUCP> Date: 4 Jan 91 13:58:37 GMT References: <1990Dec29.060553.717@midway.uchicago.edu> <26151@uflorida.cis.ufl.EDU> Organization: Nokia Data Systems Oy Lines: 41 jdb@reef.cis.ufl.edu (Brian K. W. Hook) writes: >I doubt that Nortno changes the font since the arrow would move in character ^^^^^^^ >cell movements (ie. very jerky and blocky). Hi! Well, I don't doubt: Suppose the screen mode being used has character cells of M*N pixels. Then, imagine a cursor shape in high resolution, of max. (M+1)*(N+1) pixels. Now, you can overlay this cursor shape upon a grid of character cells so, that a maximum number of four character cells will be touched. Next, there must be 4 character codes (252..255, for example), font of which are reprogrammed to be the cursor shape (properly shifted for 'pixel-sharp' resolution), except for the points, where the cursor is transparent - those points are taken from the font of the character cells overlaid by the cursor. Finally, the four characters on the screen are (saved and) replaced by the freshly constructed 'graphical characters', which the user perceives as an hi-res cursor appearing to that point. There's of course more involved, namely deleting the old image, while adjusting for when the new and old image overlap one another, but with clever programming (and with four more character codes to spend) the movement can be made smooth and flicker-free. By the way, the color attribute of a character cell cannot be touched. This can be seen with the Norton by moving the cursor across an area, where the characters have different colors. The cursor changes color, too, revealing the border of the character cells. There's also little roughness with some displays using 9 bit wide characters, while the cursor shape is apparently defined with only 8(+1 = M+1 max.) pixels. Then, every 9th vertical line of pixels is a copy of its adjacent. Terveisin: Risto Lankinen -- Risto Lankinen / product specialist *************************************** Nokia Data Systems, Technology Dept * 2 2 * THIS SPACE INTENTIONALLY LEFT BLANK * 2 -1 is PRIME! Now working on 2 +1 * replies: risto@yj.data.nokia.fi ***************************************