diff options
author | Filippos Karapetis | 2009-10-13 17:09:32 +0000 |
---|---|---|
committer | Filippos Karapetis | 2009-10-13 17:09:32 +0000 |
commit | 4e0046dd1f1cd342bd0c2c8b1f7367299e117d15 (patch) | |
tree | e61932ec2bcc65ff270d6a609bd9b6348b4ead46 /engines/sci/gfx/gfx_driver.cpp | |
parent | 5aa141539786c4f905addfd0c05f6e00dfd3afd7 (diff) | |
download | scummvm-rg350-4e0046dd1f1cd342bd0c2c8b1f7367299e117d15.tar.gz scummvm-rg350-4e0046dd1f1cd342bd0c2c8b1f7367299e117d15.tar.bz2 scummvm-rg350-4e0046dd1f1cd342bd0c2c8b1f7367299e117d15.zip |
Merged the rest of the cursor code
svn-id: r45029
Diffstat (limited to 'engines/sci/gfx/gfx_driver.cpp')
-rw-r--r-- | engines/sci/gfx/gfx_driver.cpp | 39 |
1 files changed, 0 insertions, 39 deletions
diff --git a/engines/sci/gfx/gfx_driver.cpp b/engines/sci/gfx/gfx_driver.cpp index 78ed7620e9..8ac2e8e1d9 100644 --- a/engines/sci/gfx/gfx_driver.cpp +++ b/engines/sci/gfx/gfx_driver.cpp @@ -183,45 +183,6 @@ void GfxDriver::setStaticBuffer(gfx_pixmap_t *pic, gfx_pixmap_t *priority) { memcpy(_screen->_controlScreen, priority->index_data, _mode->xsize * _mode->ysize); } -// Mouse pointer operations - -void GfxDriver::setPointer(gfx_pixmap_t *pointer, Common::Point *hotspot) { - if (!pointer || !hotspot) { - CursorMan.showMouse(false); - return; - } - - pointer->palette->mergeInto(_mode->palette); - - // Scale cursor and map its colors to the global palette - byte *cursorData = new byte[pointer->width * pointer->height]; - - for (int yc = 0; yc < pointer->index_height; yc++) { - byte *linebase = &cursorData[yc * (pointer->width * _mode->scaleFactor)]; - - for (int xc = 0; xc < pointer->index_width; xc++) { - byte color = pointer->index_data[yc * pointer->index_width + xc]; - if (color < pointer->palette->size()) - color = pointer->palette->getColor(color).getParentIndex(); - memset(&linebase[xc], color, _mode->scaleFactor); - } - - // Scale vertically - for (int scalectr = 1; scalectr < _mode->scaleFactor; scalectr++) - memcpy(&linebase[pointer->width * scalectr], linebase, pointer->width); - } - - byte color_key = pointer->color_key; - if ((pointer->color_key != GFX_PIXMAP_COLOR_KEY_NONE) && ((uint)pointer->color_key < pointer->palette->size())) - color_key = pointer->palette->getColor(pointer->color_key).getParentIndex(); - - CursorMan.replaceCursor(cursorData, pointer->width, pointer->height, hotspot->x, hotspot->y, color_key); - CursorMan.showMouse(true); - - delete[] cursorData; - cursorData = 0; -} - void GfxDriver::animatePalette(int fromColor, int toColor, int stepCount) { int i; PaletteEntry firstColor = _mode->palette->getColor(fromColor); |