📄 mdmenu.c
字号:
#include "types.h"
#include <stdio.h>
#include "mdmenu.h"
#include "gosd.h"
#include "gio.h"
#ifdef VY_MD
// md area set temp area
static xdata BYTE mdgvp_area_set_area[4][4] = {
{0,0,0,0}, // block 1: coordinate information
{0,0,0,0}, // block 2: coordinate information
{0,0,0,0}, // title: used when drawing mash
{0,0,0,0}}; // help: used when drawing mash
// md area set state
#define MD_AREA_SET_STAT_UL 0x00 // indicates Upper-Left point setting state
#define MD_AREA_SET_STAT_LR 0x01 // indicates Lower-Right point setting state
static xdata BYTE mdgvp_area_set_state = MD_AREA_SET_STAT_UL;
// reference of current area setting state while md area setting mode
// md area set channel
static xdata BYTE mdgvp_area_set_channel;
// indicates which channel is currently being set
// md area set block
static xdata BYTE mdgvp_area_set_block;
// indicates which block of a channel area is currently being set
/*/////////////////////////////////////////////////////////
void mdp_draw_mesh(void)
* draw mesh
/////////////////////////////////////////////////////////
*/
static void mdp_draw_mesh(void)
{
xdata BYTE x,y,i;
#ifdef FONT_SC
xdata BYTE ch_mesh = 101;//+32;//6绢絬
#else
xdata BYTE ch_mesh = 98;//+32;
#endif
xdata BOOL is_OK_to_draw;
for(y=0;y<=osdgv_bottom_line;y++)
{
for(x=0;x<45;x++)
{
is_OK_to_draw = TRUE;
for(i=0;i<4;i++)
{
if(y>=mdgvp_area_set_area[i][1]&&y<=mdgvp_area_set_area[i][3])
if(x>=mdgvp_area_set_area[i][0]&&x<=mdgvp_area_set_area[i][2])
is_OK_to_draw = FALSE;
}
if(is_OK_to_draw)
osd_putch(x,y,ch_mesh);
}
}
#ifdef DEBUG_G1PMD_AREA
printf("\n\r.....blk0 (%2d,%2d) (%2d,%2d) blk1 (%2d,%2d) (%2d,%2d)",
(int)mdgvp_area_set_area[0][0],
(int)mdgvp_area_set_area[0][1],
(int)mdgvp_area_set_area[0][2],
(int)mdgvp_area_set_area[0][3],
(int)mdgvp_area_set_area[1][0],
(int)mdgvp_area_set_area[1][1],
(int)mdgvp_area_set_area[1][2],
(int)mdgvp_area_set_area[1][3]);
#endif
}
/*/////////////////////////////////////////////////////////
void mdp_area_set_help_display(void)
* display help for md area set
option: BYTE, option for help display
0:
(UP,DOWN,FF,REW)MOVE (MENU)EXIT
(SELECT)SET UPPER-LEFT POINT
1:
(UP,DOWN,FF,REW)MOVE (MENU)EXIT
(SELECT)SET AREA
/////////////////////////////////////////////////////////
*/
static void mdp_area_set_help_display(BYTE option)
{
mdgvp_area_set_area[3][0] = 7;
mdgvp_area_set_area[3][1] = osdgv_time_line-1;
mdgvp_area_set_area[3][2] = 38;
mdgvp_area_set_area[3][3] = osdgv_time_line;
#ifdef FONT_SC
//123456789012345678901234567890123
osd_printf(13,osdgv_time_line-1,31,"N (<< >>) ` , N (abcdt) u v ");//
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -