diff options
Diffstat (limited to 'engines/cine/pal.h')
-rw-r--r-- | engines/cine/pal.h | 130 |
1 files changed, 71 insertions, 59 deletions
diff --git a/engines/cine/pal.h b/engines/cine/pal.h index bbfaf54ab2..e5bb8db78f 100644 --- a/engines/cine/pal.h +++ b/engines/cine/pal.h @@ -35,7 +35,7 @@ namespace Cine { #define kLowPalNumColors 16 #define kLowPalNumBytes ((kLowPalNumColors) * (kLowPalBytesPerColor)) -/*! \brief Low resolution (9-bit) color format used in Cine's 16-color modes. */ +/** Low resolution (9-bit) color format used in Cine's 16-color modes. */ static const Graphics::PixelFormat kLowPalFormat(kLowPalBytesPerColor, 3, 3, 3, 0, 8, 4, 0, 0); @@ -44,13 +44,14 @@ static const Graphics::PixelFormat kLowPalFormat(kLowPalBytesPerColor, 3, 3, 3, #define kHighPalNumColors 256 #define kHighPalNumBytes ((kHighPalNumColors) * (kHighPalBytesPerColor)) -/*! \brief High resolution (24-bit) color format used in Cine's 256-color modes. */ +/** High resolution (24-bit) color format used in Cine's 256-color modes. */ static const Graphics::PixelFormat kHighPalFormat(kHighPalBytesPerColor, 8, 8, 8, 0, 0, 8, 16, 0); -/*! \brief The color format used by OSystem's setPalette-function. */ +/** The color format used by OSystem's setPalette-function. */ static const Graphics::PixelFormat kSystemPalFormat(4, 8, 8, 8, 0, 0, 8, 16, 0); -/*! \brief Endian types. Used at least by Palette class's load and save functions. +/** + * Endian types. Used at least by Palette class's load and save functions. * TODO: Move somewhere more general as this is definitely not Cine-engine specific * * NOTE: It seems LITTLE_ENDIAN and/or BIG_ENDIAN were defined already on some platforms so @@ -74,86 +75,97 @@ void loadPal(const char *fileName); void loadRelatedPalette(const char *fileName); -// A class for handling Cine-engine's palettes. -// TODO: Test a bit more +/** + * A class for handling Cine-engine's palettes. + * TODO: Test a bit more + */ class Palette { public: struct Color { uint8 r, g, b; }; - /*! \brief Create an initially black palette with the given color format and number of colors. - * \param format Color format - * \param numColors Number of colors - * \note For the default constructed object (i.e. no parameters given) this will hold: empty() && !isValid() + /** + * Create an initially black palette with the given color format and number of colors. + * @param format Color format + * @param numColors Number of colors + * @note For the default constructed object (i.e. no parameters given) this will hold: empty() && !isValid() */ Palette(const Graphics::PixelFormat format = Graphics::PixelFormat(), const uint numColors = 0); - /*! \brief Clear the palette (Set color count to zero, release memory, overwrite color format with default value). - * \note This is very different from using fillWithBlack-function which fills the palette with black. + /** + * Clear the palette (Set color count to zero, release memory, overwrite color format with default value). + * @note This is very different from using fillWithBlack-function which fills the palette with black. */ Palette &clear(); - /*! \brief Load palette from buffer with given color format, endianness and number of colors. - * \param buf Input buffer - * \param size Input buffer size in bytes - * \param format Input color format - * \param numColors Number of colors to load - * \param endian The endianness of the colors in the input buffer + /** + * Load palette from buffer with given color format, endianness and number of colors. + * @param buf Input buffer + * @param size Input buffer size in bytes + * @param format Input color format + * @param numColors Number of colors to load + * @param endian The endianness of the colors in the input buffer */ Palette &load(const byte *buf, const uint size, const Graphics::PixelFormat format, const uint numColors, const EndianType endian); - /*! \brief Save the whole palette to buffer in original color format using defined endianness. - * \param buf Output buffer - * \param size Output buffer size in bytes - * \param endian The endian type to use + /** + * Save the whole palette to buffer in original color format using defined endianness. + * @param buf Output buffer + * @param size Output buffer size in bytes + * @param endian The endian type to use */ byte *save(byte *buf, const uint size, const EndianType endian) const; - /*! \brief Save the whole palette to buffer in given color format using defined endianness. - * \param buf Output buffer - * \param size Output buffer size in bytes - * \param format Output color format - * \param endian The endian type to use + /** + * Save the whole palette to buffer in given color format using defined endianness. + * @param buf Output buffer + * @param size Output buffer size in bytes + * @param format Output color format + * @param endian The endian type to use */ byte *save(byte *buf, const uint size, const Graphics::PixelFormat format, const EndianType endian) const; - /*! \brief Save (partial) palette to buffer in given color format using defined endianness. - * \param buf Output buffer - * \param size Output buffer size in bytes - * \param format Output color format - * \param numColors Number of colors to save - * \param endian The endian type to use - * \param firstIndex Starting color index (from which onwards to save the colors) + /** + * Save (partial) palette to buffer in given color format using defined endianness. + * @param buf Output buffer + * @param size Output buffer size in bytes + * @param format Output color format + * @param numColors Number of colors to save + * @param endian The endian type to use + * @param firstIndex Starting color index (from which onwards to save the colors) */ byte *save(byte *buf, const uint size, const Graphics::PixelFormat format, const uint numColors, const EndianType endian, const byte firstIndex = 0) const; - /*! \brief Rotate the palette in color range [firstIndex, lastIndex] to the right by the specified rotation amount. - * \param rotationAmount Amount to rotate the sub-palette to the right. Only values 0 and 1 are currently supported! + /** + * Rotate the palette in color range [firstIndex, lastIndex] to the right by the specified rotation amount. + * @param rotationAmount Amount to rotate the sub-palette to the right. Only values 0 and 1 are currently supported! */ Palette &rotateRight(byte firstIndex, byte lastIndex, signed rotationAmount = 1); Palette &saturatedAddColor(Palette &output, byte firstIndex, byte lastIndex, signed r, signed g, signed b) const; - /*! \brief Saturated add an RGB color in given color format to current palette's subset and save the modified colors in the given output palette. - * \param output The output palette (Only this palette is modified) - * \param firstIndex First color index of the palette's subset (Inclusive range) - * \param lastIndex Last color index of the palette's subset (Inclusive range) - * \param rSource The red color component in the source color format - * \param gSource The green color component in the source color format - * \param bSource The blue color component in the source color format - * \param sourceFormat The source color format (i.e. the color format of the given RGB color) - * \note This function basically converts the given color to the palette's internal color format + /** + * Saturated add an RGB color in given color format to current palette's subset and save the modified colors in the given output palette. + * @param output The output palette (Only this palette is modified) + * @param firstIndex First color index of the palette's subset (Inclusive range) + * @param lastIndex Last color index of the palette's subset (Inclusive range) + * @param rSource The red color component in the source color format + * @param gSource The green color component in the source color format + * @param bSource The blue color component in the source color format + * @param sourceFormat The source color format (i.e. the color format of the given RGB color) + * @note This function basically converts the given color to the palette's internal color format * and adds that using the normal saturatedAddColor-function. */ Palette &saturatedAddColor(Palette &output, byte firstIndex, byte lastIndex, signed rSource, signed gSource, signed bSource, const Graphics::PixelFormat &sourceFormat) const; - /*! \brief Saturated add a normalized gray value to current palette's subset and save the modified colors in the given output palette. - * \param output The output palette (Only this palette is modified) - * \param firstIndex First color index of the palette's subset (Inclusive range) - * \param lastIndex Last color index of the palette's subset (Inclusive range) - * \param grayDividend Dividend of the normalized gray value - * \param grayDenominator Denominator of the normalized gray value - * \note The normalized gray value (i.e. in range [-1, +1]) is given as a fractional number + /** + * Saturated add a normalized gray value to current palette's subset and save the modified colors in the given output palette. + * @param output The output palette (Only this palette is modified) + * @param firstIndex First color index of the palette's subset (Inclusive range) + * @param lastIndex Last color index of the palette's subset (Inclusive range) + * @param grayDividend Dividend of the normalized gray value + * @param grayDenominator Denominator of the normalized gray value + * @note The normalized gray value (i.e. in range [-1, +1]) is given as a fractional number * (i.e. the normalized gray value is calculated by dividing grayDividend by grayDenominator). */ Palette &saturatedAddNormalizedGray(Palette &output, byte firstIndex, byte lastIndex, signed grayDividend, signed grayDenominator) const; @@ -163,25 +175,25 @@ public: Palette &fillWithBlack(); - /*! \brief Is the palette valid? (Mostly just checks the color format for correctness) */ + /** Is the palette valid? (Mostly just checks the color format for correctness) */ bool isValid() const; - /*! \brief The original color format in which this palette was loaded. */ + /** The original color format in which this palette was loaded. */ const Graphics::PixelFormat &colorFormat() const; - /*! \brief Sets current palette to global OSystem's palette using g_system->setPalette. */ + /** Sets current palette to global OSystem's palette using g_system->setPalette. */ void setGlobalOSystemPalette() const; - /*! \brief Get the color at the given palette index. */ + /** Get the color at the given palette index. */ Color getColor(byte index) const; - /*! \brief Get the red color component of the color at the given palette index. */ + /** Get the red color component of the color at the given palette index. */ uint8 getR(byte index) const; - /*! \brief Get the green color component of the color at the given palette index. */ + /** Get the green color component of the color at the given palette index. */ uint8 getG(byte index) const; - /*! \brief Get the blue color component of the color at the given palette index. */ + /** Get the blue color component of the color at the given palette index. */ uint8 getB(byte index) const; private: |