⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sma_colors.c

📁 sharp的arm920t 7A400的评估板附带光盘Sharp KEVLH7A400 v0.3b Welcome to the SHARP KEV7A400 Evaluation board
💻 C
字号:
/***********************************************************************
 * $Workfile:   SMA_colors.c  $
 * $Revision:   1.0  $
 * $Author:   WellsK  $
 * $Date:   Aug 27 2002 08:37:44  $
 *
 * Project: Color definitions
 *
 * Description:
 *  See the SMA_colors.h header file for a description of this package.
 *
 * Revision History:
 * $Log:   //smaicnt2/pvcs/VM/CHIPS/archives/SOC/Source/Graphics/Utilities/Color conversion/SMA_colors.c-arc  $
 * 
 *    Rev 1.0   Aug 27 2002 08:37:44   WellsK
 * Initial revision.
 * 
 *
 * SHARP MICROELECTRONICS OF THE AMERICAS MAKES NO REPRESENTATION
 * OR WARRANTIES WITH RESPECT TO THE PERFORMANCE OF THIS SOFTWARE,
 * AND SPECIFICALLY DISCLAIMS ANY RESPONSIBILITY FOR ANY DAMAGES, 
 * SPECIAL OR CONSEQUENTIAL, CONNECTED WITH THE USE OF THIS SOFTWARE.
 *
 * SHARP MICROELECTRONICS OF THE AMERICAS PROVIDES THIS SOFTWARE SOLELY 
 * FOR THE PURPOSE OF SOFTWARE DEVELOPMENT INCORPORATING THE USE OF A 
 * SHARP MICROCONTROLLER OR SYSTEM-ON-CHIP PRODUCT. USE OF THIS SOURCE
 * FILE IMPLIES ACCEPTANCE OF THESE CONDITIONS.
 *
 * COPYRIGHT (C) 2002 SHARP MICROELECTRONICS OF THE AMERICAS, INC.
 *     CAMAS, WA
 **********************************************************************/
#include "SMA_colors.h"

//**********************************************************************
// Functions
//**********************************************************************

/***********************************************************************
 *
 * Function: colors_set_palette
 *
 * Purpose:
 *  Generate a palette table (only in 8-bit mode).
 *
 * Processing:
 *  Depending on the target LCD color mapping (either 555 or 565), a
 *  palette table will be generated to convert colors stored in 233
 *  format to either 555 or 565 format through a lookup table.
 *
 * Parameters:
 *  palette_table : Pointer of where to put the 256 8-bit to 16-bit
 *                  palette conversion entries.
 *
 * Outputs:
 *  Places the palette table in memory indiced by palette_table.
 *
 * Returns:
 *  Nothing
 *
 * Notes:
 *  If compiled in 16-bit color mode, this will be a NULL function.
 *  Select the appropriate define in this function for 555 or 565 color
 *  mode displays when using an 256 color frame buffer.
 *
 **********************************************************************/
void colors_set_palette (UNS_16 *palette_table)
{
#ifdef COLORS_8
    INT_32 i;
    UNS_16 entry, r, g, b;

    // 256 entries
    for (i = 0; i < NUM_COLORS; i++)
    {
        r = ((UNS_16) i & REDMASK) >> REDSHIFT;
        g = ((UNS_16) i & GREENMASK) >> GREENSHIFT;
        b = ((UNS_16) i & BLUEMASK) >> BLUESHIFT;

#ifdef COLORS_8_565_MODE // Use this entry for 565 color mode
        // Strip out and scale colors
        r = r * 0x1F / ((REDMASK >> REDSHIFT) + 1);
        g = g * 0x1F / ((GREENMASK >> GREENSHIFT) + 1);
        b = b * 0x1F / ((BLUEMASK >> BLUESHIFT) + 1);
        entry = b + (g << 5) + (r << 10);

#else // Use this entry for 565 color mode
        // Strip out and scale colors
        r = r * 0x1F / ((REDMASK >> REDSHIFT) + 1);
        g = g * 0x3F / ((GREENMASK >> GREENSHIFT) + 1);
        b = b * 0x1F / ((BLUEMASK >> BLUESHIFT) + 1);
        entry = b + (g << 5) + (r << 11);
#endif

        // Save palette entry
        palette_table [i] = entry;
    }

#else
    // Do nothing in non-8-bit modes
    ;
#endif
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -