📄 csl_osdhwcontrol.c
字号:
/** @file csl_osdHwControl.c
*
* @brief File for functional layer of CSL API @a CSL_osdHwControl()
*
* Description
* - The @a CSL_osdHwControl() function definition & it's associated
* functions
*
* Modification 1
* - Modified on: 1/10/2004
* - Reason: created the sources
*
* @date 5th OCT, 2004
* @author Sandeep Tiwari.
*/
#include <csl_osd.h>
#include <_csl_osd_aux.h>
#pragma CODE_SECTION (CSL_osdHwControl,".text:csl_section:osd");
/** @brief Takes a command with an optional argument & implements it.
*/
CSL_Status CSL_osdHwControl(
/** Pointer to the object that holds reference to the
* instance of OSD requested after the call
*/
CSL_OsdHandle hOsd,
/** The command to this API indicates the action to be taken
*/
CSL_OsdHwControlCmd cmd,
/** An optional argument @a void* casted
*/
void *arg
)
{
CSL_Status status=CSL_SOK;
switch(cmd){
case CSL_OSD_CMD_SET_ALL_WIN:
/** Sets parameters which will affect all OSD windows
*/
status = _CSL_osdSetMode(hOsd, (CSL_OsdModeData *)arg);
break;
case CSL_OSD_CMD_SET_VIDEO_WIN:
/** Sets parameters which will affect both OSD video windows
*/
status = _CSL_osdSetVideoMode(hOsd, (CSL_OsdVideoModeData *)arg);
break;
case CSL_OSD_CMD_SET_BITMAP_WIN:
/** Sets parameters which will affect both OSD bitmap window
*/
status = _CSL_osdSetBitmapMode(hOsd, (CSL_OsdBitmapModeData *)arg );
break;
case CSL_OSD_CMD_SET_WIN_CONFIG:
/** Configures OSD window specified
*/
status = _CSL_osdSetWinConfig(hOsd, (CSL_OsdWinConfig *) arg);
break;
case CSL_OSD_CMD_SET_BMP_WIN_CONFIG:
/** Configures parameters specific to OSD bitmap windows
*/
status = _CSL_osdSetBmpWinConfig(hOsd, (CSL_OsdBmpWinConfig *) arg);
break;
case CSL_OSD_CMD_SET_CURSOR_CONFIG:
/** Set rectangular cursor parameters
*/
status = _CSL_osdSetCursorConfig(hOsd, (CSL_OsdCursorConfig *) arg);
break;
case CSL_OSD_CMD_WIN_START:
/** Sets OSD window start position
*/
status = _CSL_osdSetWinStartPos(hOsd, (CSL_OsdStart *) arg);
break;
case CSL_OSD_CMD_WIN_SIZE:
/** Sets OSD window horizontal & vertical size
*/
status = _CSL_osdSetWinSize(hOsd, (CSL_OsdSize *) arg);
break;
case CSL_OSD_CMD_OSDWIN_SHOW:
/** Enable(show)/Disable(hide) OSD window */
status = _CSL_osdWinEnable(hOsd, (CSL_OsdWinEnable *)arg);
break;
case CSL_OSD_CMD_SET_WIN_ADDR:
/** Sets OSD window data address */
status = _CSL_osdSetWinAddr(hOsd, (CSL_OsdWinAddr *)arg);
break;
case CSL_OSD_CMD_SET_RAM_LUT:
/** Sets OSD LUT in RAM */
status = _CSL_osdSetRamLut(hOsd, (CSL_OsdRamLut *)arg);
break;
case CSL_OSD_CMD_SET_PINGPONG_BUFFER_ADDR:
/** Sets OSD video window 0 ping pong buffer address */
status = _CSL_osdSetPingpongBufferAddr(hOsd, (CSL_OsdPingAddr *)arg);
break;
case CSL_OSD_CMD_SWITCH_TO_PINGPONG:
/** Switches OSD video window 0 address */
status = _CSL_osdSwitchToPingpongBuff(hOsd, (CSL_OsdPingBuff *)arg);
break;
case CSL_OSD_CMD_SET_BMP_COLOR:
/** Sets OSD 1,2,4-bit bitmap color palette */
status = _CSL_osdSetBmpColor(hOsd, (CSL_OsdBmpColor *)arg);
break;
default:
status = CSL_ESYS_INVCMD ;
break;
}
return status;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -