diff options
Diffstat (limited to 'backends')
| -rw-r--r-- | backends/base-backend.cpp | 4 | ||||
| -rw-r--r-- | backends/graphics/opengl/opengl-graphics.cpp | 40 | ||||
| -rw-r--r-- | backends/graphics/surfacesdl/surfacesdl-graphics.cpp | 29 | ||||
| -rw-r--r-- | backends/platform/android/gfx.cpp | 4 | ||||
| -rw-r--r-- | backends/platform/android/texture.cpp | 10 | ||||
| -rw-r--r-- | backends/platform/dc/display.cpp | 6 | ||||
| -rw-r--r-- | backends/platform/ds/arm9/source/osystem_ds.cpp | 23 | ||||
| -rw-r--r-- | backends/platform/iphone/iphone_video.mm | 6 | ||||
| -rw-r--r-- | backends/platform/iphone/osys_main.cpp | 2 | ||||
| -rw-r--r-- | backends/platform/iphone/osys_video.mm | 22 | ||||
| -rw-r--r-- | backends/platform/n64/osys_n64_base.cpp | 6 | ||||
| -rw-r--r-- | backends/platform/ps2/Gs2dScreen.cpp | 8 | ||||
| -rw-r--r-- | backends/platform/psp/default_display_client.cpp | 7 | ||||
| -rw-r--r-- | backends/platform/wii/osystem_gfx.cpp | 11 | ||||
| -rw-r--r-- | backends/vkeybd/virtual-keyboard-gui.cpp | 12 | 
15 files changed, 79 insertions, 111 deletions
diff --git a/backends/base-backend.cpp b/backends/base-backend.cpp index 3e0005dedd..3e95c3e26a 100644 --- a/backends/base-backend.cpp +++ b/backends/base-backend.cpp @@ -57,7 +57,7 @@ void BaseBackend::initBackend() {  void BaseBackend::fillScreen(uint32 col) {  	Graphics::Surface *screen = lockScreen(); -	if (screen && screen->pixels) -		memset(screen->pixels, col, screen->h * screen->pitch); +	if (screen && screen->getPixels()) +		memset(screen->getPixels(), col, screen->h * screen->pitch);  	unlockScreen();  } diff --git a/backends/graphics/opengl/opengl-graphics.cpp b/backends/graphics/opengl/opengl-graphics.cpp index 48e2663d44..84be83d524 100644 --- a/backends/graphics/opengl/opengl-graphics.cpp +++ b/backends/graphics/opengl/opengl-graphics.cpp @@ -357,7 +357,7 @@ void OpenGLGraphicsManager::copyRectToScreen(const void *buf, int pitch, int x,  	// Copy buffer data to game screen internal buffer  	const byte *src = (const byte *)buf; -	byte *dst = (byte *)_screenData.pixels + y * _screenData.pitch + x * _screenData.format.bytesPerPixel; +	byte *dst = (byte *)_screenData.getBasePtr(x, y);  	for (int i = 0; i < h; i++) {  		memcpy(dst, src, w * _screenData.format.bytesPerPixel);  		src += pitch; @@ -385,15 +385,15 @@ void OpenGLGraphicsManager::fillScreen(uint32 col) {  #ifdef USE_RGB_COLOR  	if (_screenFormat.bytesPerPixel == 1) { -		memset(_screenData.pixels, col, _screenData.h * _screenData.pitch); +		memset(_screenData.getPixels(), col, _screenData.h * _screenData.pitch);  	} else if (_screenFormat.bytesPerPixel == 2) { -		uint16 *pixels = (uint16 *)_screenData.pixels; +		uint16 *pixels = (uint16 *)_screenData.getPixels();  		uint16 col16 = (uint16)col;  		for (int i = 0; i < _screenData.w * _screenData.h; i++) {  			pixels[i] = col16;  		}  	} else if (_screenFormat.bytesPerPixel == 3) { -		uint8 *pixels = (uint8 *)_screenData.pixels; +		uint8 *pixels = (uint8 *)_screenData.getPixels();  		byte r = (col >> 16) & 0xFF;  		byte g = (col >> 8) & 0xFF;  		byte b = col & 0xFF; @@ -404,13 +404,13 @@ void OpenGLGraphicsManager::fillScreen(uint32 col) {  			pixels += 3;  		}  	} else if (_screenFormat.bytesPerPixel == 4) { -		uint32 *pixels = (uint32 *)_screenData.pixels; +		uint32 *pixels = (uint32 *)_screenData.getPixels();  		for (int i = 0; i < _screenData.w * _screenData.h; i++) {  			pixels[i] = col;  		}  	}  #else -	memset(_screenData.pixels, col, _screenData.h * _screenData.pitch); +	memset(_screenData.getPixels(), col, _screenData.h * _screenData.pitch);  #endif  	_screenNeedsRedraw = true;  } @@ -463,12 +463,12 @@ Graphics::PixelFormat OpenGLGraphicsManager::getOverlayFormat() const {  void OpenGLGraphicsManager::clearOverlay() {  	// Set all pixels to 0 -	memset(_overlayData.pixels, 0, _overlayData.h * _overlayData.pitch); +	memset(_overlayData.getPixels(), 0, _overlayData.h * _overlayData.pitch);  	_overlayNeedsRedraw = true;  }  void OpenGLGraphicsManager::grabOverlay(void *buf, int pitch) { -	const byte *src = (byte *)_overlayData.pixels; +	const byte *src = (byte *)_overlayData.getPixels();  	byte *dst = (byte *)buf;  	for (int i = 0; i < _overlayData.h; i++) {  		// Copy overlay data to buffer @@ -509,7 +509,7 @@ void OpenGLGraphicsManager::copyRectToOverlay(const void *buf, int pitch, int x,  		return;  	// Copy buffer data to internal overlay surface -	byte *dst = (byte *)_overlayData.pixels + y * _overlayData.pitch; +	byte *dst = (byte *)_overlayData.getBasePtr(0, y);  	for (int i = 0; i < h; i++) {  		memcpy(dst + x * _overlayData.format.bytesPerPixel, src, w * _overlayData.format.bytesPerPixel);  		src += pitch; @@ -609,7 +609,7 @@ void OpenGLGraphicsManager::setMouseCursor(const void *buf, uint w, uint h, int  		_cursorData.create(w, h, _cursorFormat);  	// Save cursor data -	memcpy(_cursorData.pixels, buf, h * _cursorData.pitch); +	memcpy(_cursorData.getPixels(), buf, h * _cursorData.pitch);  	// Set cursor info  	_cursorState.w = w; @@ -688,7 +688,7 @@ void OpenGLGraphicsManager::refreshGameScreen() {  		byte *surface = new byte[w * h * 3];  		// Convert the paletted buffer to RGB888 -		const byte *src = (byte *)_screenData.pixels + y * _screenData.pitch; +		const byte *src = (byte *)_screenData.getBasePtr(0, y);  		src += x * _screenData.format.bytesPerPixel;  		byte *dst = surface;  		for (int i = 0; i < h; i++) { @@ -708,8 +708,7 @@ void OpenGLGraphicsManager::refreshGameScreen() {  		delete[] surface;  	} else {  		// Update the texture -		_gameTexture->updateBuffer((byte *)_screenData.pixels + y * _screenData.pitch + -		                           x * _screenData.format.bytesPerPixel, _screenData.pitch, x, y, w, h); +		_gameTexture->updateBuffer((byte *)_screenData.getBasePtr(x, y), _screenData.pitch, x, y, w, h);  	}  	_screenNeedsRedraw = false; @@ -730,7 +729,7 @@ void OpenGLGraphicsManager::refreshOverlay() {  		byte *surface = new byte[w * h * 3];  		// Convert the paletted buffer to RGB888 -		const byte *src = (byte *)_overlayData.pixels + y * _overlayData.pitch; +		const byte *src = (byte *)_overlayData.getBasePtr(0, y);  		src += x * _overlayData.format.bytesPerPixel;  		byte *dst = surface;  		for (int i = 0; i < h; i++) { @@ -750,8 +749,7 @@ void OpenGLGraphicsManager::refreshOverlay() {  		delete[] surface;  	} else {  		// Update the texture -		_overlayTexture->updateBuffer((byte *)_overlayData.pixels + y * _overlayData.pitch + -		                              x * _overlayData.format.bytesPerPixel, _overlayData.pitch, x, y, w, h); +		_overlayTexture->updateBuffer((byte *)_overlayData.getBasePtr(x, y), _overlayData.pitch, x, y, w, h);  	}  	_overlayNeedsRedraw = false; @@ -780,7 +778,7 @@ void OpenGLGraphicsManager::refreshCursor() {  			palette = _cursorPalette;  		// Convert the paletted cursor to RGBA8888 -		const byte *src = (byte *)_cursorData.pixels; +		const byte *src = (byte *)_cursorData.getPixels();  		for (int i = 0; i < _cursorState.w * _cursorState.h; i++) {  			// Check for keycolor  			if (src[i] != _cursorKeyColor) { @@ -796,7 +794,7 @@ void OpenGLGraphicsManager::refreshCursor() {  		// Convert the RGB cursor to RGBA8888  		if (_cursorFormat.bytesPerPixel == 2) { -			const uint16 *src = (uint16 *)_cursorData.pixels; +			const uint16 *src = (uint16 *)_cursorData.getPixels();  			for (int i = 0; i < _cursorState.w * _cursorState.h; i++) {  				// Check for keycolor  				if (src[i] != _cursorKeyColor) { @@ -808,7 +806,7 @@ void OpenGLGraphicsManager::refreshCursor() {  				dst += 4;  			}  		} else if (_cursorFormat.bytesPerPixel == 4) { -			const uint32 *src = (uint32 *)_cursorData.pixels; +			const uint32 *src = (uint32 *)_cursorData.getPixels();  			for (int i = 0; i < _cursorState.w * _cursorState.h; i++) {  				// Check for keycolor  				if (src[i] != _cursorKeyColor) { @@ -1356,7 +1354,7 @@ void OpenGLGraphicsManager::updateOSD() {  		_osdSurface.create(_osdTexture->getWidth(), _osdTexture->getHeight(), _overlayFormat);  	else  		// Clear everything -		memset(_osdSurface.pixels, 0, _osdSurface.h * _osdSurface.pitch); +		memset(_osdSurface.getPixels(), 0, _osdSurface.h * _osdSurface.pitch);  	// Determine a rect which would contain the message string (clipped to the  	// screen dimensions). @@ -1390,7 +1388,7 @@ void OpenGLGraphicsManager::updateOSD() {  	}  	// Update the texture -	_osdTexture->updateBuffer(_osdSurface.pixels, _osdSurface.pitch, 0, 0, +	_osdTexture->updateBuffer(_osdSurface.getPixels(), _osdSurface.pitch, 0, 0,  	                          _osdSurface.w, _osdSurface.h);  }  #endif diff --git a/backends/graphics/surfacesdl/surfacesdl-graphics.cpp b/backends/graphics/surfacesdl/surfacesdl-graphics.cpp index a2e1981e79..871c6c49b2 100644 --- a/backends/graphics/surfacesdl/surfacesdl-graphics.cpp +++ b/backends/graphics/surfacesdl/surfacesdl-graphics.cpp @@ -1308,15 +1308,13 @@ Graphics::Surface *SurfaceSdlGraphicsManager::lockScreen() {  	if (SDL_LockSurface(_screen) == -1)  		error("SDL_LockSurface failed: %s", SDL_GetError()); -	_framebuffer.pixels = _screen->pixels; -	_framebuffer.w = _screen->w; -	_framebuffer.h = _screen->h; -	_framebuffer.pitch = _screen->pitch; +	_framebuffer.init(_screen->w, _screen->h, _screen->pitch, _screen->pixels,  #ifdef USE_RGB_COLOR -	_framebuffer.format = _screenFormat; +	                  _screenFormat  #else -	_framebuffer.format = Graphics::PixelFormat::createFormatCLUT8(); +	                  Graphics::PixelFormat::createFormatCLUT8()  #endif +	                 );  	return &_framebuffer;  } @@ -1340,8 +1338,8 @@ void SurfaceSdlGraphicsManager::unlockScreen() {  void SurfaceSdlGraphicsManager::fillScreen(uint32 col) {  	Graphics::Surface *screen = lockScreen(); -	if (screen && screen->pixels) -		memset(screen->pixels, col, screen->h * screen->pitch); +	if (screen && screen->getPixels()) +		memset(screen->getPixels(), col, screen->h * screen->pitch);  	unlockScreen();  } @@ -2062,15 +2060,12 @@ void SurfaceSdlGraphicsManager::displayMessageOnOSD(const char *msg) {  		error("displayMessageOnOSD: SDL_LockSurface failed: %s", SDL_GetError());  	Graphics::Surface dst; -	dst.pixels = _osdSurface->pixels; -	dst.w = _osdSurface->w; -	dst.h = _osdSurface->h; -	dst.pitch = _osdSurface->pitch; -	dst.format = Graphics::PixelFormat(_osdSurface->format->BytesPerPixel, -	                                   8 - _osdSurface->format->Rloss, 8 - _osdSurface->format->Gloss, -	                                   8 - _osdSurface->format->Bloss, 8 - _osdSurface->format->Aloss, -	                                   _osdSurface->format->Rshift, _osdSurface->format->Gshift, -	                                   _osdSurface->format->Bshift, _osdSurface->format->Ashift); +	dst.init(_osdSurface->w, _osdSurface->h, _osdSurface->pitch, _osdSurface->pixels, +	         Graphics::PixelFormat(_osdSurface->format->BytesPerPixel, +	                               8 - _osdSurface->format->Rloss, 8 - _osdSurface->format->Gloss, +	                               8 - _osdSurface->format->Bloss, 8 - _osdSurface->format->Aloss, +	                               _osdSurface->format->Rshift, _osdSurface->format->Gshift, +	                               _osdSurface->format->Bshift, _osdSurface->format->Ashift));  	// The font we are going to use:  	const Graphics::Font *font = FontMan.getFontByUsage(Graphics::FontManager::kLocalizedFont); diff --git a/backends/platform/android/gfx.cpp b/backends/platform/android/gfx.cpp index cd0fd88484..882dcff9a4 100644 --- a/backends/platform/android/gfx.cpp +++ b/backends/platform/android/gfx.cpp @@ -552,7 +552,7 @@ Graphics::Surface *OSystem_Android::lockScreen() {  	GLTHREADCHECK;  	Graphics::Surface *surface = _game_texture->surface(); -	assert(surface->pixels); +	assert(surface->getPixels());  	return surface;  } @@ -645,7 +645,7 @@ void OSystem_Android::grabOverlay(void *buf, int pitch) {  	assert(surface->format.bytesPerPixel == sizeof(uint16));  	byte *dst = (byte *)buf; -	const byte *src = (const byte *)surface->pixels; +	const byte *src = (const byte *)surface->getPixels();  	uint h = surface->h;  	do { diff --git a/backends/platform/android/texture.cpp b/backends/platform/android/texture.cpp index b174e93191..cc41c0d8a6 100644 --- a/backends/platform/android/texture.cpp +++ b/backends/platform/android/texture.cpp @@ -233,7 +233,7 @@ void GLESTexture::allocBuffer(GLuint w, GLuint h) {  	_pixels = new byte[w * h * _surface.format.bytesPerPixel];  	assert(_pixels); -	_surface.pixels = _pixels; +	_surface.setPixels(_pixels);  	fillBuffer(0); @@ -256,7 +256,7 @@ void GLESTexture::updateBuffer(GLuint x, GLuint y, GLuint w, GLuint h,  }  void GLESTexture::fillBuffer(uint32 color) { -	assert(_surface.pixels); +	assert(_surface.getPixels());  	if (_pixelFormat.bytesPerPixel == 1 ||  			((color & 0xff) == ((color >> 8) & 0xff))) @@ -377,7 +377,7 @@ void GLESFakePaletteTexture::allocBuffer(GLuint w, GLuint h) {  	assert(_pixels);  	// fixup surface, for the outside this is a CLUT8 surface -	_surface.pixels = _pixels; +	_surface.setPixels(_pixels);  	fillBuffer(0); @@ -386,8 +386,8 @@ void GLESFakePaletteTexture::allocBuffer(GLuint w, GLuint h) {  }  void GLESFakePaletteTexture::fillBuffer(uint32 color) { -	assert(_surface.pixels); -	memset(_surface.pixels, color & 0xff, _surface.pitch * _surface.h); +	assert(_surface.getPixels()); +	memset(_surface.getPixels(), color & 0xff, _surface.pitch * _surface.h);  	setDirty();  } diff --git a/backends/platform/dc/display.cpp b/backends/platform/dc/display.cpp index cc5798fc10..54ee6000ed 100644 --- a/backends/platform/dc/display.cpp +++ b/backends/platform/dc/display.cpp @@ -711,11 +711,7 @@ Graphics::Surface *OSystem_Dreamcast::lockScreen()    if (!screen)      return 0; -  _framebuffer.pixels = screen; -  _framebuffer.w = _screen_w; -  _framebuffer.h = _screen_h; -  _framebuffer.pitch = SCREEN_W*2; -  _framebuffer.format = screenFormats[_screenFormat]; +  _framebuffer.init(_screen_w, _screen_h, SCREEN_W*2, screen, screenFormats[_screenFormat]);    return &_framebuffer;  } diff --git a/backends/platform/ds/arm9/source/osystem_ds.cpp b/backends/platform/ds/arm9/source/osystem_ds.cpp index 2f6358d8ee..f109983fbc 100644 --- a/backends/platform/ds/arm9/source/osystem_ds.cpp +++ b/backends/platform/ds/arm9/source/osystem_ds.cpp @@ -296,7 +296,7 @@ void OSystem_DS::copyRectToScreen(const void *buf, int pitch, int x, int y, int  	// to save a few pennies/euro cents on the hardware.  	if (_frameBufferExists) { -		bg = (u16 *)_framebuffer.pixels; +		bg = (u16 *)_framebuffer.getPixels();  		stride = _framebuffer.pitch;  	} else {  		bg = (u16 *)DS::get8BitBackBuffer(); @@ -455,7 +455,7 @@ void OSystem_DS::copyRectToScreen(const void *buf, int pitch, int x, int y, int  				dmaCopyHalfWords(3, src, dest1, w); -				if ((!_frameBufferExists) || (buf == _framebuffer.pixels)) { +				if ((!_frameBufferExists) || (buf == _framebuffer.getPixels())) {  					dmaCopyHalfWords(2, src, dest2, w);  				} @@ -476,7 +476,7 @@ void OSystem_DS::updateScreen() {  		_frameBufferExists = false;  		// Copy temp framebuffer back to screen -		copyRectToScreen((byte *)_framebuffer.pixels, _framebuffer.pitch, 0, 0, _framebuffer.w, _framebuffer.h); +		copyRectToScreen((byte *)_framebuffer.getPixels(), _framebuffer.pitch, 0, 0, _framebuffer.w, _framebuffer.h);  	}  	DS::displayMode16BitFlipBuffer(); @@ -755,11 +755,8 @@ Graphics::Surface *OSystem_DS::createTempFrameBuffer() {  	if (DS::isCpuScalerEnabled()) { -		_framebuffer.pixels = DS::getScalerBuffer(); -		_framebuffer.w = DS::getGameWidth(); -		_framebuffer.h = DS::getGameHeight(); -		_framebuffer.pitch = DS::getGameWidth(); -		_framebuffer.format = Graphics::PixelFormat::createFormatCLUT8(); +		_framebuffer.init(DS::getGameWidth(), DS::getGameHeight(), DS::getGameWidth(), +		                  DS::getScalerBuffer(), Graphics::PixelFormat::createFormatCLUT8());  	} else { @@ -780,11 +777,7 @@ Graphics::Surface *OSystem_DS::createTempFrameBuffer() {  			dmaCopyHalfWords(3, srcLine, destLine, width);  		} -		_framebuffer.pixels = dest; -		_framebuffer.w = width; -		_framebuffer.h = height; -		_framebuffer.pitch = width; -		_framebuffer.format = Graphics::PixelFormat::createFormatCLUT8(); +		_framebuffer.init(width, height, width, dest, Graphics::PixelFormat::createFormatCLUT8());  	} @@ -798,8 +791,8 @@ Graphics::Surface *OSystem_DS::createTempFrameBuffer() {  	for (int y = 0; y <  DS::getGameHeight(); y++) {  		DC_FlushRange(image + (y * imageStrideInWords), DS::getGameWidth());  		for (int x = 0; x < DS::getGameWidth() >> 1; x++) { -			*(((u16 *) (_framebuffer.pixels)) + y * (DS::getGameWidth() >> 1) + x) = image[(y * imageStrideInWords) + x]; -//			*(((u16 *) (surf->pixels)) + y * (DS::getGameWidth() >> 1) + x) = image[y * imageStrideInWords + x]; +			*(((u16 *) (_framebuffer.getPixels())) + y * (DS::getGameWidth() >> 1) + x) = image[(y * imageStrideInWords) + x]; +//			*(((u16 *) (surf->getPixels())) + y * (DS::getGameWidth() >> 1) + x) = image[y * imageStrideInWords + x];  		}  	}*/ diff --git a/backends/platform/iphone/iphone_video.mm b/backends/platform/iphone/iphone_video.mm index 0bfae30fc7..f2c1527658 100644 --- a/backends/platform/iphone/iphone_video.mm +++ b/backends/platform/iphone/iphone_video.mm @@ -365,7 +365,7 @@ const char *iPhone_getDocumentsDir() {  	_mouseTexCoords[5] = _mouseTexCoords[7] = _videoContext.mouseHeight / (GLfloat)_videoContext.mouseTexture.h;  	glBindTexture(GL_TEXTURE_2D, _mouseCursorTexture); printOpenGLError(); -	glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, _videoContext.mouseTexture.w, _videoContext.mouseTexture.h, 0, GL_RGBA, GL_UNSIGNED_SHORT_5_5_5_1, _videoContext.mouseTexture.pixels); printOpenGLError(); +	glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, _videoContext.mouseTexture.w, _videoContext.mouseTexture.h, 0, GL_RGBA, GL_UNSIGNED_SHORT_5_5_5_1, _videoContext.mouseTexture.getPixels()); printOpenGLError();  }  - (void)updateMainSurface { @@ -377,7 +377,7 @@ const char *iPhone_getDocumentsDir() {  	// Unfortunately we have to update the whole texture every frame, since glTexSubImage2D is actually slower in all cases  	// due to the iPhone internals having to convert the whole texture back from its internal format when used.  	// In the future we could use several tiled textures instead. -	glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, _videoContext.screenTexture.w, _videoContext.screenTexture.h, 0, GL_RGB, GL_UNSIGNED_SHORT_5_6_5, _videoContext.screenTexture.pixels); printOpenGLError(); +	glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, _videoContext.screenTexture.w, _videoContext.screenTexture.h, 0, GL_RGB, GL_UNSIGNED_SHORT_5_6_5, _videoContext.screenTexture.getPixels()); printOpenGLError();  	glDrawArrays(GL_TRIANGLE_STRIP, 0, 4); printOpenGLError();  } @@ -386,7 +386,7 @@ const char *iPhone_getDocumentsDir() {  	glTexCoordPointer(2, GL_FLOAT, 0, _overlayTexCoords); printOpenGLError();  	glBindTexture(GL_TEXTURE_2D, _overlayTexture); printOpenGLError(); -	glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, _videoContext.overlayTexture.w, _videoContext.overlayTexture.h, 0, GL_RGBA, GL_UNSIGNED_SHORT_5_5_5_1, _videoContext.overlayTexture.pixels); printOpenGLError(); +	glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, _videoContext.overlayTexture.w, _videoContext.overlayTexture.h, 0, GL_RGBA, GL_UNSIGNED_SHORT_5_5_5_1, _videoContext.overlayTexture.getPixels()); printOpenGLError();  	glDrawArrays(GL_TRIANGLE_STRIP, 0, 4); printOpenGLError();  } diff --git a/backends/platform/iphone/osys_main.cpp b/backends/platform/iphone/osys_main.cpp index 460d3fd2ac..ea566c3da0 100644 --- a/backends/platform/iphone/osys_main.cpp +++ b/backends/platform/iphone/osys_main.cpp @@ -78,7 +78,7 @@ OSystem_IPHONE::~OSystem_IPHONE() {  	// Prevent accidental freeing of the screen texture here. This needs to be  	// checked since we might use the screen texture as framebuffer in the case  	// of hi-color games for example. -	if (_framebuffer.pixels == _videoContext->screenTexture.pixels) +	if (_framebuffer.getPixels() == _videoContext->screenTexture.getPixels())  		_framebuffer.free();  	_mouseBuffer.free();  } diff --git a/backends/platform/iphone/osys_video.mm b/backends/platform/iphone/osys_video.mm index a11bf32c54..ce7f94f5bd 100644 --- a/backends/platform/iphone/osys_video.mm +++ b/backends/platform/iphone/osys_video.mm @@ -76,8 +76,8 @@ void OSystem_IPHONE::initSize(uint width, uint height, const Graphics::PixelForm  	// In case we use the screen texture as frame buffer we reset the pixels  	// pointer here to avoid freeing the screen texture. -	if (_framebuffer.pixels == _videoContext->screenTexture.pixels) -		_framebuffer.pixels = 0; +	if (_framebuffer.getPixels() == _videoContext->screenTexture.getPixels()) +		_framebuffer.setPixels(0);  	// Create the screen texture right here. We need to do this here, since  	// when a game requests hi-color mode, we actually set the framebuffer @@ -310,7 +310,7 @@ void OSystem_IPHONE::hideOverlay() {  void OSystem_IPHONE::clearOverlay() {  	//printf("clearOverlay()\n"); -	bzero(_videoContext->overlayTexture.getBasePtr(0, 0), _videoContext->overlayTexture.h * _videoContext->overlayTexture.pitch); +	bzero(_videoContext->overlayTexture.getPixels(), _videoContext->overlayTexture.h * _videoContext->overlayTexture.pitch);  	dirtyFullOverlayScreen();  } @@ -319,7 +319,7 @@ void OSystem_IPHONE::grabOverlay(void *buf, int pitch) {  	int h = _videoContext->overlayHeight;  	byte *dst = (byte *)buf; -	const byte *src = (const byte *)_videoContext->overlayTexture.getBasePtr(0, 0); +	const byte *src = (const byte *)_videoContext->overlayTexture.getPixels();  	do {  		memcpy(dst, src, _videoContext->overlayWidth * sizeof(uint16));  		src += _videoContext->overlayTexture.pitch; @@ -417,7 +417,7 @@ void OSystem_IPHONE::setMouseCursor(const void *buf, uint w, uint h, int hotspot  #endif  	assert(pixelFormat.bytesPerPixel == 1 || pixelFormat.bytesPerPixel == 2); -	if (_mouseBuffer.w != w || _mouseBuffer.h != h || _mouseBuffer.format != pixelFormat || !_mouseBuffer.pixels) +	if (_mouseBuffer.w != w || _mouseBuffer.h != h || _mouseBuffer.format != pixelFormat || !_mouseBuffer.getPixels())  		_mouseBuffer.create(w, h, pixelFormat);  	_videoContext->mouseWidth = w; @@ -428,7 +428,7 @@ void OSystem_IPHONE::setMouseCursor(const void *buf, uint w, uint h, int hotspot  	_mouseKeyColor = keycolor; -	memcpy(_mouseBuffer.getBasePtr(0, 0), buf, h * _mouseBuffer.pitch); +	memcpy(_mouseBuffer.getPixels(), buf, h * _mouseBuffer.pitch);  	_mouseDirty = true;  	_mouseNeedTextureUpdate = true; @@ -464,7 +464,7 @@ void OSystem_IPHONE::updateMouseTexture() {  		else  			palette = _gamePaletteRGBA5551; -		uint16 *mouseBuf = (uint16 *)mouseTexture.getBasePtr(0, 0); +		uint16 *mouseBuf = (uint16 *)mouseTexture.getPixels();  		for (uint x = 0; x < _videoContext->mouseWidth; ++x) {  			for (uint y = 0; y < _videoContext->mouseHeight; ++y) {  				const byte color = *(const byte *)_mouseBuffer.getBasePtr(x, y); @@ -475,12 +475,12 @@ void OSystem_IPHONE::updateMouseTexture() {  			}  		}  	} else { -		if (crossBlit((byte *)mouseTexture.getBasePtr(0, 0), (const byte *)_mouseBuffer.getBasePtr(0, 0), mouseTexture.pitch, +		if (crossBlit((byte *)mouseTexture.getPixels(), (const byte *)_mouseBuffer.getPixels(), mouseTexture.pitch,  			          _mouseBuffer.pitch, _mouseBuffer.w, _mouseBuffer.h, mouseTexture.format, _mouseBuffer.format)) {  			if (!_mouseBuffer.format.aBits()) {  				// Apply color keying since the original cursor had no alpha channel. -				const uint16 *src = (const uint16 *)_mouseBuffer.getBasePtr(0, 0); -				uint8 *dstRaw = (uint8 *)mouseTexture.getBasePtr(0, 0); +				const uint16 *src = (const uint16 *)_mouseBuffer.getPixels(); +				uint8 *dstRaw = (uint8 *)mouseTexture.getPixels();  				for (uint y = 0; y < _mouseBuffer.h; ++y, dstRaw += mouseTexture.pitch) {  					uint16 *dst = (uint16 *)dstRaw; @@ -495,7 +495,7 @@ void OSystem_IPHONE::updateMouseTexture() {  		} else {  			// TODO: Log this!  			// Make the cursor all transparent... we really need a better fallback ;-). -			memset(mouseTexture.getBasePtr(0, 0), 0, mouseTexture.h * mouseTexture.pitch); +			memset(mouseTexture.getPixels(), 0, mouseTexture.h * mouseTexture.pitch);  		}  	} diff --git a/backends/platform/n64/osys_n64_base.cpp b/backends/platform/n64/osys_n64_base.cpp index afd93f5e09..36e5085764 100644 --- a/backends/platform/n64/osys_n64_base.cpp +++ b/backends/platform/n64/osys_n64_base.cpp @@ -605,11 +605,7 @@ void OSystem_N64::updateScreen() {  }  Graphics::Surface *OSystem_N64::lockScreen() { -	_framebuffer.pixels = _offscreen_pal; -	_framebuffer.w = _gameWidth; -	_framebuffer.h = _gameHeight; -	_framebuffer.pitch = _screenWidth; -	_framebuffer.format = Graphics::PixelFormat::createFormatCLUT8(); +	_framebuffer.init(_gameWidth, _gameHeight, _screenWidth, _offscreen_pal, Graphics::PixelFormat::createFormatCLUT8());  	return &_framebuffer;  } diff --git a/backends/platform/ps2/Gs2dScreen.cpp b/backends/platform/ps2/Gs2dScreen.cpp index e818305c29..58667c0230 100644 --- a/backends/platform/ps2/Gs2dScreen.cpp +++ b/backends/platform/ps2/Gs2dScreen.cpp @@ -392,12 +392,8 @@ void Gs2dScreen::copyScreenRect(const uint8 *buf, int pitch, int x, int y, int w  Graphics::Surface *Gs2dScreen::lockScreen() {  	WaitSema(g_DmacSema); -	_framebuffer.pixels = _screenBuf; -	_framebuffer.w = _width; -	_framebuffer.h = _height; -	_framebuffer.pitch = _width; // -not- _pitch; ! It's EE mem, not Tex -	_framebuffer.format = Graphics::PixelFormat::createFormatCLUT8(); - +	// -not- _pitch; ! It's EE mem, not Tex +	_framebuffer.init(_width, _height, _width, _screenBuf, Graphics::PixelFormat::createFormatCLUT8());  	return &_framebuffer;  } diff --git a/backends/platform/psp/default_display_client.cpp b/backends/platform/psp/default_display_client.cpp index bc252144fa..6d6eb641f7 100644 --- a/backends/platform/psp/default_display_client.cpp +++ b/backends/platform/psp/default_display_client.cpp @@ -192,11 +192,8 @@ void Screen::setScummvmPixelFormat(const Graphics::PixelFormat *format) {  Graphics::Surface *Screen::lockAndGetForEditing() {  	DEBUG_ENTER_FUNC(); -	_frameBuffer.pixels = _buffer.getPixels(); -	_frameBuffer.w = _buffer.getSourceWidth(); -	_frameBuffer.h = _buffer.getSourceHeight(); -	_frameBuffer.pitch = _buffer.getBytesPerPixel() * _buffer.getWidth(); -	_frameBuffer.format = _pixelFormat; +	_frameBuffer.init(_buffer.getSourceWidth(), _buffer.getSourceHeight(), _buffer.getBytesPerPixel() * _buffer.getWidth(), +	                  _buffer.getPixels(), _pixelFormat);  	// We'll set to dirty once we unlock the screen  	return &_frameBuffer; diff --git a/backends/platform/wii/osystem_gfx.cpp b/backends/platform/wii/osystem_gfx.cpp index a9bcdbb8d1..92c890b0a9 100644 --- a/backends/platform/wii/osystem_gfx.cpp +++ b/backends/platform/wii/osystem_gfx.cpp @@ -528,16 +528,13 @@ void OSystem_Wii::updateScreen() {  }  Graphics::Surface *OSystem_Wii::lockScreen() { -	_surface.pixels = _gamePixels; -	_surface.w = _gameWidth; -	_surface.h = _gameHeight; +	_surface.init(_gameWidth, _gameHeight,  #ifdef USE_RGB_COLOR -	_surface.pitch = _gameWidth * _pfGame.bytesPerPixel; -	_surface.format = _pfGame; +	              _gameWidth * _pfGame.bytesPerPixel, _gamePixels, _pfGame  #else -	_surface.pitch = _gameWidth; -	_surface.format = Graphics::PixelFormat::createFormatCLUT8(); +	              _gameWidth, _gamePixels, Graphics::PixelFormat::createFormatCLUT8()  #endif +	             );  	return &_surface;  } diff --git a/backends/vkeybd/virtual-keyboard-gui.cpp b/backends/vkeybd/virtual-keyboard-gui.cpp index 75de86472f..8bf9a54251 100644 --- a/backends/vkeybd/virtual-keyboard-gui.cpp +++ b/backends/vkeybd/virtual-keyboard-gui.cpp @@ -36,7 +36,7 @@ static void blit(Graphics::Surface *surf_dst, Graphics::Surface *surf_src, int16  	if (surf_dst->format.bytesPerPixel != sizeof(OverlayColor) || surf_src->format.bytesPerPixel != sizeof(OverlayColor))  		return; -	const OverlayColor *src = (const OverlayColor *)surf_src->pixels; +	const OverlayColor *src = (const OverlayColor *)surf_src->getPixels();  	int blitW = surf_src->w;  	int blitH = surf_src->h; @@ -161,7 +161,7 @@ void VirtualKeyboardGUI::run() {  		_system->clearOverlay();  	}  	_overlayBackup.create(_screenW, _screenH, _system->getOverlayFormat()); -	_system->grabOverlay(_overlayBackup.pixels, _overlayBackup.pitch); +	_system->grabOverlay(_overlayBackup.getPixels(), _overlayBackup.pitch);  	setupCursor(); @@ -171,7 +171,7 @@ void VirtualKeyboardGUI::run() {  	removeCursor(); -	_system->copyRectToOverlay(_overlayBackup.pixels, _overlayBackup.pitch, 0, 0, _overlayBackup.w, _overlayBackup.h); +	_system->copyRectToOverlay(_overlayBackup.getPixels(), _overlayBackup.pitch, 0, 0, _overlayBackup.w, _overlayBackup.h);  	if (!g_gui.isActive()) _system->hideOverlay();  	_overlayBackup.free(); @@ -262,7 +262,7 @@ void VirtualKeyboardGUI::screenChanged() {  		_screenH = newScreenH;  		_overlayBackup.create(_screenW, _screenH, _system->getOverlayFormat()); -		_system->grabOverlay(_overlayBackup.pixels, _overlayBackup.pitch); +		_system->grabOverlay(_overlayBackup.getPixels(), _overlayBackup.pitch);  		if (!_kbd->checkModeResolutions()) {  			_displaying = false; @@ -356,7 +356,7 @@ void VirtualKeyboardGUI::redraw() {  	Graphics::Surface surf;  	surf.create(w, h, _system->getOverlayFormat()); -	OverlayColor *dst = (OverlayColor *)surf.pixels; +	OverlayColor *dst = (OverlayColor *)surf.getPixels();  	const OverlayColor *src = (OverlayColor *) _overlayBackup.getBasePtr(_dirtyRect.left, _dirtyRect.top);  	while (h--) { @@ -371,7 +371,7 @@ void VirtualKeyboardGUI::redraw() {  		blit(&surf, &_dispSurface, _dispX - _dirtyRect.left,  		     _dispY - _dirtyRect.top, _dispBackColor);  	} -	_system->copyRectToOverlay(surf.pixels, surf.pitch, +	_system->copyRectToOverlay(surf.getPixels(), surf.pitch,  	                           _dirtyRect.left, _dirtyRect.top, surf.w, surf.h);  	surf.free();  | 
