TIP: Click on subject to list as thread! ANSI
echo: os2prog
to: Marcel Vandevusse
from: Phil Crown
date: 1996-05-29 12:38:08
subject: Fast colored GPI text output - sigh

-=> Quoting Marcel Vandevusse to Steffen Offermann <=- 

 MV> Replying to a message of Steffen Offermann to Erik Huelsmann:
 
 SO> Moin!
 
 >> [About fast colored text output]
 
 SO>>> So, can anybody tell me how this is done?
 >> cluster your letters by color and row?
 >> If a row is one color, output it in one piece, if it contains
 >> more colors, output it in as many pieces..
 
 SO> Sure, that's not in question. But that's still extremely slow using
 SO> the bitmap method. On the other hand I used direct painting in an
 SO> earlier project, where I had to output text in many different colors
 SO> (emulation of an ANSI text terminal) at different positions, and the
 SO> result was inacceptable. So there _must_ be yet another, better
 SO> solution since there are terminal programms and PM text editors or
 SO> word processors with syntax highlighting that demonstrate it.

And the Web Explorer.

 MV> I am (have been for a while) about half way into a BBS/terminal
 MV> program, and experimented with several different ways to do colored
 MV> text output. The fastest way I came up with is to write characters to
 MV> a memory bitmap, and copy the appropriate part of the bitmap into the
 MV> window. When a scroll needs to be done, scroll the bitmap by doing a
 MV> bitblt to itself, and a WinScrollWindow to scroll the window. I also
 MV> do not do synchronize WM_PAINT messages. 
 MV> This way, redraws are done very quickly, and if the computer is too
 MV> busy to display each character seperatly as they come in, you can do a
 MV> bitblt for several characters at once. 
 MV> It is not the simplest way to do things, but it is faster than
 MV> anything else I have tried; and as far as I know I have tried just
 MV> about everything except AVIO. 
 MV> There is just one problem I am having: I can not think of an easy
 MV> solution to handle the "blink" attribute. 
 MV> Marcel,                 Check out our new baby pics at:
 MV> [Team OS/2]             http://www.bright.net/~mvusse

I am at the same place as you are, perhaps farther behind.  I have a
terminal program with no terminal emulation, because of the above
mentioned problem.

I'm hoping to find a book that explains how to do this.  There is a new
book called "OS/2 Warp Presentation Manager for Power Programmers"
published by John Wiley and Sons (ISBN 0-471-05839-4).  I don't know if
it tell exactly how to do this, but I am going to check it out.

Phil - Fido:  1:124/8014.0 | Internet:  phil.crown{at}bluecafe.com

--- Blue Wave/OS2 v2.30
* Origin: * MacSavvy OS/2 BBS * Dallas, Texas * 214-250-4479 * (1:124/1208)
SEEN-BY: 50/99 270/101 620/243 711/401 409 410 413 430 808 809 934 955
SEEN-BY: 712/407 515 517 628 713/888 800/1
@PATH: 124/1208 1 396/1 270/101 712/515 711/808 934

SOURCE: echomail via fidonet.ozzmosis.com

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.