[Alephmodular-devel] CDisplay and color tables
Status: Pre-Alpha
Brought to you by:
brefin
From: Br'fin <br...@ma...> - 2003-04-07 16:19:41
|
I'm poking through things (slowly, I know,) and it seems like Marathon has two main functions for dealing with color tables. The first is assert_world_color_table who's primary responsibility is setting the color table of the GDevice shared between the screen and the offscreen buffer. Or to put it another way, this seems to be responsible for setting up the offscreen color table. And it only does real work when in 8 bit mode. The other function is animate_screen_clut. Which is responsible for altering the screen. This can occur in any bit depth as things like gamma correction and fades are implemented through it. I'm thinking of implementing these two functions on CDisplay as void CDisplay::set_buffer_clut(color_table *) Which sets up the drawing clut for when in 8 bit mode. But which is ignored the rest of the time. (No, it doesn't assert) void CDisplay::adjust_screen_clut(color_table *) Which immediately alters the screen by using the provided color table. In 8-bit mode this is also when the color table is expressed onto the screen. Thoughts or comments? -Jeremy Parsons |