//========= Copyright Valve Corporation, All rights reserved. ============// // // Purpose: // // $NoKeywords: $ //=============================================================================// #ifndef D3DAPP_H #define D3DAPP_H #ifdef _WIN32 #pragma once #endif #include // Globals for the app to access. These are valid whenever the app is called. extern IDirect3D8 *g_pDirect3D; extern IDirect3DDevice8 *g_pDevice; // Special keys. #define APPKEY_LBUTTON -1 #define APPKEY_RBUTTON -2 #define APPKEY_SPACE -3 // ------------------------------------------------------------------------------------ // // Functions for the app to provide. // ------------------------------------------------------------------------------------ // void AppInit(); // Called to update or render the view as often as possible. If bInvalidRect is true, // then you should always render, so the window's contents are valid. void AppRender( float frametime, float mouseDeltaX, float mouseDeltaY, bool bInvalidRect ); // Release any D3D objects you have here - a resize will happen. void AppPreResize(); void AppPostResize(); void AppExit( ); void AppKey( int key, int down ); void AppChar( int key ); // ------------------------------------------------------------------------------------ // // Functions the app can call. // ------------------------------------------------------------------------------------ // // Show an error dialog and quit. bool Sys_Error(const char *pMsg, ...); // Shutdown the app. AppExit() will be called. void Sys_Quit(); void Sys_SetWindowText( char const *pMsg, ... ); // Key can be an ASCII key code or an APPKEY_ define. bool Sys_GetKeyState( int key ); void Sys_Sleep( int ms ); // Does the app have the focus? bool Sys_HasFocus(); char const* Sys_FindArg( char const *pArg, char const *pDefault=NULL ); int Sys_FindArgInt( char const *pArg, int defaultVal = -1 ); int Sys_ScreenWidth(); int Sys_ScreenHeight(); #endif // D3DAPP_H