📄 lcdp655.c
字号:
/*
*********************************************************************************************************
* uC/GUI V3.98
* Universal graphic software for embedded applications
*
* (c) Copyright 2002, Micrium Inc., Weston, FL
* (c) Copyright 2002, SEGGER Microcontroller Systeme GmbH
*
* 礐/GUI is protected by international copyright laws. Knowledge of the
* source code may not be used to write a similar product. This file may
* only be used in accordance with a license and should not be redistributed
* in any way. We appreciate your understanding and fairness.
*
----------------------------------------------------------------------
File : LCDP655.C
Purpose : Color conversion routines
---------------------------END-OF-HEADER------------------------------
*/
#include "LCD_Protected.h" /* inter modul definitions */
/*********************************************************************
*
* Defines
*
**********************************************************************
*/
#define B_BITS 6
#define G_BITS 5
#define R_BITS 5
#define R_MASK ((1 << R_BITS) -1)
#define G_MASK ((1 << G_BITS) -1)
#define B_MASK ((1 << B_BITS) -1)
/*********************************************************************
*
* Public code,
*
* LCD_FIXEDPALETTE == 655, 65536 colors, BBBBBBGGGGGRRRRR
*
**********************************************************************
*/
/*********************************************************************
*
* LCD_Color2Index_655
*/
unsigned LCD_Color2Index_655(LCD_COLOR Color) {
int r,g,b;
r = (Color>> (8 - R_BITS)) & R_MASK;
g = (Color>> (16 - G_BITS)) & G_MASK;
b = (Color>> (24 - B_BITS)) & B_MASK;
return r + (g << R_BITS) + (b << (G_BITS + R_BITS));
}
/*********************************************************************
*
* LCD_Index2Color_655
*/
LCD_COLOR LCD_Index2Color_655(int Index) {
unsigned int r,g,b;
/* Seperate the color masks */
r = Index & R_MASK;
g = (Index >> R_BITS) & G_MASK;
b = ((unsigned)Index >> (R_BITS + G_BITS)) & B_MASK;
/* Convert the color masks */
r = r * 255 / R_MASK;
g = g * 255 / G_MASK;
b = b * 255 / B_MASK;
return r + (g<<8) + (((U32)b)<<16);
}
/*********************************************************************
*
* LCD_GetIndexMask_655
*/
unsigned LCD_GetIndexMask_655(void) {
return 0xffff;
}
/*************************** End of file ****************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -