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

📄 msapi_cc_parser.h

📁 mstar 776 开发的车载dvd
💻 H
📖 第 1 页 / 共 3 页
字号:
{
    SPC_EDGE_COLOR_BLACK,
    SPC_EDGE_COLOR_WHITE,
    SPC_EDGE_COLOR_RED,
    SPC_EDGE_COLOR_GREEN,
    SPC_EDGE_COLOR_BLUE,
    SPC_EDGE_COLOR_YELLOW,
    SPC_EDGE_COLOR_MAGENTA,
    SPC_EDGE_COLOR_CYAN,
} EN_CC708_SPC_EDGE_COLOR;

typedef enum
{
    SWA_JUSTIFY_LEFT,
    SWA_JUSTIFY_RIGHT,
    SWA_JUSTIFY_CENTER,
    SWA_JUSTIFY_FULL,
} EN_CC08_SWA_JUSTIFY_TYPE;

typedef enum
{
    SWA_PRINT_DIRECTION_LEFT_TO_RIGHT,
    SWA_PRINT_DIRECTION_RIGHT_TO_LEFT,
    SWA_PRINT_DIRECTION_TOP_TO_BOTTOM,
    SWA_PRINT_DIRECTION_BOTTOM_TO_TOP,
} EN_CC708_SWA_PRINT_DIRECTION;

typedef enum
{
    SWA_SCROLL_DIRECTION_LEFT_TO_RIGHT,
    SWA_SCROLL_DIRECTION_RIGHT_TO_LEFT,
    SWA_SCROLL_DIRECTION_TOP_TO_BOTTOM,
    SWA_SCROLL_DIRECTION_BOTTOM_TO_TOP,
} EN_CC708_SWA_SCROLL_DIRECTION;

typedef enum
{
    SWA_WORDWRAP_NO,
    SWA_WORDWRAP_YES,
} EN_CC708_SWA_WORDWRAP;

typedef enum
{
    SWA_DISPLAY_EFFECT_SNAP,
    SWA_DISPLAY_EFFECT_FADE,
    SWA_DISPLAY_EFFECT_WIPE,
} EN_CC708_SWA_DISPLAY_EFFECT;

typedef enum
{
    SWA_EFFECT_DIRECTION_LEFT_TO_RIGHT,
    SWA_EFFECT_DIRECTION_RIGHT_TO_LEFT,
    SWA_EFFECT_DIRECTION_TOP_TO_BOTTOM,
    SWA_EFFECT_DIRECTION_BOTTOM_TO_TOP,
} EN_CC708_SWA_EFFECT_DIRECTION;

typedef enum
{
    SWA_EFFECT_SPEED_1,
    SWA_EFFECT_SPEED_2,
    SWA_EFFECT_SPEED_3,
    SWA_EFFECT_SPEED_4,
    SWA_EFFECT_SPEED_5,
    SWA_EFFECT_SPEED_6,
    SWA_EFFECT_SPEED_7,
    SWA_EFFECT_SPEED_8,
    SWA_EFFECT_SPEED_9,
    SWA_EFFECT_SPEED_10,
    SWA_EFFECT_SPEED_11,
    SWA_EFFECT_SPEED_12,
    SWA_EFFECT_SPEED_13,
    SWA_EFFECT_SPEED_14,
    SWA_EFFECT_SPEED_15,
} EN_CC708_SWA_EFFECT_SPEED;

typedef enum
{
    SWA_FILL_COLOR_BLACK,
    SWA_FILL_COLOR_WHITE,
    SWA_FILL_COLOR_RED,
    SWA_FILL_COLOR_GREEN,
    SWA_FILL_COLOR_BLUE,
    SWA_FILL_COLOR_YELLOW,
    SWA_FILL_COLOR_MAGENTA,
    SWA_FILL_COLOR_CYAN,
} EN_CC708_SWA_FILL_COLOR;

typedef enum
{
    SWA_FILL_OPACITY_SOLID,
    SWA_FILL_OPACITY_FLASH,
    SWA_FILL_OPACITY_TRANSLUCENT,
    SWA_FILL_OPACITY_TRANSPARENT,
} EN_CC708_SWA_FILL_OPACITY;

typedef enum
{
    SWA_BORDER_TYPE_NONE,
    SWA_BORDER_TYPE_RAISE,
    SWA_BORDER_TYPE_DEPRESSED,
    SWA_BORDER_TYPE_UNIFORM,
    SWA_BORDER_TYPE_LEFT_DROPSHADOW,
    SWA_BORDER_TYPE_RIGHT_DROPSHADOW,
} EN_CC708_SWA_BORDER_TYPE;

typedef enum
{
    SWA_BORDER_COLOR_BLACK,
    SWA_BORDER_COLOR_WHITE,
    SWA_BORDER_COLOR_RED,
    SWA_BORDER_COLOR_GREEN,
    SWA_BORDER_COLOR_BLUE,
    SWA_BORDER_COLOR_YELLOW,
    SWA_BORDER_COLOR_MAGENTA,
    SWA_BORDER_COLOR_CYAN,
} EN_CC708_SWA_BORDER_COLOR;

