GRAPHICS: Add a default Windows cursor

Based on the Mohawk one
This commit is contained in:
Matthew Hoops 2011-08-16 00:30:12 -04:00
parent 91ae23ebf2
commit c75bf3290d
2 changed files with 64 additions and 0 deletions

View file

@ -308,4 +308,61 @@ WinCursorGroup *WinCursorGroup::createCursorGroup(Common::PEResources &exe, cons
return group;
}
/**
* The default Windows cursor
*/
class DefaultWinCursor : public Cursor {
public:
DefaultWinCursor() {}
~DefaultWinCursor() {}
uint16 getWidth() const { return 12; }
uint16 getHeight() const { return 20; }
uint16 getHotspotX() const { return 0; }
uint16 getHotspotY() const { return 0; }
byte getKeyColor() const { return 0; }
const byte *getSurface() const {
static const byte defaultCursor[] = {
1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0,
1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0,
1, 2, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0,
1, 2, 2, 2, 2, 2, 1, 0, 0, 0, 0, 0,
1, 2, 2, 2, 2, 2, 2, 1, 0, 0, 0, 0,
1, 2, 2, 2, 2, 2, 2, 2, 1, 0, 0, 0,
1, 2, 2, 2, 2, 2, 2, 2, 2, 1, 0, 0,
1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 0,
1, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1,
1, 2, 2, 2, 1, 2, 2, 1, 0, 0, 0, 0,
1, 2, 2, 1, 1, 2, 2, 1, 0, 0, 0, 0,
1, 2, 1, 0, 1, 1, 2, 2, 1, 0, 0, 0,
1, 1, 0, 0, 0, 1, 2, 2, 1, 0, 0, 0,
1, 0, 0, 0, 0, 0, 1, 2, 2, 1, 0, 0,
0, 0, 0, 0, 0, 0, 1, 2, 2, 1, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1, 2, 2, 1, 0,
0, 0, 0, 0, 0, 0, 0, 1, 2, 2, 1, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0
};
return defaultCursor;
}
const byte *getPalette() const {
static const byte bwPalette[] = {
0x00, 0x00, 0x00, // Black
0xFF, 0xFF, 0xFF // White
};
return bwPalette;
}
byte getPaletteStartIndex() const { return 1; }
uint16 getPaletteCount() const { return 2; }
};
Cursor *makeDefaultWinCursor() {
return new DefaultWinCursor();
}
} // End of namespace Graphics

View file

@ -102,6 +102,13 @@ struct WinCursorGroup {
static WinCursorGroup *createCursorGroup(Common::PEResources &exe, const Common::WinResourceID &id);
};
/**
* Create a Cursor for the default Windows cursor.
*
* @note The calling code is responsible for deleting the returned pointer.
*/
Cursor *makeDefaultWinCursor();
} // End of namespace Graphics
#endif