home *** CD-ROM | disk | FTP | other *** search
- /*****************************************************************
- Copyright (c) 1998 Jawed Karim <jkarim@students.uiuc.edu>
- All rights reserved.
-
- This source code has been provided to you under the condition
- that you adhere to the following terms:
-
- 1. YOU MAY USE THIS SOURCE CODE PRIVATELY WITHOUT RESTRICTIONS.
-
- 2. REDISTRIBUTIONS OF MODIFICATIONS OF THIS PROGRAM IN BINARY OR
- IN SOURCE CODE FORM ARE NOT PERMITTED.
-
- 3. REDISTRIBUTIONS OF THIS SOURCE CODE ARE ONLY PERMITTED IF
- THE SOURCE CODE REMAINS COMPLETELY UNCHANGED AND ALL THE
- FILES WHICH WERE IN THE ORIGINAL DISTRIBUTION ARE INCLUDED.
-
- 4. ALL SOFTWARE USING SECTIONS OF THIS SOURCE CODE MUST GIVE
- EXPLICIT ACKNOWLEDGMENT TO JAWED KARIM IN THE PROGRAM
- ITSELF AS WELL AS IN THE DOCUMENTATION.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
- GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- INTERRUPTION).
- *****************************************************************/
-
- #include <stdio.h>
- #include <iostream.h>
-
- #include <windows.h>
- #include <windowsx.h>
- #include <GL/gl.h>
- #include <GL/glu.h>
-
- class COpenGLWindow {
-
- public:
- COpenGLWindow(int iX, int iY)
- {
- SetSize (iX, iY);
- };
-
- ~COpenGLWindow() {};
-
- void SetupPixelFormat (void);
- void SetupPalette (void);
- void RedoPalette (void);
-
- void Create (HWND);
- void Destroy (HWND);
-
- BOOL GLRCValid (void);
- BOOL PaletteValid (void);
-
- HDC GetDC (void);
-
- void SetSize (int, int);
- void GetSize (int *, int *);
-
- private:
-
- HDC m_hdc;
- HGLRC m_hGLRC;
- HPALETTE m_hPalette;
-
- int m_sizeX;
- int m_sizeY;
- };
-