typedef enum
{
    CCATTR_CTRL_RESET = 0,
    CCATTR_WINATTR_SPA,
    CCATTR_WINATTR_SPC,
    CCATTR_WINATTR_SWA,
} EN_CC708_CCATTR;

typedef struct _CC708_ReservedBlock
{
    U8 DoneFlag : 1;
    U8 HeadLoc : 6;
    U8 TailLoc : 6;
    U8 Rsv : 3;
} CC708_ReservedBlock;

typedef struct _CC708_CodeSyntax_TRPAttr
{
    /* SPA CMD */
    U8    u8SPAPenSize :2;
    U8    u8SPAFontStyle :3;
    U8    u8SPATextTag :4;
    U8    u8SPAOffset :2;
    U8    u8SPAItalics :1;
    U8    u8SPAUnderLine :1;
    U8    u8SPAEdgeType :3;

    /* SPC CMD */
    U8    u8SPCFGColor :6;
    U8    u8SPCFGOpacity :2;
    U8    u8SPCBGColor :6;
    U8    u8SPCBGOpacity :2;
    U8    u8SPCEdgeColor :6;

    /* SPL CMD */
    U8    u8SPLRow;
    U8    u8SPLColumn;

    /* SWA CMD */
    U8    u8SWAJustifyType :2;
    U8    u8SWAPrintDirection :2;
    U8    u8SWAScrollDirection :2;
    U8    u8SWAWordWrap :1;
    U8    u8SWADisplayEffect :2;
    U8    u8SWAEffectDirection :2;
    U8    u8SWAEffectSpeed :4;
    U8    u8SWAFillColor :6;
    U8    u8SWAFillOpacity :2;
    U8    u8SWABorderType :3;
    U8    u8SWABorderColor :6;

    /* DFW CMD */
    U8    u8DFWWID;
    U8    u8DFWPriority;
    U8    u8DFWAnchorPoint;
    U8    u8DFWRelativePositioning;
    U8    u8DFWAnchorVertical;
    U8    u8DFWAnchorHorizontal;
    U8    u8DFWRowCount;
    U8    u8DFWColumnCount;
    U8    u8DFWRowLock;
    U8    u8DFWColumnLock;
    U8    u8DFWVisible;
    U8    u8DFWWindowStyleID;
    U8    u8DFWPenStyleID;

} CC708_CodeSyntax_TRPAttr;

typedef struct _CC708_Grph_CntlAttr
{
    // System Control Part
    U8 u8CreateWinID_Flag;    // for create Window
    U8 u8GWinIDVisible;    // for TGW , DLW
    //U8 u8WID_AvailData_Flag;        // o-> No Data; 1-> have Data
    U8 u8GWinID;        // for GOP GWIN ID [0 -3]
    U8 u8FrameID;        // for GE Frame Buffer NO [0 - 7]
    U8 u8Priority;

    /* Frame Buffer */
    U8 u8WinText_Row;
    U8 u8WinText_Pivot;
    U8 u8WinText_Column;
    U8 u8WinText_RowMax;
    U8 u8WinText_ColumnMax;
    U8 u8WinText_DispRowMax;
    U8 u8WinText_RowOffset;

    U16 u16ClipWindow_Width;
    U16 u16ClipWindow_Height;

    /* GOP Part */
    U16 u16WinAttr_GWIN_Loc_SX;
    U16 u16WinAttr_GWIN_Loc_SY;
    U16 u16WinAttr_GWIN_Loc_EX;
    U16 u16WinAttr_GWIN_Loc_EY;

    /**/
    U8 u8WinAttr_RowMax;
    U8 u8WinAttr_ColumnMax;

    U16 u16WinAttr_GOPRow;
    U16 u16WinAttr_GOPColumn;

    /* Frame Buffer & GOP Part */
    U16 u16ScrollingTimes;

    // Window Attr part
    //U8 u8WinAttr_WID;    // This version doesn't support !
    U8 u8WinAttr_AnchorPoint;
    U8 u8WinAttr_AnchorV;
    U8 u8WinAttr_AnchorH;
    //U8 u8WinAttr_RowLock;        // This version doesn't support !
    //U8 u8WinAttr_ColumnLock;        // This version doesn't support !
    //U8 u8WinAttr_WindowStyleID;    // This version doesn't support !
    //U8 u8WinAttr_PenStyleID;        // This version doesn't support !
    U8 u8WinAttr_TextJustifyType;        //Supporting Left, Right, Center (3 Types)
    U8 u8WinAttr_TextPrintDirection;
    U8 u8WinAttr_ScrollDirection;
    U8 u8WinAttr_WordWrapping : 1;
    U8 u8RSV: 7;
    U8 u8WinAttr_DispEffect;
    U8 u8WinAttr_EffectDirection;
    U8 u8WinAttr_EffectSpeed;
    U8 u8WinAttr_WinFillColorIdx;
    U8 u8WinAttr_WinOpacity;
    U8 u8WinAttr_WinBorderType;
    U16 u16WinAttr_WinBorderColor;

    // Pen Attr Part
    U8 u8PenAttr_PenSize;
    U8 u8PenAttr_FontStyle;
    U8 u8PenAttr_TextTag;
    //U8 u8PenAttr_SubScript;        // This version doesn't support !    // Only Normal
    U8 u8PenAttr_Italics;
    U8 u8PenAttr_Underline;
    U8 u8PenAttr_EdgeStyle;

    U8 u8PenAttr_TextFGColorIndex;
    U8 u8PenAttr_TextFGOpacity;
    U8 u8PenAttr_TextBGColorIndex;
    U8 u8PenAttr_TextBGOpacity;
    U8 u8PenAttr_TextEdgeColorIndex;

    // For GOP scrolling windos
    U16 rolX;
    U16 rolY;

    // Reserved Block
    CC708_ReservedBlock RSVBLK[RSVBLK_ROWMAX];

    // Invisible draw flag
    U8 u8NeedDraw;
    // CC Font handle
    U8 u8FontHandle;
}CC708_Grph_CntlAttr;

