📄 msapi_cc_parser.h
字号:
{
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 + -