halflife-thewastes-sdk/utils/WastedFX/inc/Window.h

57 lines
No EOL
1.1 KiB
C++

/***
*
* WastedFX Tool chain
*
* Author: Joshua Coyne
* Copyright (C) 2003 The Wastes Project, All Rights Reserved.
*
***/
#if !defined( __WINDOW_H_ )
#define __WINDOW_H_
// Error codes
enum error_codes_e {
ERR_ALERT,
ERR_INFO,
ERR_FATAL,
};
// Base window class
class CWindow
{
public:
CWindow( char *pszClassname, HINSTANCE hInstance );
virtual ~CWindow();
virtual void Update();
BOOL RegisterWindow( int style, void *WndProc,
HICON hIcon, HICON hIconSm,
HCURSOR hCursor,
HBRUSH hBrush,
HMENU hMenu );
BOOL InstanceWindow( char *pszTitle, int style, HWND hWndParent,
int x, int y, int w, int h );
static void Error( CWindow *pWindow, char *pszCaption, char *pszMsg, int iErrMode );
char *m_pszClassname;
HWND m_hWnd;
HWND m_hWndParent;
HMENU m_hMenu;
HINSTANCE m_hInstance;
};
// Support functions
template<class T> T *GetClassFromUserData( HWND hWnd )
{
T *pRet = (T*)(GetWindowLong( hWnd, GWL_USERDATA ));
// if( pRet == NULL )
// CWindow::Error( NULL, "GetClassFromUserData", "Unable to resolve class pointer", ERR_ALERT );
return pRet;
}
#endif