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

📄 apiosdrender.h

📁 mstar 776 开发的车载dvd
💻 H
📖 第 1 页 / 共 2 页
字号:
////////////////////////////////////////////////////////////////////////////////
//
// @file apiOsdRender.h
// @brief Graphic Render Defination
// @author MStar Semiconductor Inc.
//
// Features:
// - Define Graphic Render API
//
// Notes:
//
// Modified: Kevin Hsu
//
////////////////////////////////////////////////////////////////////////////////

#ifndef _APIOSDRENDER_H
#define _APIOSDRENDER_H

//------------------------------------------------------------------------------
// Include Files
//------------------------------------------------------------------------------
#include "DataType.h"
#include "apiOsdGC.h"
#include "DrvGE.h"


//------------------------------------------------------------------------------
// Defines
//------------------------------------------------------------------------------


#define OSD_DBG_ERR 1
#define BYTE_PER_CHAR 1
#define MaxTextOutLen 128 //Max Per line Text Out lengh
#define MaxStringLen 512 //Max String length (for smart string text out)


#ifdef OSD_DBG_ERR
#define PRINTE		printf
#else
#define PRINTE
#endif

typedef struct _Pos
{
   S16  x;
   S16  y;
}Pos;

#define POS(p, X, Y) { p.x = X; p.y = Y; }


//------------------------------------------------------------------------------
// Type and Structure Declaration
//------------------------------------------------------------------------------

