doubao_chat/apps/wifi_camera/include/ui_demo.h

134 lines
3.9 KiB
C
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#ifndef __UI_DEMO_H__
#define __UI_DEMO_H__
#include "ui/ui.h"
#include "ui_api.h"
#include "video_rec.h"
#include "yuv_soft_scalling.h"
#include "event/key_event.h"
#include "net_video_rec.h"
#include "asm/jpeg_codec.h"
#include "ui_demo.h"
#include "action.h"
/*#define PHOTO_MODE_TAKE_BOOTH 1//拍照大头贴 | 多图像合成,保存成JPG的方法一样*/
/*#define PHOTO_MODE_TAKE_KALEIDOSCOPE 2//拍照万花筒/拍照多图像合成*/
/*#define PHOTO_MODE_TAKE_MULTIPLE 3*/
enum take_photo_mode {
PHOTO_MODE_TAKE_BOOTH = 1,
PHOTO_MODE_TAKE_KALEIDOSCOPE,
PHOTO_MODE_TAKE_MULTIPLE_1,
PHOTO_MODE_TAKE_MULTIPLE_2,
PHOTO_MODE_TAKE_MULTIPLE_3,
PHOTO_MODE_TAKE_MULTIPLE_4,
};
struct ui_demo_date_hdl {
FILE *fs; //文件指针
u8 page_x; //记录光标位置
u8 page_y; //记录页信息
u8 page2_x; //记录二级界面光标信息
u8 page2_y; //记录二级界面光标信息
u8 page2_k; //记录二级菜单确认信息
u8 language_indx; //语言序号
u8 init_flog; //刷新标志
u8 get_photo; //拍照控制
u8 play_mp3_sound_size; //播放音频声音
u32 red_time_id; //录像定时器ID
u32 time_time_id; //刷新时间定时器ID
u32 ui_check_id; //刷新时间定时器ID
u8 status_sd; //SD卡状态
char path[128]; // 文件夹路径
u8 if_in_bro; // 是否在预览窗口
u16 page; // 文件预览页码
u16 item; // 页内位置
FILE *cur_file; // 当前文件
u8 if_in_rep; /* 是否正在播放 */
s8 ff_fr_flag; /* 是否正在快进快退, 0 否,1 快进, -1快退 */
u8 no_file;
u8 file_type; /* 文件是JPG还是MOV,0 jpg, 1 mov */
u8 file_type_index; /* 文件分辨率的索引号,根据UI */
u8 ppt;
u8 is_lock;
u8 err_file;
const char *fname; /* 文件名 */
struct utime sum_time; /* 视频的总时间 */
struct utime cur_time; /* 视频的当前时间 */
u8 menu_status;
u8 init;
u8 battery_val;
u8 battery_char;
};
//初始化时间结构体
static struct sys_time test_rtc_time = {
.sec = 44,
.min = 23,
.hour = 14,
.day = 21,
.month = 4,
.year = 2021,
};
//重定义Ui ID
#define __TIME1 BASEFORM_51 //年
#define __TIME2 BASEFORM_52 //月
#define __TIME3 BASEFORM_53 //日
#define __TIME4 BASEFORM_54 //时
#define __TIME5 BASEFORM_55 //分
#define __TIME6 BASEFORM_56 //秒
#define __SOUND BASEFORM_69
//ui_demo_使用的音频文件定义
#define SD_IN_MP3 "car_sd_in.mp3"
#define SD_OUT_MP3 "car_sd_out.mp3"
#define POWER_ON_MP3 "poweron.mp3"
#define TAKE_PHOTO_MP3 "car_photo.mp3"
#define VIDEIO_STOP_MP3 "car_stop.mp3"
#define VIDEIO_START_MP3 "car_start.mp3"
#define PLEASE_INSERT_SD_MP3 "car_need_sd.mp3"
//ui_demo_涉及到的UI状态事件
enum {
UI_EVENT_VIDEO_START_STOP = 1,//开始录像
UI_EVENT_COMPLETE_RECORD, //完成录像事件
UI_EVENT_TAKE_PHOTO, //拍照
UI_EVENT_SD_IN_OUT, //sd卡插入sd卡弹出
UI_EVENT_IN_SET_MODE, //进入设置模式
UI_EVENT_IN_VIEW, //进入视图浏览图片视频
UI_EVENT_IN_TIME, //进入时间屏保
UI_EVENT_POWER_CHECK, //电池电量检查
};
#if CONFIG_MP3_DEC_ENABLE
extern void post_msg_play_flash_mp3(char *file_name, u8 dec_volume);
#endif
//摄像头选择 并初始化
extern void camera_to_lcd_init(char camera_ID);
//关闭摄像头
extern void camera_to_lcd_uninit(void);
extern void set_take_photo_ok(void);
extern u8 get_take_photo_status(void);
extern void *get_ui_demo_hd(void);
//开录像后去获取照片用这个接口
extern int video_rec_take_photo(void);
//获取当前录像状态
extern int get_video_rec_status(void);
//设置拍照模式
extern void set_take_photo_status(u8 choice);
extern u8 switch_save;
#endif