typedef struct _CC708_WID_PRIORITY
{
    U8 Window_NO;
    U8 Window_Priority;
} CC708_WID_PRIORITY;

typedef struct _CC708_WID_AGE
{
    U8 Window_NO;
    U8 Window_Age;
} CC708_WID_AGE;

typedef struct _CCFlowFlag
{
    U8 fCC708DelayTimerFlag : 1;
    U8 fCC708DelayRestart : 1;
    U8 fCC708CreateWinFlag : 1;
    U8 fCC708EXT_ReassembleFlag : 1;
    U8 fCC708VideoASP : 1;      // TRUE-> WIDE
    U8 fCC708PacketSeqNo_MonitorFlag: 1;
    U8 fCC708RSV: 2;
} stCCFlowFlag;

INTERFACE7 CC708_Grph_CntlAttr   * pstCC708_Cntl;
INTERFACE7 CC708_CodeSyntax_TRPAttr *pstCC708_Trp;
INTERFACE7 BlinkChar_Info * CCTextBuf;
INTERFACE7 BlinkBlock_Info * CCBBlockInfo;
INTERFACE7 U8 CC708_Current_Window;
INTERFACE7 U8 g_u8CC708WindowFBID;
INTERFACE7 U8 g_u8CC708IsExistWindow;
INTERFACE7 U8 g_u8CC708VisibleWindow;
INTERFACE7 U8 g_u8CC708GWINMap;
INTERFACE7 U8 g_stCC708WindowPriority[MAX_CS_WINDOW_NO];
INTERFACE7 U16 u16CC708ControlFlag;
INTERFACE7 stCCFlowFlag g_fCCFlowFlag;

/* Digital CC708 Info */
INTERFACE U32 g_u32DCCInfoCheckTime;
INTERFACE BOOLEAN fDCCExistFlag;
INTERFACE U32 g_u32DCCTimeCount;

// the period of checking digital availability
#define DIGITAL_CC_CHECK_PERIOD                 1000   // in ms

/* Common Function List */
INTERFACE void msAPI_CC_Reset(void);
INTERFACE void msAPI_CC_Init(U8 u8CCType, BOOLEAN DTVInUse);
INTERFACE void msAPI_CC_AllocateMemory(U8 u8CCType);
INTERFACE void msAPI_CC_DeleteMemory(void);
INTERFACE void msAPI_CC_ClearBuffer(void);

/* CC608 Function List */
INTERFACE6 void msAPI_CC608_ErrorStop_Threshold(U8 u8High, U8 u8Low);
INTERFACE6 void msAPI_CC608_Timeout_Threshold(U32 u32Caption, U32 u32Text);
INTERFACE6 void msAPI_CC608_Max_Display_Row(U8 u8MaxRow);
INTERFACE6 U8 msAPI_CC608_Digital_CheckType(void);
INTERFACE6 U8 msAPI_CC_CC608_AvailableType(void);
INTERFACE6 BOOLEAN msAPI_CC_DigitalCC608_Available(void);

/* CC708 Function List */
INTERFACE7 U8 msAPI_CC_DigitalCC708_AvailableType(void);
INTERFACE7 BOOLEAN msAPI_CC_DigitalCC708_Available(void);
INTERFACE7 void msAPI_CC_DigitalCC_Parser(void);
INTERFACE7 void msAPI_CC_AnalogCC_Parser(void);
INTERFACE7 void msAPI_CC_Parser(U8 u8CCType);

#undef INTERFACE
#endif

⌨️ 快捷键说明

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