color_palette.h

Back to Color palettes

pastel/gfx/color/

// Description: Palettes for indexed color systems

#ifndef PASTELGFX_COLOR_PALETTE_H
#define PASTELGFX_COLOR_PALETTE_H

#include "pastel/gfx/color/color.h"

#include "pastel/sys/mytypes.h"

#include <vector>

namespace Pastel
{

    //! Generates the default vga palette.
    void vgaPalette(
        std::vector<Color>& palette);

    //! Generates a random palette.
    void randomPalette(
        std::vector<Color>& palette, 
        integer count = 256);

    //! Generates a grayscale palette.
    /*!
   Preconditions:
   count >= 0
   maxValue >= 0
   */
    void grayscalePalette(
        std::vector<Color>& palette, 
        integer count = 256, 
        real32 maxValue = 1);

    //! Generates a palette good for false color images.
    void smoothFalseColorPalette(
        std::vector<Color>& palette,
        integer count = 256);

    //! Generates a palette good for false color images.
    void falseColorPalette(
        std::vector<Color>& palette,
        integer count = 256);

}

#include "pastel/gfx/color/color_palette.hpp"

#endif