#if 0
//Derived from GDI plus
typedef enum
{
    AliceBlue            =  0xFFF0F8FF,  // 0xFFF8F0FF,  0xFFF0F8FF,
    AntiqueWhite         =  0xFFFAEBD7,  // 0xD7EBFAFF,  0xFFFAEBD7,
    Aqua                 =  0xFF00FFFF,  // 0xFFFF00FF,  0xFF00FFFF,
    Aquamarine           =  0xFF7FFFD4,  // 0xD4FF7FFF,  0xFF7FFFD4,
    Azure                =  0xFFF0FFFF,  // 0xFFFFF0FF,  0xFFF0FFFF,
    Beige                =  0xFFF5F5DC,  // 0xDCF5F5FF,  0xFFF5F5DC,
    Bisque               =  0xFFFFE4C4,  // 0xC4E4FFFF,  0xFFFFE4C4,
    Black                =  0xFF080808,  // 0x000000FF,  0xFF000000,
    BlanchedAlmond       =  0xFFFFEBCD,  // 0xCDEBFFFF,  0xFFFFEBCD,
    Blue                 =  0xFF0000FF,  // 0xFF0000FF,  0xFF0000FF,
    BlueViolet           =  0xFF8A2BE2,  // 0xE22B8AFF,  0xFF8A2BE2,
    Brown                =  0xFFA52A2A,  // 0x2A2AA5FF,  0xFFA52A2A,
    BurlyWood            =  0xFFDEB887,  // 0x87B8DEFF,  0xFFDEB887,
    CadetBlue            =  0xFF5F9EA0,  // 0xA09E5FFF,  0xFF5F9EA0,
    Chartreuse           =  0xFF7FFF00,  // 0x00FF7FFF,  0xFF7FFF00,
    Chocolate            =  0xFFD2691E,  // 0x1E69D2FF,  0xFFD2691E,
    Coral                =  0xFFFF7F50,  // 0x507FFFFF,  0xFFFF7F50,
    CornflowerBlue       =  0xFF6495ED,  // 0xED9564FF,  0xFF6495ED,
    Cornsilk             =  0xFFFFF8DC,  // 0xDCF8FFFF,  0xFFFFF8DC,
    Crimson              =  0xFFDC143C,  // 0x3C14DCFF,  0xFFDC143C,
    Cyan                 =  0xFF00FFFF,  // 0xFFFF00FF,  0xFF00FFFF,
    DarkBlue             =  0xFF00008B,  // 0x8B0000FF,  0xFF00008B,
    DarkCyan             =  0xFF008B8B,  // 0x8B8B00FF,  0xFF008B8B,
    DarkGoldenrod        =  0xFFB8860B,  // 0x0B86B8FF,  0xFFB8860B,
    DarkGray             =  0xFFA9A9A9,  // 0xA9A9A9FF,  0xFFA9A9A9,
    DarkGreen            =  0xFF006400,  // 0x006400FF,  0xFF006400,
    DarkKhaki            =  0xFFBDB76B,  // 0x6BB7BDFF,  0xFFBDB76B,
    DarkMagenta          =  0xFF8B008B,  // 0x8B008BFF,  0xFF8B008B,
    DarkOliveGreen       =  0xFF556B2F,  // 0x2F6B55FF,  0xFF556B2F,
    DarkOrange           =  0xFFFF8C00,  // 0x008CFFFF,  0xFFFF8C00,
    DarkOrchid           =  0xFF9932CC,  // 0xCC3299FF,  0xFF9932CC,
    DarkRed              =  0xFF8B0000,  // 0x00008BFF,  0xFF8B0000,
    DarkSalmon           =  0xFFE9967A,  // 0x7A96E9FF,  0xFFE9967A,
    DarkSeaGreen         =  0xFF8FBC8B,  // 0x8BBC8FFF,  0xFF8FBC8B,
    DarkSlateBlue        =  0xFF483D8B,  // 0x8B3D48FF,  0xFF483D8B,
    DarkSlateGray        =  0xFF2F4F4F,  // 0x4F4FF2FF,  0xFF2F4F4F,
    DarkTurquoise        =  0xFF00CED1,  // 0xD1CE00FF,  0xFF00CED1,
    DarkViolet           =  0xFF9400D3,  // 0xD30094FF,  0xFF9400D3,
    DeepPink             =  0xFFFF1493,  // 0x9314FFFF,  0xFFFF1493,
    DeepSkyBlue          =  0xFF00BFFF,  // 0xFFBF00FF,  0xFF00BFFF,
    DimGray              =  0xFF696969,  // 0x696969FF,  0xFF696969,
    DodgerBlue           =  0xFF1E90FF,  // 0xFF901EFF,  0xFF1E90FF,
    Firebrick            =  0xFFB22222,  // 0x2222B2FF,  0xFFB22222,
    FloralWhite          =  0xFFFFFAF0,  // 0xF0FAFFFF,  0xFFFFFAF0,
    ForestGreen          =  0xFF228B22,  // 0x228B22FF,  0xFF228B22,
    Fuchsia              =  0xFFFF00FF,  // 0xFF00FFFF,  0xFFFF00FF,
    Gainsboro            =  0xFFDCDCDC,  // 0xDCDCDCFF,  0xFFDCDCDC,
    GhostWhite           =  0xFFF8F8FF,  // 0xFFF8F8FF,  0xFFF8F8FF,
    Gold                 =  0xFFFFD700,  // 0x00D7FFFF,  0xFFFFD700,
    Goldenrod            =  0xFFDAA520,  // 0x20A5DAFF,  0xFFDAA520,
    Gray                 =  0xFF808080,  // 0x808080FF,  0xFF808080,
    Green                =  0xFF008000,  // 0x008000FF,  0xFF008000,
    GreenYellow          =  0xFFADFF2F,  // 0x2FFFADFF,  0xFFADFF2F,
    Honeydew             =  0xFFF0FFF0,  // 0xF0FFF0FF,  0xFFF0FFF0,
    HotPink              =  0xFFFF69B4,  // 0xB469FFFF,  0xFFFF69B4,
    IndianRed            =  0xFFCD5C5C,  // 0x5C5CCDFF,  0xFFCD5C5C,
    Indigo               =  0xFF4B0082,  // 0x82004BFF,  0xFF4B0082,
    Ivory                =  0xFFFFFFF0,  // 0x0FFFFFFF,  0xFFFFFFF0,
    Khaki                =  0xFFF0E68C,  // 0x8CE6F0FF,  0xFFF0E68C,
    Lavender             =  0xFFE6E6FA,  // 0xFAE6E6FF,  0xFFE6E6FA,
    LavenderBlush        =  0xFFFFF0F5,  // 0xF5F0FFFF,  0xFFFFF0F5,
    LawnGreen            =  0xFF7CFC00,  // 0x00FC7CFF,  0xFF7CFC00,
    LemonChiffon         =  0xFFFFFACD,  // 0xCDFAFFFF,  0xFFFFFACD,
    LightBlue            =  0xFFADD8E6,  // 0xE6D8ADFF,  0xFFADD8E6,
    LightCoral           =  0xFFF08080,  // 0x8080F0FF,  0xFFF08080,
    LightCyan            =  0xFFE0FFFF,  // 0xFFFFFFE0,  0xFFE0FFFF,
    LightGoldenrodYellow =  0xFFFAFAD2,  // 0xD2FAFAFF,  0xFFFAFAD2,
    LightGray            =  0xFFD3D3D3,  // 0xD3D3D3FF,  0xFFD3D3D3,
    LightGreen           =  0xFF90EE90,  // 0x90EE90FF,  0xFF90EE90,
    LightPink            =  0xFFFFB6C1,  // 0xC1B6FFFF,  0xFFFFB6C1,
    LightSalmon          =  0xFFFFA07A,  // 0x7AA0FFFF,  0xFFFFA07A,
    LightSeaGreen        =  0xFF20B2AA,  // 0xAAB220FF,  0xFF20B2AA,
    LightSkyBlue         =  0xFF87CEFA,  // 0xFACE87FF,  0xFF87CEFA,
    LightSlateGray       =  0xFF778899,  // 0x998877FF,  0xFF778899,
    LightSteelBlue       =  0xFFB0C4DE,  // 0xD4C4B0FF,  0xFFB0C4DE,
    LightYellow          =  0xFFFFFFE0,  // 0xE0FFFFFF,  0xFFFFFFE0,
    Lime                 =  0xFF00FF00,  // 0x00FF00FF,  0xFF00FF00,
    LimeGreen            =  0xFF32CD32,  // 0x32CD32FF,  0xFF32CD32,
    Linen                =  0xFFFAF0E6,  // 0xE6F0FAFF,  0xFFFAF0E6,
    Magenta              =  0xFFFF00FF,  // 0xFF00FFFF,  0xFFFF00FF,
    Maroon               =  0xFF800000,  // 0x000080FF,  0xFF800000,
    MediumAquamarine     =  0xFF66CDAA,  // 0xAACD66FF,  0xFF66CDAA,
    MediumBlue           =  0xFF0000CD,  // 0xCD0000FF,  0xFF0000CD,
    MediumOrchid         =  0xFFBA55D3,  // 0xD355BAFF,  0xFFBA55D3,
    MediumPurple         =  0xFF9370DB,  // 0xDB7093FF,  0xFF9370DB,
    MediumSeaGreen       =  0xFF3CB371,  // 0x71B33CFF,  0xFF3CB371,
    MediumSlateBlue      =  0xFF7B68EE,  // 0xEE687BFF,  0xFF7B68EE,
    MediumSpringGreen    =  0xFF00FA9A,  // 0x9AFA00FF,  0xFF00FA9A,
    MediumTurquoise      =  0xFF48D1CC,  // 0xCCD148FF,  0xFF48D1CC,
    MediumVioletRed      =  0xFFC71585,  // 0x8515C7FF,  0xFFC71585,
    MidnightBlue         =  0xFF191970,  // 0x701919FF,  0xFF191970,
    MintCream            =  0xFFF5FFFA,  // 0xFAFFF5FF,  0xFFF5FFFA,
    MistyRose            =  0xFFFFE4E1,  // 0xE1E4FFFF,  0xFFFFE4E1,
    Moccasin             =  0xFFFFE4B5,  // 0xB5E4FFFF,  0xFFFFE4B5,
    NavajoWhite          =  0xFFFFDEAD,  // 0xADFDFFFF,  0xFFFFDEAD,
    Navy                 =  0xFF000080,  // 0x800000FF,  0xFF000080,
    OldLace              =  0xFFFDF5E6,  // 0xE6F5FDFF,  0xFFFDF5E6,
    Olive                =  0xFF808000,  // 0x008080FF,  0xFF808000,
    OliveDrab            =  0xFF6B8E23,  // 0x238E6BFF,  0xFF6B8E23,
    Orange               =  0xFFFFA500,  // 0x00A5FFFF,  0xFFFFA500,
    OrangeRed            =  0xFFFF4500,  // 0x0045FFFF,  0xFFFF4500,
    Orchid               =  0xFFDA70D6,  // 0xD670DAFF,  0xFFDA70D6,
    PaleGoldenrod        =  0xFFEEE8AA,  // 0xAAE8EEFF,  0xFFEEE8AA,
    PaleGreen            =  0xFF98FB98,  // 0x98FB98FF,  0xFF98FB98,
    PaleTurquoise        =  0xFFAFEEEE,  // 0xEEEEAFFF,  0xFFAFEEEE,
    PaleVioletRed        =  0xFFDB7093,  // 0x9370DBFF,  0xFFDB7093,
    PapayaWhip           =  0xFFFFEFD5,  // 0xD5EFFFFF,  0xFFFFEFD5,
    PeachPuff            =  0xFFFFDAB9,  // 0xB9DAFFFF,  0xFFFFDAB9,
    Peru                 =  0xFFCD853F,  // 0x3D85CDFF,  0xFFCD853F,
    Pink                 =  0xFFFFC0CB,  // 0xCBC0FFFF,  0xFFFFC0CB,
    Plum                 =  0xFFDDA0DD,  // 0xDDA0DDFF,  0xFFDDA0DD,
    PowderBlue           =  0xFFB0E0E6,  // 0xE6E0B0FF,  0xFFB0E0E6,
    Purple               =  0xFF800080,  // 0x800080FF,  0xFF800080,
    Red                  =  0xFFFF0000,  // 0x0000FFFF,  0xFFFF0000,
    RosyBrown            =  0xFFBC8F8F,  // 0x8F8FBCFF,  0xFFBC8F8F,
    RoyalBlue            =  0xFF4169E1,  // 0xE16941FF,  0xFF4169E1,
    SaddleBrown          =  0xFF8B4513,  // 0x13458BFF,  0xFF8B4513,
    Salmon               =  0xFFFA8072,  // 0x7280FAFF,  0xFFFA8072,
    SandyBrown           =  0xFFF4A460,  // 0x60A4F4FF,  0xFFF4A460,
    SeaGreen             =  0xFF2E8B57,  // 0x578B2EFF,  0xFF2E8B57,
    SeaShell             =  0xFFFFF5EE,  // 0xEEF5FFFF,  0xFFFFF5EE,
    Sienna               =  0xFFA0522D,  // 0x2D52A0FF,  0xFFA0522D,
    Silver               =  0xFFC0C0C0,  // 0xC0C0C0FF,  0xFFC0C0C0,
    SkyBlue              =  0xFF87CEEB,  // 0xEBCE87FF,  0xFF87CEEB,
    SlateBlue            =  0xFF6A5ACD,  // 0xCD5A6AFF,  0xFF6A5ACD,
    SlateGray            =  0xFF708090,  // 0x908070FF,  0xFF708090,
    Snow                 =  0xFFFFFAFA,  // 0xFAFAFFFF,  0xFFFFFAFA,
    SpringGreen          =  0xFF00FF7F,  // 0x7FFF00FF,  0xFF00FF7F,
    SteelBlue            =  0xFF4682B4,  // 0xB48246FF,  0xFF4682B4,
    Tan                  =  0xFFD2B48C,  // 0x8CB4D2FF,  0xFFD2B48C,
    Teal                 =  0xFF008080,  // 0x808000FF,  0xFF008080,
    Thistle              =  0xFFD8BFD8,  // 0xD8BFD8FF,  0xFFD8BFD8,
    Tomato               =  0xFFFF6347,  // 0x4763FFFF,  0xFFFF6347,
//    Transparent          =  0x00FFFFFF,  // 0xFFFFFF00,  0x00FFFFFF,
    Transparent          =  0xFF000000,
    Turquoise            =  0xFF40E0D0,  // 0xD0E040FF,  0xFF40E0D0,
    Violet               =  0xFFEE82EE,  // 0xEE82EEFF,  0xFFEE82EE,
    Wheat                =  0xFFF5DEB3,  // 0xB3DEF5FF,  0xFFF5DEB3,
    White                =  0xFFFFFFFF,  // 0xFFFFFFFF,  0xFFFFFFFF,
    WhiteSmoke           =  0xFFF5F5F5,  // 0xF5F5F5FF,  0xFFF5F5F5,
    Yellow               =  0xFFFFFF00,  // 0x00FFFFFF,  0xFFFFFF00,
    YellowGreen          =  0xFF9ACD32   // 0x32CD9AFF   0xFF9ACD32
} OsdColor;

#endif

/*
         North
           |
         \   /
   West -     -  East
         /   \
           |
         South

*/


typedef enum _Corner
{
   eNorth     = 0,
   eNorthEast,
   eEast,
   eSouthEast,
   eSouth,
   eSouthWest,
   eWest,
   eNorthWest
}Corner;

typedef enum _TriangleStyle
{

/*
    _
    \|
*/
   eTriangle1,
/*
    |\
     -

*/
   eTriangle2,
/*
    /|
     -

*/

   eTriangle3,
/*
     _
    |/
*/
   eTriangle4,
/*
    <|
*/
   eTriangle5,
/*
    |>
*/

   eTriangle6,

/*
    _
    \/

*/
   eTriangle7,

/*
    /\
     -
*/
   eTriangle8
}TriangleStyle;

typedef enum _LineType
{
   eSolidLine,
   eDashLine
}LineType;

typedef enum _Rect3DType
{
   eRect3D_Normal        = 0,
   eRect3D_Sink          = 0x01,
   eRect3D_NoUpBorder    = 0x02,
   eRect3D_NoLowerBorder = 0x04
}Rect3DType ;



/// Define color
#if 0
typedef struct
{
    /// ARGB8888
    struct {
    /// Blue

⌨️ 快捷键说明

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