📄 pthread_live.h
字号:
/* set tabstop=4 */
/********************************************************************************
* *
* Copyright(C) 2004 Penta-Micro *
* *
* ALL RIGHT RESERVED *
* *
* This software is the property of Penta-Micro and is furnished under *
* license by Penta-Micro. This software may be used only in accordance *
* with the terms of said license. This copyright notice may not be *
* removed, modified or obliterated without the prior written permission *
* of Penta-Micro. *
* *
* This software may not be copyed, transmitted, provided to or otherwise *
* made available to any other person, company, corporation or other entity *
* except as specified in the terms of said license. *
* *
* No right, title, ownership or other interest in the software is hereby *
* granted or transferred. *
* *
* The information contained herein is subject to change without notice and *
* should not be construed as a commitment by Penta-Micro. *
* *
********************************************************************************
MODULE NAME: PTHREAD_LIVE.H
REVISION HISTORY:
Date Ver Name Description
---------- --- --------------------- -----------------------------------------
06/30/2004 2.0 CheulBeck(whitefe) Created
07/20/2005 2.1 JiGwanKang(xchannel) Modified
...............................................................................
DESCRIPTION:
This Module contains definition for Live function.
...............................................................................
*/
#ifndef __PTHREAD_LIVE_H
#define __PTHREAD_LIVE_H
/** ************************************************************************* **
** includes
** ************************************************************************* **/
#include "typedef.h"
/** ************************************************************************* **
** defines
** ************************************************************************* **/
/** ************************************************************************* **
** typedefs
** ************************************************************************* **/
typedef enum {
LIVE_MAIN = 0,
LIVE_SINGLE_CH1,
LIVE_SINGLE_CH2,
LIVE_SINGLE_CH3,
LIVE_SINGLE_CH4,
LIVE_SINGLE_PB,
LIVE_MULTI_4CH,
LIVE_DISP_TIME,
LIVE_MAX_ID
} LIVE_ID;
typedef enum {
LM_REC_CH1 = 0,
LM_MOTION_CH1,
LM_SENSOR_CH1,
LM_REC_CH2,
LM_MOTION_CH2,
LM_SENSOR_CH2,
LM_REC_CH3,
LM_MOTION_CH3,
LM_SENSOR_CH3,
LM_REC_CH4,
LM_MOTION_CH4, // 10
LM_SENSOR_CH4
} ITEM_LIVE_MAIN;
typedef enum {
LS_REC_CH1 = 0,
LS_MOTION_CH1,
LS_SENSOR_CH1
} ITEM_LIVE_SINGLE_CH1;
typedef enum {
LS_REC_CH2 = 0,
LS_MOTION_CH2,
LS_SENSOR_CH2
} ITEM_LIVE_SINGLE_CH2;
typedef enum {
LS_REC_CH3 = 0,
LS_MOTION_CH3,
LS_SENSOR_CH3
} ITEM_LIVE_SINGLE_CH3;
typedef enum {
LS_REC_CH4 = 0,
LS_MOTION_CH4,
LS_SENSOR_CH4
} ITEM_LIVE_SINGLE_CH4;
typedef enum {
LS_REC_PB = 0
} ITEM_LIVE_SINGLE_PB;
typedef enum {
LM4_REC_CH1 = 0,
LM4_MOTION_CH1,
LM4_SENSOR_CH1,
LM4_REC_CH2,
LM4_MOTION_CH2,
LM4_SENSOR_CH2,
LM4_REC_CH3,
LM4_MOTION_CH3,
LM4_SENSOR_CH3,
LM4_REC_PB
} ITEM_LIVE_MULTI_4CH;
typedef enum {
LDT_YEAR = 0,
LDT_MONTH,
LDT_DAY,
LDT_HOUR,
LDT_MINUTE,
LDT_SECOND ,
LDT_PTZ
} ITEM_LIVE_DISP_TIME;
typedef struct __LIVE_DISPLAY__ {
UNS16 state_enc;
UNS16 state_motionosd;
} LIVE_DISPLAY;
typedef struct __LIVE_OBJECT__ {
UNS16 sig_id;
UNS16 sig_value;
LIVE_ID prev_id;
LIVE_ID cur_id;
LIVE_ID next_id;
S16 cur_loc;
S16 osd_loc;
UNS16 create_menu;
LIVE_MON cur_mode; // mode for live video monitoring
LIVE_MON prev_mode;
LIVE_DISPLAY disp;
SETUP_PARAM *param;
} LIVE_OBJECT;
typedef struct __LIVE_FUNC__
{
RETURN (*func_ptr)(LIVE_OBJECT *pso);
} LIVE_FUNC;
typedef struct __FUNC_ID__ {
LIVE_FUNC func_id[LIVE_MAX_ID];
} FUNC_ID;
/* Definition fot LIVE MENU */
typedef struct{
S16 xstart;
S16 ystart;
S16 color;
UNS8 str[50];
S16 attribute;
S16 font_space;
S16 active;
S16 value;
} MENU_FONT_t;
typedef struct{
S16 start;
S16 end;
} MENU_ACTIVE_ITEM_t;
#define LIVE_MAX_ITEMS 60
#define font_xstart(x) (x)
#define font_ystart(x) (x)
#define MAX_SPOT_OUT_TIME 5
static MENU_ACTIVE_ITEM_t live_menu_active[LIVE_MAX_ID] = {
{0,11},{0,2},{0,2},{0,2},{0,2},{0,1},{0,10},{0,0}
};
static MENU_FONT_t live_menu_font[LIVE_MAX_ID][LIVE_MAX_ITEMS] = {
{ //LIVE MAIN
{ font_xstart( 3), font_ystart( 1), WHITE, "CH1", 0,0,1,0 // 0
},{ font_xstart( 7), font_ystart( 1), RED, "", 0,0,1,0
},{ font_xstart( 9), font_ystart( 1), RED, "", 0,0,1,0
},{ font_xstart(26), font_ystart( 1), WHITE, "CH2", 0,0,1,0
},{ font_xstart(30), font_ystart( 1), RED, "", 0,0,1,0
},{ font_xstart(32), font_ystart( 1), RED, "", 0,0,1,0
},{ font_xstart( 3), font_ystart(13), WHITE, "CH3", 0,0,1,0
},{ font_xstart( 7), font_ystart(13), RED, "", 0,0,1,0
},{ font_xstart( 9), font_ystart(13), RED, "", 0,0,1,0
},{ font_xstart(26), font_ystart(13), WHITE, "CH4", 0,0,1,0
},{ font_xstart(30), font_ystart(13), RED, "", 0,0,1,0 // 10
},{ font_xstart(32), font_ystart(13), RED, "", 0,0,1,0
},{ -1, -1, FILL, "", 1,0,-1
},
},
{ //LIVE_SINGLE_CH1
{ font_xstart( 3), font_ystart( 1), WHITE, "CH1", 0,0,1,0
},{ font_xstart( 7), font_ystart( 1), RED, "", 0,0,1,0
},{ font_xstart( 9), font_ystart( 1), RED, "", 0,0,1,0
},{ -1, -1, FILL, "", 1,0,-1
},
},
{ //LIVE_SINGLE_CH2
{ font_xstart( 3), font_ystart( 1), WHITE, "CH2", 0,0,1,0
},{ font_xstart( 7), font_ystart( 1), RED, "", 0,0,1,0
},{ font_xstart( 9), font_ystart( 1), RED, "", 0,0,1,0
},{ -1, -1, FILL, "", 1,0,-1
},
},
{ //LIVE_SINGLE_CH3
{ font_xstart( 3), font_ystart( 1), WHITE, "CH3", 0,0,1,0
},{ font_xstart( 7), font_ystart( 1), RED, "", 0,0,1,0
},{ font_xstart( 9), font_ystart( 1), RED, "", 0,0,1,0
},{ -1, -1, FILL,"", 1,0,-1
},
},
{ //LIVE_SINGLE_CH4
{ font_xstart( 3), font_ystart( 1), WHITE, "CH4", 0,0,1,0
},{ font_xstart( 7), font_ystart( 1), RED, "", 0,0,1,0
},{ font_xstart( 9), font_ystart( 1), RED, "", 0,0,1,0
},{ -1, -1, FILL,"", 1,0,-1
},
},
{ //LIVE_SINGLE_PB
{ font_xstart( 3), font_ystart( 1), WHITE, "PB: MULTI CH",0,0,1,0
},{ font_xstart(26), font_ystart(20), RED, " ", 0,0,1,0
},{ -1, -1, FILL, "", 1,0,-1
},
},
{ //LIVE_MULTI_4CH
{ font_xstart( 3), font_ystart( 1), WHITE, "CH1", 0,0,1,0 // 0
},{ font_xstart( 7), font_ystart( 1), RED, "", 0,0,1,0
},{ font_xstart( 9), font_ystart( 1), RED, "", 0,0,1,0
},{ font_xstart(26), font_ystart( 1), WHITE, "CH2", 0,0,1,0
},{ font_xstart(30), font_ystart( 1), RED, "", 0,0,1,0
},{ font_xstart(32), font_ystart( 1), RED, "", 0,0,1,0
},{ font_xstart( 3), font_ystart(13), WHITE, "CH3", 0,0,1,0
},{ font_xstart( 7), font_ystart(13), RED, "", 0,0,1,0
},{ font_xstart( 9), font_ystart(13), RED, "", 0,0,1,0
},{ font_xstart(26), font_ystart(13), WHITE, "PB: MULTI CH", 0,0,1,0
},{ font_xstart(26), font_ystart(20), RED, " ", 0,0,1,0
},{ -1, -1, FILL,"", 1,0,-1
},
},
{ //LIVE_DISP_TIME
{ font_xstart( 3), font_ystart(21), WHITE, "2005/", 0,0,1,0
},{ font_xstart( 8), font_ystart(21), WHITE, "01/", 0,0,1,0
},{ font_xstart(11), font_ystart(21), WHITE, "01/", 0,0,1,0
},{ font_xstart(14), font_ystart(21), WHITE, "12:", 0,0,1,0
},{ font_xstart(17), font_ystart(21), WHITE, "00:", 0,0,1,0
},{ font_xstart(20), font_ystart(21), WHITE, "00", 0,0,1,0
},{ font_xstart(24), font_ystart(21), RED, " ", 0,0,1,0
/* for disk free space display*/
},{ font_xstart(36), font_ystart(18), WHITE, "", 0,0,1,0
},{ font_xstart(36), font_ystart(19), WHITE, "", 0,0,1,0
},{ font_xstart(36), font_ystart(20), WHITE, "", 0,0,1,0
},{ font_xstart(36), font_ystart(21), WHITE, "", 0,0,1,0
},{ -1, -1, FILL, "", 1,0,-1
},
}
};
/** ************************************************************************* **
** function prototypes
** ************************************************************************* **/
void *pthread_live(void *args);
RETURN live_create_menu(LIVE_ID id);
void live_clear_menu(LIVE_ID id);
void live_select_menu(LIVE_OBJECT *pso, S16 up_down);
void live_update_osd(LIVE_OBJECT *pso);
RETURN live_set_monitoring(LIVE_MON mode);
void update_display(LIVE_MON mode);
void live_font_ystart_init(VIDEO_MODE mode);
RETURN autoselect_spotout(UNS16 ch);
void set_motion_block_print(UNS8 ch);
RETURN get_disk_space(void);
#endif
/* __PTHREAD_LIVE_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -