diff options
Diffstat (limited to 'src/mesa/drivers/windows/gdi/wmesadef.h')
-rw-r--r-- | src/mesa/drivers/windows/gdi/wmesadef.h | 179 |
1 files changed, 19 insertions, 160 deletions
diff --git a/src/mesa/drivers/windows/gdi/wmesadef.h b/src/mesa/drivers/windows/gdi/wmesadef.h index d43e990ed3c..9aa0ab20b79 100644 --- a/src/mesa/drivers/windows/gdi/wmesadef.h +++ b/src/mesa/drivers/windows/gdi/wmesadef.h @@ -1,175 +1,34 @@ -/* File name : wmesadef.h - * Version : 2.3 - * - * Header file for display driver for Mesa 2.3 under - * Windows95, WindowsNT and Win32 - * - * Copyright (C) 1996- Li Wei - * Address : Institute of Artificial Intelligence - * : & Robotics - * : Xi'an Jiaotong University - * Email : [email protected] - * Web page : http://sun.aiar.xjtu.edu.cn - * - * This file and its associations are partially based on the - * Windows NT driver for Mesa, written by Mark Leaming - * ([email protected]). - */ -/* - * $Log: wmesadef.h,v - * Revision 1.1.1.1 1999/08/19 00:55:42 jt - * Imported source - - * Revision 1.3 1999/01/03 03:08:57 brian - * Ted Jump's change - * - * Initial version 1997/6/14 CST by Li Wei([email protected]) - */ - -/* - * $Log: wmesadef.h,v - * Revision 1.1.1.1 1999/08/19 00:55:42 jt - * Imported source - - * Revision 1.3 1999/01/03 03:08:57 brian - * Ted Jump's change - * - * Revision 2.1 1996/11/15 10:54:00 CST by Li Wei([email protected]) - * a new element added to wmesa_context : - * dither_flag - */ - -/* - * $Log: wmesadef.h,v - * Revision 1.1.1.1 1999/08/19 00:55:42 jt - * Imported source - - * Revision 1.3 1999/01/03 03:08:57 brian - * Ted Jump's change - * - * Revision 2.0 1996/11/15 10:54:00 CST by Li Wei([email protected]) - * Initial revision - */ - - - -#ifndef DDMESADEF_H -#define DDMESADEF_H - -// uncomment this to use DirectDraw driver -//#define DDRAW 1 -// uncomment this to use a pointer to a function for setting the pixels -// in the buffer -#define COMPILE_SETPIXEL 1 -// uncomment this to enable the fast win32 rasterizers ( commented out for MesaGL 4.0 ) -// #define FAST_RASTERIZERS 1 -// uncomment this to enable setting function pointers once inside of -// WMesaCreateContext instead of on every call to wmesa_update_state() -#define SET_FPOINTERS_ONCE 1 - - -#include <windows.h> -#include <GL/gl.h> #include "context.h" -#ifdef DDRAW -#define DIRECTDRAW_VERSION 0x0100 - #include <ddraw.h> -#endif -//#include "profile.h" - -#define REDBITS 0x03 -#define REDSHIFT 0x00 -#define GREENBITS 0x03 -#define GREENSHIFT 0x03 -#define BLUEBITS 0x02 -#define BLUESHIFT 0x06 typedef struct _dibSection{ - HDC hDC; - HANDLE hFileMap; - BOOL fFlushed; - LPVOID base; + HDC hDC; + HANDLE hFileMap; + BOOL fFlushed; + LPVOID base; }WMDIBSECTION, *PWMDIBSECTION; -#ifdef COMPILE_SETPIXEL -struct wmesa_context; -typedef void (*SETPIXELTYPE)(struct wmesa_context *pwc, int iScanLine, int iPixel, BYTE r, BYTE g, BYTE b); -#endif - typedef struct wmesa_context{ - GLcontext *gl_ctx; /* The core GL/Mesa context */ - GLvisual *gl_visual; /* Describes the buffers */ - GLframebuffer *gl_buffer; /* Depth, stencil, accum, etc buffers */ - - - HWND Window; + GLcontext *gl_ctx; /* The core GL/Mesa context */ + GLvisual *gl_visual; /* Describes the buffers */ + GLframebuffer *gl_buffer; /* Depth, stencil, accum, etc buffers*/ + + HWND Window; HDC hDC; - HPALETTE hPalette; - HPALETTE hOldPalette; - HPEN hPen; - HPEN hOldPen; - HCURSOR hOldCursor; - COLORREF crColor; - // 3D projection stuff - RECT drawRect; - UINT uiDIBoffset; - // OpenGL stuff - HPALETTE hGLPalette; - GLuint width; - GLuint height; - GLuint ScanWidth; - GLboolean db_flag; //* double buffered? - GLboolean rgb_flag; //* RGB mode? - GLboolean dither_flag; //* use dither when 256 color mode for RGB? - GLuint depth; //* bits per pixel (1, 8, 24, etc) - ULONG pixel; // current color index or RGBA pixel value - ULONG clearpixel; //* pixel for clearing the color buffers - PBYTE ScreenMem; // WinG memory - BITMAPINFO *IndexFormat; - HPALETTE hPal; // Current Palette - HPALETTE hPalHalfTone; - - - WMDIBSECTION dib; + COLORREF clearColorRef; + HPEN clearPen; + HBRUSH clearBrush; + GLuint width; + GLuint height; + GLuint ScanWidth; + GLboolean db_flag; + WMDIBSECTION dib; BITMAPINFO bmi; HBITMAP hbmDIB; HBITMAP hOldBitmap; - HBITMAP Old_Compat_BM; - HBITMAP Compat_BM; // Bitmap for double buffering PBYTE pbPixels; - int nColors; - BYTE cColorBits; - int pixelformat; - -#ifdef DDRAW - LPDIRECTDRAW lpDD; // DirectDraw object -// LPDIRECTDRAW2 lpDD2; // DirectDraw object - LPDIRECTDRAWSURFACE lpDDSPrimary; // DirectDraw primary surface - LPDIRECTDRAWSURFACE lpDDSOffScreen; // DirectDraw off screen surface - LPDIRECTDRAWPALETTE lpDDPal; // DirectDraw palette - BOOL bActive; // is application active? - DDSURFACEDESC ddsd; // surface description - int fullScreen; // fullscreen ? - int gMode ; // fullscreen mode - LONG oldWndProc; // old Window proc. we need to hook WM_MOVE message to update the drawing rectangle -#endif - RECT rectOffScreen; - RECT rectSurface; - HWND hwnd; - DWORD pitch; - PBYTE addrOffScreen; -#ifdef COMPILE_SETPIXEL - SETPIXELTYPE wmSetPixel; -#endif // COMPILE_SETPIXEL -//#ifdef PROFILE -// MESAPROF profile; -//#endif + BYTE cColorBits; + int pixelformat; } *PWMC; -#define PAGE_FILE 0xffffffff - - - -#endif |