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

📄 pc_hw.h

📁 mesa-6.5-minigui源码
💻 H
字号:
/* * PC/HW routine collection v1.4 for DOS/DJGPP * *  Copyright (C) 2002 - Daniel Borca *  Email : dborca@yahoo.com *  Web   : http://www.geocities.com/dborca */#ifndef PC_HW_H_included#define PC_HW_H_included#include <dpmi.h>#include <stdlib.h>/* * misc C definitions */#define FALSE 0#define TRUE !FALSE#define SQR(x)       ((x) * (x))#define MIN(x,y)     (((x) < (y)) ? (x) : (y))#define MAX(x,y)     (((x) > (y)) ? (x) : (y))#define MID(x,y,z)   MAX((x), MIN((y), (z)))typedef void (*VFUNC) (void);typedef void (*PFUNC) (void *);typedef void (*MFUNC) (int x, int y, int z, int b);/* * atexit */int pc_atexit (VFUNC f);int pc_clexit (VFUNC f);/* * locked memory */#define ENDOFUNC(x)    static void x##_end() { }#define LOCKFUNC(x)    _go32_dpmi_lock_code((void *)x, (long)x##_end - (long)x)#define LOCKDATA(x)    _go32_dpmi_lock_data((void *)&x, sizeof(x))#define LOCKBUFF(x, l) _go32_dpmi_lock_data((void *)x, l)void *pc_malloc (size_t size);/* * IRQ */#define ENABLE()  __asm __volatile ("sti")#define DISABLE() __asm __volatile ("cli")extern int pc_install_irq (int i, int (*handler) ());extern int pc_remove_irq (int i);/* * keyboard */#define KB_SHIFT_FLAG         0x0001#define KB_CTRL_FLAG          0x0002#define KB_ALT_FLAG           0x0004#define KB_LWIN_FLAG          0x0008#define KB_RWIN_FLAG          0x0010#define KB_MENU_FLAG          0x0020#define KB_SCROLOCK_FLAG      0x0100#define KB_NUMLOCK_FLAG       0x0200#define KB_CAPSLOCK_FLAG      0x0400#define KB_INALTSEQ_FLAG      0x0800#define KB_ACCENT1_FLAG       0x1000#define KB_ACCENT2_FLAG       0x2000#define KB_ACCENT3_FLAG       0x4000#define KB_ACCENT4_FLAG       0x8000#define KEY_A                 1#define KEY_B                 2#define KEY_C                 3#define KEY_D                 4#define KEY_E                 5#define KEY_F                 6#define KEY_G                 7#define KEY_H                 8#define KEY_I                 9#define KEY_J                 10#define KEY_K                 11#define KEY_L                 12#define KEY_M                 13#define KEY_N                 14#define KEY_O                 15#define KEY_P                 16#define KEY_Q                 17#define KEY_R                 18#define KEY_S                 19#define KEY_T                 20#define KEY_U                 21#define KEY_V                 22#define KEY_W                 23#define KEY_X                 24#define KEY_Y                 25#define KEY_Z                 26#define KEY_0                 27#define KEY_1                 28#define KEY_2                 29#define KEY_3                 30#define KEY_4                 31#define KEY_5                 32#define KEY_6                 33#define KEY_7                 34#define KEY_8                 35#define KEY_9                 36#define KEY_0_PAD             37#define KEY_1_PAD             38#define KEY_2_PAD             39#define KEY_3_PAD             40#define KEY_4_PAD             41#define KEY_5_PAD             42#define KEY_6_PAD             43#define KEY_7_PAD             44#define KEY_8_PAD             45#define KEY_9_PAD             46#define KEY_F1                47#define KEY_F2                48#define KEY_F3                49#define KEY_F4                50#define KEY_F5                51#define KEY_F6                52#define KEY_F7                53#define KEY_F8                54#define KEY_F9                55#define KEY_F10               56#define KEY_F11               57#define KEY_F12               58#define KEY_ESC               59#define KEY_TILDE             60#define KEY_MINUS             61#define KEY_EQUALS            62#define KEY_BACKSPACE         63#define KEY_TAB               64#define KEY_OPENBRACE         65#define KEY_CLOSEBRACE        66#define KEY_ENTER             67#define KEY_COLON             68#define KEY_QUOTE             69#define KEY_BACKSLASH         70#define KEY_BACKSLASH2        71#define KEY_COMMA             72#define KEY_STOP              73#define KEY_SLASH             74#define KEY_SPACE             75#define KEY_INSERT            76#define KEY_DEL               77#define KEY_HOME              78#define KEY_END               79#define KEY_PGUP              80#define KEY_PGDN              81#define KEY_LEFT              82#define KEY_RIGHT             83#define KEY_UP                84#define KEY_DOWN              85#define KEY_SLASH_PAD         86#define KEY_ASTERISK          87#define KEY_MINUS_PAD         88#define KEY_PLUS_PAD          89#define KEY_DEL_PAD           90#define KEY_ENTER_PAD         91#define KEY_PRTSCR            92#define KEY_PAUSE             93#define KEY_ABNT_C1           94#define KEY_YEN               95#define KEY_KANA              96#define KEY_CONVERT           97#define KEY_NOCONVERT         98#define KEY_AT                99#define KEY_CIRCUMFLEX        100#define KEY_COLON2            101#define KEY_KANJI             102#define KEY_MODIFIERS         103#define KEY_LSHIFT            103#define KEY_RSHIFT            104#define KEY_LCONTROL          105#define KEY_RCONTROL          106#define KEY_ALT               107#define KEY_ALTGR             108#define KEY_LWIN              109#define KEY_RWIN              110#define KEY_MENU              111#define KEY_SCRLOCK           112#define KEY_NUMLOCK           113#define KEY_CAPSLOCK          114#define KEY_MAX               115int pc_install_keyb (void);void pc_remove_keyb (void);int pc_keypressed (void);int pc_readkey (void);int pc_keydown (int code);int pc_keyshifts (void);/* * timer */int pc_install_int (PFUNC func, void *parm, unsigned int freq);int pc_remove_int (int fid);int pc_adjust_int (int fid, unsigned int freq);void pc_remove_timer (void);/* * mouse */int pc_install_mouse (void);void pc_remove_mouse (void);MFUNC pc_install_mouse_handler (MFUNC handler);void pc_mouse_area (int x1, int y1, int x2, int y2);void pc_mouse_speed (int xspeed, int yspeed);int pc_query_mouse (int *x, int *y, int *z);void pc_warp_mouse (int x, int y);/* * standard redirection */int pc_open_stdout (void);int pc_open_stderr (void);void pc_close_stdout (void);void pc_close_stderr (void);#endif

⌨️ 快捷键说明

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