///////////////////////////////////////////////////////////////////////////////////////////
// Direct3D.h
//
//  Definition of the Direct3D class, which wraps a Direct3D 8 object.

#pragma once

#include "DirectXException.h"

using namespace System;
using namespace System::ComponentModel;

#pragma comment(lib, "d3d8.lib")
#ifdef _DEBUG
#pragma comment(lib, "d3dx8d.lib")
#else
#pragma comment(lib, "d3dx8.lib")
#endif

namespace Sunlight
{
    namespace DirectX
    {
        namespace Graphics
        {
            // Wraps an IDirect3D8 object, providing base D3D functionality.
            __gc public class Direct3D
            {
            protected:
                IDirect3D8 __nogc *m_pD3D;

            public:
                Direct3D();
                ~Direct3D();

                void __nogc *GetDirect3D();

                D3DDISPLAYMODE  DefaultDisplayMode;
            };
        }
    }
}