📄 window.c
字号:
/*
* Copyright (c) 2003, The Lab of Embedded System and Net Security,WHUT..
* All rights reserved.
*
* Filename: window.c
* Discription: This file initializes the window interface on LCD.
*
* version: 1.0
* Author: Qiu Yanfei <qyfhm@tom.com>
* Accomplished Date: 2004/7/31 11:05:00
*
*/
#include "lcd.h"
#include "lcdchar.h"
#define WINDOW_GLOBAL
#include "window.h"
WINDOW_EXT S8 *list_content[MAX_LIST_ENTRY]={
"1 set system time",
"2 list content 2",
"3 list content 3",
"4 list content 4",
"5 list content 5",
"6 list content 6"
};
static U8 list_curr=0;
void gui_list_init(void)
{
U8 i;
list_curr = 0;
Lcd_Clr();
Lcd_Fill_Box(LIST_START_X, LIST_START_Y, LIST_START_X+LIST_LEN, \
LIST_START_Y+LIST_WID*MAX_LIST_ENTRY, LIST_BACK_COLOR);
LCD_SetOutWindow(LIST_START_X, LIST_START_Y, LIST_START_X+LIST_LEN, \
LIST_START_Y+LIST_WID*MAX_LIST_ENTRY, LIST_BACK_COLOR, LIST_FONT_COLOR);
Lcd_Fill_Box(LIST_START_X, LIST_START_Y+LIST_WID*list_curr, LIST_START_X+LIST_LEN, \
LIST_START_Y+LIST_WID*(list_curr+1), LIST_MASK_COLOR);
for(i=0; i<MAX_LIST_ENTRY; i++)
{
LCD_Printf(" %s\n", list_content[i]);
}
}
U8 gui_list_inc(void)
{
LCD_SetOutWindow(LIST_START_X, LIST_START_Y, LIST_START_X+LIST_LEN, \
LIST_START_Y+LIST_WID*MAX_LIST_ENTRY, LIST_BACK_COLOR, LIST_FONT_COLOR);
Lcd_Fill_Box(LIST_START_X, LIST_START_Y+LIST_WID*list_curr, LIST_START_X+LIST_LEN, \
LIST_START_Y+LIST_WID*(list_curr+1), LIST_BACK_COLOR);
gotoxy(LIST_START_X, LIST_START_Y+LIST_WID*list_curr);
LCD_Printf(" %s", list_content[list_curr]);
list_curr++;
if(list_curr==MAX_LIST_ENTRY)
list_curr = 0;
Lcd_Fill_Box(LIST_START_X, LIST_START_Y+LIST_WID*list_curr, LIST_START_X+LIST_LEN, \
LIST_START_Y+LIST_WID*(list_curr+1), LIST_MASK_COLOR);
gotoxy(LIST_START_X, LIST_START_Y+LIST_WID*list_curr);
LCD_Printf("->%s", list_content[list_curr]);
return list_curr;
}
U8 gui_list_dec(void)
{
LCD_SetOutWindow(LIST_START_X, LIST_START_Y, LIST_START_X+LIST_LEN, \
LIST_START_Y+LIST_WID*MAX_LIST_ENTRY, LIST_BACK_COLOR, LIST_FONT_COLOR);
Lcd_Fill_Box(LIST_START_X, LIST_START_Y+LIST_WID*list_curr, LIST_START_X+LIST_LEN, \
LIST_START_Y+LIST_WID*(list_curr+1), LIST_BACK_COLOR);
gotoxy(LIST_START_X, LIST_START_Y+LIST_WID*list_curr);
LCD_Printf(" %s", list_content[list_curr]);
if(list_curr==0)
list_curr = MAX_LIST_ENTRY;
list_curr--;
Lcd_Fill_Box(LIST_START_X, LIST_START_Y+LIST_WID*list_curr, LIST_START_X+LIST_LEN, \
LIST_START_Y+LIST_WID*(list_curr+1), LIST_MASK_COLOR);
gotoxy(LIST_START_X, LIST_START_Y+LIST_WID*list_curr);
LCD_Printf("->%s", list_content[list_curr]);
return list_curr;
}
U8 gui_list_selected(void)
{
Lcd_Fill_Box(STATS_BAR_X, STATS_BAR_Y, STATS_BAR_X+STATS_BAR_LEN,
STATS_BAR_Y+STATS_BAR_WID, STATS_BAR_BACK_COLOR);
LCD_SetOutWindow(STATS_BAR_X, STATS_BAR_Y, STATS_BAR_X+STATS_BAR_LEN,
STATS_BAR_Y+STATS_BAR_WID, STATS_BAR_BACK_COLOR, STATS_BAR_FONT_COLOR);
LCD_Printf("Start DEMO %d", list_curr);
return list_curr;
}
void gui_demo_end(void)
{
Lcd_Fill_Box(STATS_BAR_X, STATS_BAR_Y, STATS_BAR_X+STATS_BAR_LEN,
STATS_BAR_Y+STATS_BAR_WID, STATS_BAR_BACK_COLOR);
LCD_SetOutWindow(STATS_BAR_X, STATS_BAR_Y, STATS_BAR_X+STATS_BAR_LEN,
STATS_BAR_Y+STATS_BAR_WID, STATS_BAR_BACK_COLOR, STATS_BAR_FONT_COLOR);
LCD_Printf("S61->help,S60->up,S59->down,S58->ok");
}
void edit_draw(struct gui_editbox *edit)
{
Lcd_Fill_Box(edit->x, edit->y, edit->x+edit->len,
edit->y+edit->width, edit->bkcolor);
}
void edit_refresh(struct gui_editbox *edit, S8 *text)
{
Lcd_Fill_Box(edit->x, edit->y, edit->x+edit->len,
edit->y+edit->width, edit->bkcolor);
LCD_SetOutWindow(edit->x, edit->y, edit->x+edit->len,
edit->y+edit->width, edit->bkcolor, edit->frntcolor);
LCD_SendString(text);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -