📄 viddigest.h
字号:
/******************************************************************************
* File name : Viddigest.h
* Start date : 04.06.2005
* By : Brahmanandan K
* Contact : kbrahma@samsung.com
* Description : Digest preview mode APIs.
******************************************************************************
*/
#ifndef _VIDDIGEST_H_
#define _VIDDIGEST_H_
/* {{{ Includes */
/* }}} */
/* {{{ Defines */
/* Task and Queue */
#define PREV_FUNC_PARTLY_ASM 1
#define PREV_QUEUE_SIZE 10
#define PREV_SEMA_WAIT_COUNT 1000
/* This is Blue color! I am using the same color as the Mixer can give ! */
#define PREV_BKGD_COLOR_Y 0x24 /* 0x35 0x4F */ /* 0x10 */
#define PREV_BKGD_COLOR_CB 0xA0 /* 0x94 0x93 */ /* 0x80 */
#define PREV_BKGD_COLOR_CR 0x72 /* 0x78 0x70 */ /* 0x80 */
/* Message */
#define PREV_SENDER_VID_DEC 0x40
#define PREV_SENDER_APP 0x41
#define PREV_INIT 0x29
#define PREV_DISPLAY_FRAME 0x30
#define PREV_CLR_FRAME 0x31
#define PREV_STOP_DISPLAY_FRAME 0x32
#define PREV_DISPLAY_PAGE_DETAIL 0x33
/* Frame Buffer */
#define PREV_FRAME_START MM_PREVIEW_FRAME_START /* Calm view address hardcoded... ! */
#define PREV_FRAME1_Y (CHAR *)PREV_FRAME_START
#define PREV_FRAME1_C (CHAR *)(PREV_FRAME1_Y+0x18C00)
#define PREV_FRAME2_Y (CHAR *)(PREV_FRAME1_Y+0x25200)
#define PREV_FRAME2_C (CHAR *)(PREV_FRAME2_Y+0x18C00)
#define PREV_FRAME3_Y (CHAR *)(PREV_FRAME2_Y+0x25200)
#define PREV_FRAME3_C (CHAR *)(PREV_FRAME3_Y+0x18C00)
#define PREV_BUFF_NO_PTRS 0x1B0
#define PREV_Y_PTR_START 0
#define PREV_Y_PTR_END 0x120
#define PREV_C_PTR_START PREV_Y_PTR_END
#define PREV_C_PTR_END PREV_BUFF_NO_PTRS
#define PREV_BUFF_WIDTH 0x160
#define PREV_BUFF_WIDTH_HALF 0xB0 /* 160 >> 1 */
#define PREV_PIC_Y_HEIGHT 0x120
/* Preview Text */
/* White color */
#define PREV_TEXT_Y_COLOR 0xEF
#define PREV_TEXT_C_COLOR 0x7F
#define PREV_NO_LETTERS 13 /* 0123456789:/P */
#define PREV_FONT_HEIGHT 6 // 8
#define PREV_FONT_WIDTH 8
#define PREV_FONT_GAP 0
/* Range 0 to ( 352-((7+PREV_FONT_GAP)*PREV_FONT_WIDTH)) */
#define PREV_FONT_PAGE_DETAIL_STARTX 148
/* Range 8 to 232 */
#define PREV_FONT_PAGE_DETAIL_STARTY_PAL 16 /* If you want to change the position to bottom this can be changed */
#define PREV_FONT_PAGE_DETAIL_STARTY_NTSC 12 /* If you want to change the position to bottom this can be changed */
/* }}} */
/* {{{ Globals */
typedef struct {
UCHAR sender;
UCHAR param;
UINT ext1;
UINT ext2;
UINT ext3;
UINT res1;
UINT res2;
}PreviewEvt;
typedef struct {
UINT uiPrevIndex;
UINT uiPageNo;
UINT uiTotalPages;
BOOL bPageDetailRefresh;
}PrevFontDetails;
/* }}} */
/* {{{ Extern */
/* }}} */
/* {{{ Function */
BOOL InitPreviewResources ( VOID );
VOID DeinitPreviewResources ( VOID );
VOID StartPreviewMode ( VOID );
VOID EndPreviewMode ( VOID );
VOID PreviewCmd ( UCHAR sender, UCHAR cmd, UINT param1, UINT param2 );
VOID SetPreviewRegion ( UINT uiRegion );
VOID GetPreviewXy ( UINT uiReg, UINT *uiX, UINT *uiY );
#if PREV_FUNC_PARTLY_ASM
extern VOID MemAltSet ( CHAR *pcTarget, CHAR cChar, UINT ulSize );
extern VOID ClearFrame ( VOID );
extern VOID SkipCopy ( CHAR *pcDest, CHAR *pcSrc );
extern VOID SkipCopyC ( CHAR *pcDest, CHAR *pcSrc );
extern VOID DownScaleFrame ( UINT uiX, UINT uiY, UINT uiH, BOOL bBuffer );
/* Text functions */
extern VOID PrevWriteChar ( UINT16 ui16X, UINT16 ui16Y, UINT16 i16LetterIndex );
#else
VOID MemAltSet ( CHAR *pcTarget, CHAR cChar, UINT ulSize );
VOID ClearFrame ( VOID );
VOID SkipCopy ( CHAR *pcDest, CHAR *pcSrc );
VOID SkipCopyC ( CHAR *pcDest, CHAR *pcSrc );
VOID DownScaleFrame ( UINT uiX, UINT uiY, UINT uiH, BOOL bBuffer );
/* Text functions */
VOID PrevWriteChar ( UINT16 ui16X, UINT16 ui16Y, UINT16 i16LetterIndex );
#endif
/* Text functions */
void DisplayNumber ( UINT16 ui16StartX, UINT16 ui16StartY, UINT16 ui16Number );
void DisplayPageDetail ( UINT16 ui16StartX, UINT16 ui16StartY, UINT16 ui16Number, UINT16 ui16TotalNumber );
VOID ClearFontArea ( UINT16 ui16StartY, UINT16 ui16Height );
/* }}} */
#endif /* _VIDDIGEST_H_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -