⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 window.c

📁 ucos-II2.51在S3C44B0X上的移植 开发环境:SDT2.50 实验板:ES44BO
💻 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 + -