00001 00002 // File: GLTestWnd.h 00003 // Author: Changchang Wu 00004 // Description : interface for the GLTestWnd class. 00005 // Win32-based SiftGPU viewer 00006 // 00007 // 00008 // Copyright (c) 2007 University of North Carolina at Chapel Hill 00009 // All Rights Reserved 00010 // 00011 // Permission to use, copy, modify and distribute this software and its 00012 // documentation for educational, research and non-profit purposes, without 00013 // fee, and without a written agreement is hereby granted, provided that the 00014 // above copyright notice and the following paragraph appear in all copies. 00015 // 00016 // The University of North Carolina at Chapel Hill make no representations 00017 // about the suitability of this software for any purpose. It is provided 00018 // 'as is' without express or implied warranty. 00019 // 00020 // Please send BUG REPORTS to ccwu@cs.unc.edu 00021 // 00023 00024 00025 #if !defined(GL_TEST_WND_H) 00026 #define GL_TEST_WND_H 00027 00028 #if _WIN32 && _MSC_VER > 1000 00029 #pragma once 00030 #endif // _MSC_VER > 1000 00031 00032 #define WM_MY_IDLE WM_USER+1 00033 00034 00035 00036 00037 class BasicTestWin; 00038 class GLTestWnd : public BasicTestWin 00039 { 00040 HGLRC _hglrc; 00041 HWND _hWndMain; 00042 private: 00043 static LRESULT CALLBACK ___WndProc(HWND, UINT, WPARAM, LPARAM); 00044 inline LRESULT _WndProc(UINT, WPARAM, LPARAM); 00045 void CreateWindowGL(); 00046 static void RegisterWindowClass(); 00047 public: 00048 void UpdateDisplay(); 00049 void SetWindowTitle(char *title); 00050 void SetDisplaySize(int w, int h); 00051 void ParseCommandLine(LPSTR cmd); 00052 void glPaint(HDC ); 00053 void glResize(int w, int h); 00054 void glCreateRC(HDC hdc); 00055 GLTestWnd(LPSTR cmd); 00056 GLTestWnd(int argc, char**argv); 00057 virtual ~GLTestWnd(); 00058 00059 }; 00060 00061 #endif // !defined(GL_TEST_WND_H)