/* ---------------------------------------------------------------------------- | |
* SAM Software Package License | |
* ---------------------------------------------------------------------------- | |
* Copyright (c) 2011, Atmel Corporation | |
* | |
* All rights reserved. | |
* | |
* Redistribution and use in source and binary forms, with or without | |
* modification, are permitted provided that the following conditions are met: | |
* | |
* - Redistributions of source code must retain the above copyright notice, | |
* this list of conditions and the disclaimer below. | |
* | |
* Atmel's name may not be used to endorse or promote products derived from | |
* this software without specific prior written permission. | |
* | |
* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR | |
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | |
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE | |
* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, | |
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | |
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, | |
* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF | |
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING | |
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, | |
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |
* ---------------------------------------------------------------------------- | |
*/ | |
#ifndef COLOR_H | |
#define COLOR_H | |
/** | |
* \file | |
* | |
* RGB 24-bits color table definition. | |
* | |
*/ | |
/* | |
* RGB 24 Bpp | |
* RGB 888 | |
* R7R6R5R4 R3R2R1R0 G7G6G5G4 G3G2G1G0 B7B6B5B4 B3B2B1B0 | |
*/ | |
#define COLOR_BLACK 0x000000 | |
#define COLOR_WHITE 0xFFFFFF | |
#define COLOR_BLUE 0x0000FF | |
#define COLOR_GREEN 0x00FF00 | |
#define COLOR_RED 0xFF0000 | |
#define COLOR_NAVY 0x000080 | |
#define COLOR_DARKBLUE 0x00008B | |
#define COLOR_DARKGREEN 0x006400 | |
#define COLOR_DARKCYAN 0x008B8B | |
#define COLOR_CYAN 0x00FFFF | |
#define COLOR_TURQUOISE 0x40E0D0 | |
#define COLOR_INDIGO 0x4B0082 | |
#define COLOR_DARKRED 0x800000 | |
#define COLOR_OLIVE 0x808000 | |
#define COLOR_GRAY 0x808080 | |
#define COLOR_SKYBLUE 0x87CEEB | |
#define COLOR_BLUEVIOLET 0x8A2BE2 | |
#define COLOR_LIGHTGREEN 0x90EE90 | |
#define COLOR_DARKVIOLET 0x9400D3 | |
#define COLOR_YELLOWGREEN 0x9ACD32 | |
#define COLOR_BROWN 0xA52A2A | |
#define COLOR_DARKGRAY 0xA9A9A9 | |
#define COLOR_SIENNA 0xA0522D | |
#define COLOR_LIGHTBLUE 0xADD8E6 | |
#define COLOR_GREENYELLOW 0xADFF2F | |
#define COLOR_SILVER 0xC0C0C0 | |
#define COLOR_LIGHTGREY 0xD3D3D3 | |
#define COLOR_LIGHTCYAN 0xE0FFFF | |
#define COLOR_VIOLET 0xEE82EE | |
#define COLOR_AZUR 0xF0FFFF | |
#define COLOR_BEIGE 0xF5F5DC | |
#define COLOR_MAGENTA 0xFF00FF | |
#define COLOR_TOMATO 0xFF6347 | |
#define COLOR_GOLD 0xFFD700 | |
#define COLOR_ORANGE 0xFFA500 | |
#define COLOR_SNOW 0xFFFAFA | |
#define COLOR_YELLOW 0xFFFF00 | |
#define BLACK 0x0000 | |
#define BLUE 0x001F | |
#define RED 0xF800 | |
#define GREEN 0x07E0 | |
#define WHITE 0xFFFF | |
/* level is in [0; 31]*/ | |
#define BLUE_LEV( level) ( (level)&BLUE ) | |
#define GREEN_LEV(level) ( (((level)*2)<<5)&GREEN ) | |
#define RED_LEV( level) ( ((level)<<(5+6))&RED ) | |
#define GRAY_LEV( level) ( BLUE_LEV(level) | GREEN_LEV(level) | RED_LEV(level)) | |
#define RGB_24_TO_RGB565(RGB) \ | |
(((RGB >>19)<<11) | (((RGB & 0x00FC00) >>5)) | (RGB & 0x00001F)) | |
#define RGB_24_TO_18BIT(RGB) \ | |
(((RGB >>16)&0xFC) | (((RGB & 0x00FF00) >>10) << 10) | (RGB & 0x0000FC)<<16) | |
#define RGB_16_TO_18BIT(RGB) \ | |
(((((RGB >>11)*63)/31)<<18) | (RGB & 0x00FC00) | (((RGB & 0x00001F)*63)/31)) | |
#define BGR_TO_RGB_18BIT(RGB) \ | |
(RGB & 0xFF0000) | ((RGB & 0x00FF00) >> 8 ) | ( (RGB & 0x0000FC) >> 16 )) | |
#define BGR_16_TO_18BITRGB(RGB) BGR_TO_RGB_18BIT(RGB_16_TO_18BIT(RGB)) | |
#endif /* #define COLOR_H */ |