source: GTP/trunk/App/Demos/Geom/Shark3D/src/drv_d3d9_env.h @ 2236

Revision 2236, 2.8 KB checked in by gumbau, 17 years ago (diff)
Line 
1///////////////////////////////////////////////////////////////////////////////
2//
3//      ##  ######
4//       ######  ###
5//  ## ###############        Shark 3D Engine (www.shark3d.com)
6//   ########## # # #
7//    ########                Copyright (c) 1996-2006 Spinor GmbH.
8//   ######### # # #          All rights reserved.
9//  ##   ##########
10//      ##
11//
12///////////////////////////////////////////////////////////////////////////////
13
14//@cpp
15#ifndef S3D_DRV_D3D9_ENV_H
16#define S3D_DRV_D3D9_ENV_H
17
18#include "drv_d3d9_types.h"
19#include "drv_d3d9_param.h"
20#include "util/stream/util_textstreampos.h"
21
22///////////////////////////////////////////////////////////////////////////////
23
24#define S3D_DRV_D3D9_ENV_LOGENABLE
25
26///////////////////////////////////////////////////////////////////////////////
27
28#ifdef S3D_DRV_D3D9_ENV_LOGENABLE
29
30#define S3D_DRV_D3D9_ENV_LOGBEGIN(Env) \
31    if((Env)->m_LogCalls)\
32        (Env)->CallBegin(S3D_GENERAL_CURFILE, S3D_GENERAL_CURLINE);
33
34#define S3D_DRV_D3D9_ENV_LOGEND(Env) \
35    if((Env)->m_LogCalls)\
36        (Env)->CallEnd(S3D_GENERAL_CURFILE, S3D_GENERAL_CURLINE);
37
38#else
39
40#define S3D_DRV_D3D9_ENV_LOGBEGIN(Env)
41#define S3D_DRV_D3D9_ENV_LOGEND(Env)
42
43#endif //S3D_DRV_D3D9_ENV_LOGENABLE
44
45///////////////////////////////////////////////////////////////////////////////
46
47#define S3D_DRV_D3D9_CALL(Env, Foo) \
48{ \
49    S3D_DRV_D3D9_ENV_LOGBEGIN(Env) \
50    \
51    (Foo); \
52    \
53    S3D_DRV_D3D9_ENV_LOGEND(Env) \
54}
55
56#define S3D_DRV_D3D9_HRESCALL(Env, Result, Foo) \
57{ \
58    S3D_DRV_D3D9_ENV_LOGBEGIN(Env) \
59    \
60    Result = (Foo); \
61    \
62    S3D_DRV_D3D9_ENV_LOGEND(Env) \
63}
64
65#define S3D_DRV_D3D9_CHECKHRES(Env, Result) \
66{ \
67    if(FAILED(Result)) \
68    { \
69        s3d_CDrvD3d9Util::ErrorD3d( \
70                (Env)->m_MsgHandler, Result, \
71                S3D_GENERAL_CURFILE, S3D_GENERAL_CURLINE); \
72    } \
73}
74
75#define S3D_DRV_D3D9_CHECK(Env, Foo) \
76{ \
77    HRESULT Result; \
78    S3D_DRV_D3D9_HRESCALL(Env, Result, Foo) \
79    S3D_DRV_D3D9_CHECKHRES(Env, Result) \
80}
81
82#define S3D_DRV_D3D9_CALLCHECK(Env, Result, Foo) \
83{ \
84    S3D_DRV_D3D9_HRESCALL(Env, Result, Foo) \
85    S3D_DRV_D3D9_CHECKHRES(Env, Result) \
86}
87
88///////////////////////////////////////////////////////////////////////////////
89
90//@
91struct s3d_CDrvD3d9Env
92{
93    s3d_CDrvD3d9Env();
94
95    void Init(s3d_CUtilMsgHandler *MsgHandler, s3d_CDrvD3d9Param *D3dParam);
96    void CallBegin(const s3d_CSysChar *File, int Line);
97    void CallEnd(const s3d_CSysChar *File, int Line);
98
99    s3d_CUtilMsgHandlerPtr m_MsgHandler;
100    bool m_LogCalls;
101};
102
103///////////////////////////////////////////////////////////////////////////////
104
105S3D_SYS_INLINE
106s3d_CDrvD3d9Env::s3d_CDrvD3d9Env()
107{
108    m_LogCalls = false;
109}
110
111///////////////////////////////////////////////////////////////////////////////
112
113#endif
Note: See TracBrowser for help on using the repository browser.