103 lines
2.3 KiB
C
103 lines
2.3 KiB
C
#include "hmi_camera.h"
|
|
#include "menu.h"
|
|
#include "language.h"
|
|
#include <stdio.h>
|
|
#include <string.h>
|
|
|
|
#ifdef _WIN32
|
|
#include <windows.h>
|
|
#else
|
|
#include <unistd.h>
|
|
#endif
|
|
|
|
const MenuImage_t sgc_CameraImage = {
|
|
"**********",
|
|
"&"
|
|
};
|
|
|
|
|
|
MenuList_t sg_CameraMenuTable[] =
|
|
{
|
|
MENU_ITEM_BIND("TEXT_PHOTO", NULL, NULL, NULL, Hmi_OnCommonFunction, NULL),
|
|
MENU_ITEM_BIND(TEXT_PHOTOGRAPHY, NULL, NULL, NULL, Hmi_OnCommonFunction, NULL),
|
|
};
|
|
|
|
static void ShowCameraMenu(MenuShow_t *ptShowInfo)
|
|
{
|
|
uint8_t showNum = 3;
|
|
menusize_t tmpselect;
|
|
|
|
Menu_LimitShowListNum(ptShowInfo, &showNum);
|
|
|
|
printf("\e[0;30;46m ------------- %s ------------- \e[0m\n", get_text(ptShowInfo->uMenuDesc.textId));
|
|
|
|
for (int i = 0; i < showNum; i++)
|
|
{
|
|
tmpselect = i + ptShowInfo->showBaseItem;
|
|
|
|
if (tmpselect == ptShowInfo->selectItem)
|
|
{
|
|
printf("\e[0;30;47m %d. %-34s\e[0m\n", tmpselect + 1, get_text(ptShowInfo->uItemsListDesc[tmpselect].textId));
|
|
}
|
|
else
|
|
{
|
|
printf("\e[7;30;47m %d. %-34s\e[0m\n", tmpselect + 1, get_text(ptShowInfo->uItemsListDesc[tmpselect].textId));
|
|
}
|
|
}
|
|
}
|
|
|
|
void Hmi_CameraEnter(const MenuItemInfo_t *pItemInfo)
|
|
{
|
|
Menu_Bind(sg_CameraMenuTable, MENU_GET_NUM(sg_CameraMenuTable), ShowCameraMenu);
|
|
}
|
|
|
|
void Hmi_CameraLoad(const MenuItemInfo_t *pItemInfo)
|
|
{
|
|
CLEAR();
|
|
MOVETO(0, 0);
|
|
printf("---%s-----\n", get_text(TEXT_LOADING));
|
|
}
|
|
|
|
void Hmi_CameraExit(const MenuItemInfo_t *pItemInfo)
|
|
{
|
|
printf("--------------------------\n");
|
|
printf(" %s%s...\n", get_text(TEXT_VIDEO), get_text(TEXT_STOPPING_PLAYBACK));
|
|
printf("--------------------------\n");
|
|
#ifdef _WIN32
|
|
Sleep(1000);
|
|
#else
|
|
sleep(1);
|
|
#endif
|
|
}
|
|
|
|
void Hmi_CameraTask(const MenuItemInfo_t *pItemInfo)
|
|
{
|
|
int cmd;
|
|
|
|
printf("%s(0-%s; 1-%s%s; 2-%s; 3-%s; 4-%s): ",
|
|
get_text(TEXT_SELECT_OPTION), get_text(TEXT_RETURN), get_text(TEXT_RETURN), get_text(TEXT_MAIN_MENU),
|
|
get_text(TEXT_ENTER), get_text(TEXT_NEXT), get_text(TEXT_PREVIOUS));
|
|
scanf(" %d", &cmd);
|
|
|
|
switch (cmd)
|
|
{
|
|
case 0:
|
|
Menu_Exit(true);
|
|
break;
|
|
case 1:
|
|
Menu_Reset();
|
|
break;
|
|
case 2:
|
|
Menu_Enter();
|
|
break;
|
|
case 3:
|
|
Menu_SelectNext(true);
|
|
break;
|
|
case 4:
|
|
Menu_SelectPrevious(true);
|
|
break;
|
|
|
|
default:
|
|
break;
|
|
}
|
|
} |