📄 fb.h
字号:
/* * Copyright (c) 1999, 2000, 2001 Greg Haerr <greg@censoft.com> * * Framebuffer drivers header file for Microwindows Screen Drivers *//* Linux framebuffer critical sections*/#if VTSWITCHextern volatile int mwdrawing;#define DRAWON ++mwdrawing#define DRAWOFF --mwdrawing#else#define DRAWON#define DRAWOFF#endiftypedef unsigned char * ADDR8;typedef unsigned short * ADDR16;typedef unsigned long * ADDR32;/* ROP macro for 16 drawing modes*/#define CHECK(f,d) /* applyOp w/stored dst*/#define applyOp(op, src, pdst, type) \{ \ type d = (pdst); \ switch (op) { \ case MWMODE_XOR: \ *d ^= (src); \ CHECK("XOR", *d); \ break; \ case MWMODE_AND: \ *d &= (src); \ CHECK("AND", *d); \ break; \ case MWMODE_OR: \ *d |= (src); \ CHECK("OR", *d); \ break; \ case MWMODE_CLEAR: \ *d = 0; \ CHECK("CLEAR", *d); \ break; \ case MWMODE_SETTO1: \ *d = -1; \ CHECK("SETTO1", *d); \ break; \ case MWMODE_EQUIV: \ *d = ~(*d ^ (src)); \ CHECK("EQUIV", *d); \ break; \ case MWMODE_NOR: \ *d = ~(*d | (src)); \ CHECK("NOR", *d); \ break; \ case MWMODE_NAND: \ *d = ~(*d & (src)); \ CHECK("NAND", *d); \ break; \ case MWMODE_INVERT: \ *d = ~*d; \ CHECK("INVERT", *d); \ break; \ case MWMODE_COPYINVERTED: \ *d = ~(src); \ CHECK("COPYINVERTED", *d); \ break; \ case MWMODE_ORINVERTED: \ *d |= ~(src); \ CHECK("ORINVERTED", *d); \ break; \ case MWMODE_ANDINVERTED: \ *d &= ~(src); \ CHECK("ANDINVERTED", *d); \ break; \ case MWMODE_ORREVERSE: \ *d = ~*d | (src); \ CHECK("ORREVERSE", *d); \ break; \ case MWMODE_ANDREVERSE: \ *d = ~*d & (src); \ CHECK("ANDREVERSE", *d); \ break; \ case MWMODE_COPY: \ *d = (src); \ CHECK("COPY", *d); \ break; \ case MWMODE_NOOP: \ CHECK("NOOP", *d); \ break; \ } \}/* applyOp w/return value*/#define DEFINE_applyOpR \static inline int applyOpR(op, src, dst) \{ \ switch (op) { \ case MWMODE_XOR: \ return (src) ^ (dst); \ case MWMODE_AND: \ return (src) & (dst); \ case MWMODE_OR: \ return (src) | (dst); \ case MWMODE_CLEAR: \ return 0; \ case MWMODE_SETTO1: \ return -1; \ case MWMODE_EQUIV: \ return ~((src) ^ (dst)); \ case MWMODE_NOR: \ return ~((src) | (dst)); \ case MWMODE_NAND: \ return ~((src) & (dst)); \ case MWMODE_INVERT: \ return ~(dst); \ case MWMODE_COPYINVERTED: \ return ~(src); \ case MWMODE_ORINVERTED: \ return ~(src) | (dst); \ case MWMODE_ANDINVERTED: \ return ~(src) & (dst); \ case MWMODE_ORREVERSE: \ return (src) | ~(dst); \ case MWMODE_ANDREVERSE: \ return (src) & ~(dst); \ case MWMODE_COPY: \ return (src); \ case MWMODE_NOOP: \ default: \ return (dst); \ } \}/* global vars*/extern int gr_mode; /* temp kluge*//* entry points*//* scr_fb.c*/void ioctl_getpalette(int start, int len, short *red, short *green,short *blue);void ioctl_setpalette(int start, int len, short *red, short *green,short *blue);/* genmem.c*/void gen_fillrect(PSD psd,MWCOORD x1,MWCOORD y1,MWCOORD x2,MWCOORD y2, MWPIXELVAL c);MWBOOL set_subdriver(PSD psd, PSUBDRIVER subdriver, MWBOOL init);void get_subdriver(PSD psd, PSUBDRIVER subdriver);/* fb.c*/PSUBDRIVER select_fb_subdriver(PSD psd);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -