diff options
Diffstat (limited to 'common')
-rw-r--r-- | common/system.cpp | 1 | ||||
-rw-r--r-- | common/system.h | 66 |
2 files changed, 6 insertions, 61 deletions
diff --git a/common/system.cpp b/common/system.cpp index 81fe761f1d..1ec7c14617 100644 --- a/common/system.cpp +++ b/common/system.cpp @@ -93,4 +93,3 @@ void OSystem::logMessage(LogMessageType::Type type, const char *message) { Common::String OSystem::getSystemLanguage() const { return "en_US"; } - diff --git a/common/system.h b/common/system.h index 52fb2dbd56..c487e727a8 100644 --- a/common/system.h +++ b/common/system.h @@ -31,6 +31,7 @@ #include "common/rect.h" #include "common/list.h" // For OSystem::getSupportedFormats() +#include "graphics/palette.h" // for PaletteManager #include "graphics/pixelformat.h" namespace Audio { @@ -54,6 +55,7 @@ namespace Common { class AudioCDManager; class FilesystemFactory; +class PaletteManager; /** * A structure describing time and date. This is a clone of struct tm @@ -517,66 +519,10 @@ public: virtual int16 getWidth() = 0; /** - * Replace the specified range of the palette with new colors. - * The palette entries from 'start' till (start+num-1) will be replaced - so - * a full palette update is accomplished via start=0, num=256. - * - * The palette data is specified in interleaved RGBA format. That is, the - * first byte of the memory block 'colors' points at is the red component - * of the first new color; the second byte the green component of the first - * new color; the third byte the blue component, the last byte to the alpha - * (transparency) value. Then the second color starts, and so on. So memory - * looks like this: R1-G1-B1-A1-R2-G2-B2-A2-R3-... - * - * @param colors the new palette data, in interleaved RGBA format - * @param start the first palette entry to be updated - * @param num the number of palette entries to be updated - * - * @note It is an error if start+num exceeds 256, behaviour is undefined - * in that case (the backend may ignore it silently or assert). - * @note It is an error if this function gets called when the pixel format - * in use (the return value of getScreenFormat) has more than one - * byte per pixel. - * @note The alpha value is not actually used, and future revisions of this - * API are probably going to remove it. - * - * @see getScreenFormat + * Return the palette manager singleton. For more information, refer + * to the PaletteManager documentation. */ - virtual void setPalette(const byte *colors, uint start, uint num) = 0; - - /** - * Grabs a specified part of the currently active palette. - * The format is the same as for setPalette. - * - * This should return exactly the same RGB data as was setup via previous - * setPalette calls. - * - * For example, for every valid value of start and num of the following - * code: - * - * byte origPal[num*4]; - * // Setup origPal's data however you like - * g_system->setPalette(origPal, start, num); - * byte obtainedPal[num*4]; - * g_system->grabPalette(obtainedPal, start, num); - * - * the following should be true: - * - * For each i < num : memcmp(&origPal[i*4], &obtainedPal[i*4], 3) == 0 - * (i is an uint here) - * - * @see setPalette - * @param colors the palette data, in interleaved RGBA format - * @param start the first platte entry to be read - * @param num the number of palette entries to be read - * - * @note It is an error if this function gets called when the pixel format - * in use (the return value of getScreenFormat) has more than one - * byte per pixel. - * - * @see getScreenFormat - */ - virtual void grabPalette(byte *colors, uint start, uint num) = 0; + virtual PaletteManager *getPaletteManager() = 0; /** * Blit a bitmap to the virtual screen. @@ -1079,7 +1025,7 @@ public: * * For information about POSIX locales read here: * http://en.wikipedia.org/wiki/Locale#POSIX-type_platforms - * + * * The default implementation returns "en_US". * * @return locale of the system |