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

📄 lcd.h

📁 编译后直接运行的MP3播放器全部C语言源代码 一个包含FAT文件系统、系统引导 Boot、FLASH Driver等内容的
💻 H
字号:
/*************************************************************************** *             __________               __   ___. *   Open      \______   \ ____   ____ |  | _\_ |__   _______  ___ *   Source     |       _//  _ \_/ ___\|  |/ /| __ \ /  _ \  \/  / *   Jukebox    |    |   (  <_> )  \___|    < | \_\ (  <_> > <  < *   Firmware   |____|_  /\____/ \___  >__|_ \|___  /\____/__/\_ \ *                     \/            \/     \/    \/            \/ * $Id: lcd.h,v 1.10 2003/12/23 23:41:44 hohensoh Exp $ * * Copyright (C) 2002 by Alan Korr * * All files in this archive are subject to the GNU General Public License. * See the file COPYING in the source tree root for full license agreement. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * ****************************************************************************/#ifndef __LCD_H__#define __LCD_H__#include <stdbool.h>#include "sh7034.h"#include "config.h"#define STYLE_DEFAULT 0#define STYLE_INVERT  1/* common functions */extern void lcd_init(void);extern void lcd_clear_display(void);extern void lcd_backlight(bool on);extern void lcd_puts(int x, int y, unsigned char *string);extern void lcd_puts_style(int x, int y, unsigned char *string, int style);extern void lcd_putc(int x, int y, unsigned short ch);extern void lcd_puts_scroll(int x, int y, unsigned char* string );extern void lcd_puts_scroll_style(int x, int y, unsigned char* string,                                  int style);extern void lcd_icon(int icon, bool enable);extern void lcd_stop_scroll(void);extern void lcd_scroll_speed( int speed );extern void lcd_scroll_delay( int ms );extern void lcd_set_contrast(int val);extern void lcd_write( bool command, int byte );extern void lcd_write_data( unsigned char* p_bytes, int count );extern int  lcd_default_contrast(void);#if defined(SIMULATOR) || defined(HAVE_LCD_BITMAP)extern void lcd_update(void);/* performance function */extern void lcd_blit (unsigned char* p_data, int x, int y, int width, int height, int stride);/* update a fraction of the screen */extern void lcd_update_rect(int x, int y, int width, int height);#else  #define lcd_update()  #define lcd_update_rect(x,y,w,h)#endif#if defined(SIMULATOR)#include "sim_icons.h"#endif#ifdef HAVE_LCD_CHARCELLS/* Icon definitions for lcd_icon() */enum{    ICON_BATTERY = 0,    ICON_BATTERY_1,    ICON_BATTERY_2,    ICON_BATTERY_3,    ICON_USB,    ICON_PLAY,    ICON_RECORD,    ICON_PAUSE,    ICON_AUDIO,    ICON_REPEAT,    ICON_1,    ICON_VOLUME,    ICON_VOLUME_1,    ICON_VOLUME_2,    ICON_VOLUME_3,    ICON_VOLUME_4,    ICON_VOLUME_5,    ICON_PARAM};extern void lcd_define_hw_pattern (int which,char *pattern,int length);extern void lcd_define_pattern (int which,char *pattern);extern void lcd_double_height (bool on);#define JUMP_SCROLL_ALWAYS 5extern void lcd_jump_scroll (int mode); /* 0=off, 1=once, ..., ALWAYS */extern void lcd_jump_scroll_delay( int ms );unsigned char lcd_get_locked_pattern(void);void lcd_unlock_pattern(unsigned char pat);void lcd_allow_bidirectional_scrolling(bool on);extern void lcd_bidir_scroll(int threshold);void lcd_put_cursor(int x, int y, char cursor_char);void lcd_remove_cursor(void);#endif#if defined(HAVE_LCD_BITMAP) || defined(SIMULATOR)#if defined(HAVE_LCD_CHARCELLS) && defined(SIMULATOR)#define LCD_WIDTH       (4*11*6)  /* Display width in pixels */#define LCD_HEIGHT      (4*16+2*24) /* 4*char + 2*icons */#else#define LCD_WIDTH       112   /* Display width in pixels */#define LCD_HEIGHT      64    /* Display height in pixels */#endif#define DRAW_PIXEL(x,y) lcd_framebuffer[(y)/8][(x)] |= (1<<((y)&7))#define CLEAR_PIXEL(x,y) lcd_framebuffer[(y)/8][(x)] &= ~(1<<((y)&7))#define INVERT_PIXEL(x,y) lcd_framebuffer[(y)/8][(x)] ^= (1<<((y)&7))/* * Memory copy of display bitmap */extern unsigned char lcd_framebuffer[LCD_HEIGHT/8][LCD_WIDTH];extern void lcd_setmargins(int xmargin, int ymargin);extern int  lcd_getxmargin(void);extern int  lcd_getymargin(void);extern void lcd_bitmap (unsigned char *src, int x, int y, int nx, int ny,			bool clear);extern void lcd_clearrect (int x, int y, int nx, int ny);extern void lcd_fillrect (int x, int y, int nx, int ny);extern void lcd_drawrect (int x, int y, int nx, int ny);extern void lcd_invertrect (int x, int y, int nx, int ny);extern void lcd_invertscroll(int x, int y);extern void lcd_drawline( int x1, int y1, int x2, int y2 );extern void lcd_clearline( int x1, int y1, int x2, int y2 );extern void lcd_drawpixel(int x, int y);extern void lcd_clearpixel(int x, int y);extern void lcd_invertpixel(int x, int y);extern void lcd_roll(int pixels);extern void lcd_set_invert_display(bool yesno);extern void lcd_set_flip(bool yesno);extern void lcd_bidir_scroll(int threshold);extern void lcd_scroll_step(int pixels);extern void lcd_setfont(int font);extern void lcd_putsxy(int x, int y, unsigned char *string);extern int  lcd_getstringsize(unsigned char *str, int *w, int *h);extern int  lcd_getstringsize(unsigned char *str, int *w, int *h);#endif /* CHARCELLS / BITMAP *//* These control codes may only work on the Neo LCD display */#ifdef HAVE_NEO_LCD/* Cursor Control Instructions */#define LCD_OFFCUR    0x0C#define LCD_LINECUR   0x0E#define LCD_BLINKCUR  0x0D#define LCD_COMBNCUR  0x0F#define LCD_HOMECUR   0x02#define LCD_SHLFCUR   0x10#define LCD_SHRTCUR   0x14/* Display Control Instructions */#define LCD_CLEAR     0x01#define LCD_OFFDISP   0x08#define LCD_ONDISP    0x0C#define LCD_SHLFDISP  0x18#define LCD_SHRTDISP  0x1C#define LCD_SET_CGRAM 0x40#endif#endif /* __LCD_H__ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -