ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

vgavideo.h
Go to the documentation of this file.
00001 // FIXME: Make these variables so we can also use modes like 800x600
00002 #define SCREEN_X    640
00003 #define SCREEN_Y    480
00004 
00005 #define SCREEN_STRIDE   80
00006 
00007 #define VGA_NORMAL 0
00008 #define VGA_AND    8
00009 #define VGA_OR     16
00010 #define VGA_XOR    24
00011 
00012 //This is in mingw standard headers
00013 //typedef struct { int quot, rem; } div_t;
00014 
00015 extern int maskbit[640];
00016 extern int y80[480];
00017 extern int xconv[640];
00018 extern int bit8[640];
00019 extern int startmasks[8];
00020 extern int endmasks[8];
00021 
00022 extern UCHAR PreCalcReverseByte[256];
00023 
00024 extern PBYTE vidmem;
00025 
00026 #define MISC     0x3c2
00027 #define SEQ      0x3c4
00028 #define CRTC     0x3d4
00029 #define GRAPHICS 0x3ce
00030 #define FEATURE  0x3da
00031 #define ATTRIB   0x3c0
00032 #define STATUS   0x3da
00033 
00034 typedef struct _VideoMode {
00035   unsigned short VidSeg;
00036   unsigned char  Misc;
00037   unsigned char  Feature;
00038   unsigned char  Seq[5];
00039   unsigned char  Crtc[25];
00040   unsigned char  Gfx[9];
00041   unsigned char  Attrib[21];
00042 } VideoMode;
00043 
00044 VOID vgaPreCalc(VOID);
00045 VOID vgaPutPixel(INT x, INT y, UCHAR c);
00046 VOID vgaPutByte(INT x, INT y, UCHAR c);
00047 VOID vgaGetByte(ULONG offset,
00048                 UCHAR *b, UCHAR *g,
00049                 UCHAR *r, UCHAR *i);
00050 INT vgaGetPixel(INT x, INT y);
00051 BOOL vgaHLine(INT x, INT y, INT len, UCHAR c);
00052 BOOL vgaVLine(INT x, INT y, INT len, UCHAR c);
00053 INT __cdecl abs(INT nm);
00054 BOOL VGADDIIntersectRect(PRECTL prcDst, PRECTL prcSrc1, PRECTL prcSrc2);
00055 
00056 #define SEQ_I   0x3C4           /* Sequencer Index */
00057 #define SEQ_D   0x3C5           /* Sequencer Data Register */
00058 
00059 #define GRA_I   0x3CE           /* Graphics Controller Index */
00060 #define GRA_D   0x3CF           /* Graphics Controller Data Register */
00061 
00062 #define LowByte(w)  (*((unsigned char *)&(w) + 0))
00063 #define HighByte(w) (*((unsigned char *)&(w) + 1))
00064 
00065 #define ASSIGNVP4(x, y, vp) vp = vidmem /* VBUF */ + (((x) + (y)*SCREEN_X) >> 3);
00066 #define ASSIGNMK4(x, y, mask) mask = 0x80 >> ((x) & 7);
00067 
00068 void get_masks(int x, int w);
00069 
00070 #define mod8(n) ((n)&7)
00071 #define mod2(n) ((n)&1)
00072 void DIB_BltFromVGA(int x, int y, int w, int h, void *b, int Dest_lDelta);
00073 void DIB_BltToVGA(int x, int y, int w, int h, void *b, int Source_lDelta, int StartMod);
00074 void DIB_BltToVGAWithXlate(int x, int y, int w, int h, void *b, int Source_lDelta, XLATEOBJ* Xlate);
00075 void DIB_TransparentBltToVGA(int x, int y, int w, int h, void *b, int Source_lDelta, ULONG trans);

Generated on Sat May 26 2012 04:36:57 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.