[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:
parent
de8b91ca26
commit
14d159f067
|
@ -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
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue