/***************************************************************************
 *                          Zanoza Modeler v2.x                            *
 *      This is unpublished propietary source code of Zanoza Software.     *
 *      The copyright notice does not evidence any actual or intended      *
 *                    publication of such source code.                     *
 *                                                                         *
 *                   Copyright (c) 2002 Zanoza Software.                   *
 *                                                                         *
 *                        All rights reserved.                             *
 ***************************************************************************
 *--------------------------------------------------------------------------
 * @author:   Oleg M.
 *--------------------------------------------------------------------------
 * @purpose:  ZModeler's configuration file
 *--------------------------------------------------------------------------
 * @histroy: 23.09.2002. Created
 */
#ifndef zconf_h_included
#define zconf_h_included

#ifdef WIN32
# ifdef ZMODELER_EXPORTS
#   define DLL_LINKAGE __declspec(dllexport)
# else
#   define DLL_LINKAGE __declspec(dllimport)
# endif
# ifdef _DEBUG
#  pragma warning (disable : 4786) //debug info trucatination to 255 chars.
# endif //_DEBUG
//calling conversion
# define ZAPICALL __stdcall
#endif//WIN32

/*-----------------------------------------------------------
 by defining ZM_USING_NAMESPACES you force included files
 to use all declared namespaces.
 *----------------------------------------------------------*/
#define ZM_USING_NAMESPACES

#ifdef ZM_USING_NAMESPACES
# define ZM_USING_NAMESPACE(name) using namespace name;
#else
# define ZM_USING_NAMESPACE(name)
#endif//ZM_USING_NAMESPACES

//
// Standard MFC headers
//
#include <afxwin.h>
#include <afxcmn.h>

//
// If you don't have an ATL headers, define a ZM_NO_COM before compiling
//
#ifndef ZM_NO_COM
# include <objbase.h>
//
// If you don't have DirectX 9 headers, define a ZM_NO_DIRECTX
// get them at www.microsoft.com/directx/
//
# ifndef ZM_NO_DIRECTX
#   include <d3d9.h>
    typedef IDirect3DDevice9        IDevice;
    typedef IDirect3DVertexBuffer9  IVertexBuffer;
    typedef IDirect3DIndexBuffer9   IIndexBuffer;
    typedef IDirect3DSurface9       IRenderTarget;
    typedef IDirect3DBaseTexture9   IBaseTexture;
# else
#   define ZM_PURE_DIRECT_CLASSES
# endif //!ZM_NO_DIRECTX
//
// If you don't have GDIPlus headers, define a ZM_NO_GDIPLUS
// get them at www.microsoft.com/gdicpp/
//
# ifndef ZM_NO_GDIPLUS
#   include <GdiPlus.h>
# endif //!ZM_NO_GDIPLUS
#else
# define ZM_PURE_DIRECT_CLASSES
#endif//!ZM_NO_COM

//
// If ZM_PURE_DIRECT_CLASSES defined, all required DX classes are
// defined here as pure class
//
#ifdef ZM_PURE_DIRECT_CLASSES
//pure class declareations
class IDevice;
class IVertexBuffer;
class IIndexBuffer;
class IRenderTarget;
class IBaseTexture;
#endif //ZM_PURE_DIRECT_CLASSES

//
// extended keys for events: (see winuser.h: MK_ codes)
//
#ifndef MK_ALT
# define MK_ALT    0x0020
#endif //MK_ALT

//
// anchor for proper linking
//
#ifdef NDEBUG
#define g_pZModeler   g_pZModeler_226_DX9_JUNE10
#endif//NDEBUG

#endif //zconf_h_included


