xlcd.h

来自「arm 显示器_键盘_源代码」· C头文件 代码 · 共 88 行

H
88
字号
/* xlcd.h - Module to model the 2 bit plane LCD panel and keyboard described 
 *          in the ODO development platform.
 *
 * Copyright (c) 1998 ARM Limited. All Rights Reserved.
 *
 * RCS $Revision: $
 * Checkin $Date: $
 * Revising $Author: $
 */

#ifndef _XLCD_H
#define _XLCD_H


#ifdef _WIN32
#include <windows.h>

#else

/* The standard X11 headers */
#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <X11/Xos.h>
#include <X11/keysym.h>
#define E_MASK ExposureMask | StructureNotifyMask | ButtonPressMask | KeyPressMask | KeyReleaseMask

#endif


#define NO_COLOURS 4


typedef unsigned long Pixel;


typedef struct _LcdModel {

    int PosX;
    int PosY;
    unsigned int Width;
    unsigned int Height;
    
#ifdef _WIN32

	HANDLE hFile, hMap;

	LPVOID lpvFile;

    int ChildId;

	int KeybdPipe[2];

#else

	int dirty;

    int UseImage;

    Window  win;
    Pixmap  BStore;
    GC      gc;
    XImage *image;
#endif
} LcdModel;

typedef enum _LcdEventType {
    LCDNone,
    LCDKeyPress,
    LCDKeyRelease,
    LCDPointerMove,
    LCDPointerClick
} LcdEventType;

typedef struct _LcdEvent {
    LcdEventType    Type;
    int             KeyScanCode;
} LcdEvent;


int       LcdModelInit(void);
void      LcdModelClose(void);
LcdModel *LcdModelCreate(int XPos, int YPos, unsigned int Width, unsigned int Height);
void      LcdModelDestroy(LcdModel *lcd);
int       LcdModelCheckEvents(LcdModel *lcd, LcdEvent *event);
void      LcdModelDraw(LcdModel *lcd, int ForceUpdate);
void      LcdModelWrite(LcdModel * lcd, unsigned int Address, unsigned char Byte);
#endif

⌨️ 快捷键说明

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