ANDROID: Cleanup

This commit is contained in:
dhewg 2011-03-24 18:54:14 +01:00
parent 62f5c475f3
commit 397fd31a17
2 changed files with 26 additions and 17 deletions
backends/platform/android

@ -146,7 +146,6 @@ void OSystem_Android::initTexture(GLESBaseTexture **texture,
}
(*texture)->allocBuffer(width, height);
(*texture)->fillBuffer(0);
}
#endif
@ -253,7 +252,6 @@ void OSystem_Android::initOverlay() {
LOGI("overlay size is %ux%u", overlay_width, overlay_height);
_overlay_texture->allocBuffer(overlay_width, overlay_height);
_overlay_texture->fillBuffer(0);
_overlay_texture->setDrawRect(0, 0,
_egl_surface_width, _egl_surface_height);
}
@ -268,7 +266,6 @@ void OSystem_Android::initSize(uint width, uint height,
initTexture(&_game_texture, width, height, format);
#else
_game_texture->allocBuffer(width, height);
_game_texture->fillBuffer(0);
#endif
updateScreenRect();
@ -710,8 +707,8 @@ void OSystem_Android::setMouseCursor(const byte *buf, uint w, uint h,
assert(keycolor < 256);
byte *p = _mouse_texture_palette->palette() + _mouse_keycolor * 2;
WRITE_UINT16(p, READ_UINT16(p) | 1);
_mouse_keycolor = keycolor;
WRITE_UINT16(_mouse_texture_palette->palette() + keycolor * 2, 0);
}

@ -229,8 +229,10 @@ void GLESTexture::allocBuffer(GLuint w, GLuint h) {
GLESBaseTexture::allocBuffer(w, h);
if (_surface.w == oldw && _surface.h == oldh)
if (_surface.w == oldw && _surface.h == oldh) {
fillBuffer(0);
return;
}
delete[] _buf;
delete[] _pixels;
@ -241,6 +243,8 @@ void GLESTexture::allocBuffer(GLuint w, GLuint h) {
_surface.pixels = _pixels;
_surface.pitch = w * _pixelFormat.bytesPerPixel;
fillBuffer(0);
_buf = new byte[w * h * _surface.bytesPerPixel];
assert(_buf);
}
@ -358,22 +362,26 @@ void GLESPaletteTexture::allocBuffer(GLuint w, GLuint h) {
GLESBaseTexture::allocBuffer(w, h);
if (_surface.w == oldw && _surface.h == oldh)
if (_surface.w == oldw && _surface.h == oldh) {
fillBuffer(0);
return;
byte *new_buffer = new byte[_paletteSize +
_texture_width * _texture_height];
assert(new_buffer);
if (_texture) {
// preserve palette
memcpy(new_buffer, _texture, _paletteSize);
delete[] _texture;
}
_texture = new_buffer;
byte *old_texture = _texture;
_texture = new byte[_paletteSize + _texture_width * _texture_height];
assert(_texture);
_surface.pixels = _texture + _paletteSize;
_surface.pitch = _texture_width;
fillBuffer(0);
if (old_texture) {
// preserve palette
memcpy(_texture, old_texture, _paletteSize);
delete[] old_texture;
}
}
void GLESPaletteTexture::fillBuffer(uint32 color) {
@ -480,8 +488,10 @@ void GLESFakePaletteTexture::allocBuffer(GLuint w, GLuint h) {
GLESBaseTexture::allocBuffer(w, h);
if (_surface.w == oldw && _surface.h == oldh)
if (_surface.w == oldw && _surface.h == oldh) {
fillBuffer(0);
return;
}
delete[] _buf;
delete[] _pixels;
@ -494,6 +504,8 @@ void GLESFakePaletteTexture::allocBuffer(GLuint w, GLuint h) {
_surface.bytesPerPixel = 1;
_surface.pitch = w;
fillBuffer(0);
_buf = new uint16[w * h];
assert(_buf);
}