[project @ 2005-09-14 19:08:48 by adrianl]

Correct mode word of sprite that buffers output

svn path=/import/netsurf/; revision=1864
This commit is contained in:
Adrian Lees 2005-09-14 19:08:48 +00:00
parent de8b91ca26
commit 14d159f067
1 changed files with 28 additions and 0 deletions

View File

@ -133,6 +133,34 @@ void ro_gui_buffer_open(wimp_draw *redraw) {
ro_gui_buffer_free(); ro_gui_buffer_free();
return; return;
} }
/* if we're not in a numbered screen mode then we need
to build a suitable sprite mode word */
if (mode >= (os_mode)0x100) {
const os_VDU_VAR_LIST(4) vars = {
{ os_MODEVAR_LOG2_BPP,
os_MODEVAR_XEIG_FACTOR,
os_MODEVAR_YEIG_FACTOR,
os_VDUVAR_END_LIST }
};
int xeig, yeig;
int vals[4];
int type;
error = xos_read_vdu_variables((const os_vdu_var_list*)&vars, vals);
if (error) {
LOG(("Error reading mode properties '%s'", error->errmess));
ro_gui_buffer_free();
return;
}
type = 1 + vals[0];
xeig = vals[1];
yeig = vals[2];
mode = (os_mode)((type << 27) | ((180 >> yeig) << 14) |
((180 >> xeig) << 1) | 1);
}
} }
#endif #endif