OSDN Git Service

Merge branch 'feature/#36529_SlimDXからSharpDXへの移行' into develop
[dtxmania/dtxmania.git] / SlimDXc_Jun2010(VC++2008) / source / direct3d10 / Enums.h
diff --git a/SlimDXc_Jun2010(VC++2008)/source/direct3d10/Enums.h b/SlimDXc_Jun2010(VC++2008)/source/direct3d10/Enums.h
deleted file mode 100644 (file)
index c643706..0000000
+++ /dev/null
@@ -1,1886 +0,0 @@
-/*\r
-* Copyright (c) 2007-2010 SlimDX Group\r
-* \r
-* Permission is hereby granted, free of charge, to any person obtaining a copy\r
-* of this software and associated documentation files (the "Software"), to deal\r
-* in the Software without restriction, including without limitation the rights\r
-* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r
-* copies of the Software, and to permit persons to whom the Software is\r
-* furnished to do so, subject to the following conditions:\r
-* \r
-* The above copyright notice and this permission notice shall be included in\r
-* all copies or substantial portions of the Software.\r
-* \r
-* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
-* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r
-* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r
-* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r
-* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r
-* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r
-* THE SOFTWARE.\r
-*/\r
-#pragma once\r
-\r
-#include <windows.h>\r
-#include <d3d10.h>\r
-#include <d3dx10.h>\r
-\r
-namespace SlimDX\r
-{\r
-#ifdef XMLDOCS\r
-       namespace DXGI\r
-       {\r
-               ref class SwapChain;\r
-       }\r
-#endif\r
-\r
-       namespace Direct3D10\r
-       {\r
-#ifdef XMLDOCS\r
-               ref class Device;\r
-               ref class Effect;\r
-               ref class Sprite;\r
-               ref class Debug;\r
-#endif\r
-       \r
-               // NOTE: The enumerations defined in this file are in alphabetical order. When\r
-               //       adding new enumerations or renaming existing ones, please make sure\r
-               //       the ordering is maintained.\r
-               \r
-               /// <summary>Optional flags that control the behavior of Asynchronous.GetData.</summary>\r
-               /// <unmanaged>D3D10_ASYNC_GETDATA_FLAG</unmanaged>\r
-               [System::Flags]\r
-               public enum class AsynchronousFlags : System::Int32\r
-               {\r
-                       /// <summary>\r
-                       /// Indicates no specific behavior.\r
-                       /// </summary>\r
-                       None = 0,\r
-\r
-                       /// <summary>\r
-                       /// Indicates the command buffer should not be flushed.\r
-                       /// Note that this can cause an infinite loop if GetData() is called repeatedly until \r
-                       /// returning successfully: there may still be commands in the buffer than need\r
-                       /// to be processed in order for GetData() to return successfully. Since the buffer \r
-                       /// will not be flushed, those commands will not be processed and GetData() will never\r
-                       /// return successfully.\r
-                       /// </summary>\r
-                       DoNotFlush = D3D10_ASYNC_GETDATA_DONOTFLUSH\r
-               };\r
-               \r
-               /// <summary>Identifies how to bind a resource to the pipeline.</summary>\r
-               /// <unmanaged>D3D10_BIND_FLAG</unmanaged>\r
-               [System::Flags]\r
-               public enum class BindFlags : System::Int32\r
-               {\r
-                       /// <summary>\r
-                       /// Indicates no specific behavior.\r
-                       /// </summary>\r
-                       None = 0,\r
-\r
-                       /// <summary>\r
-                       /// Indicates the resource can be bound to the input-assembler stage as a vertex buffer. \r
-                       /// </summary>\r
-                       VertexBuffer = D3D10_BIND_VERTEX_BUFFER,\r
-                       \r
-                       /// <summary>\r
-                       /// Indicates the resource can be bound to the input-assembler stage as an index buffer \r
-                       /// </summary>\r
-                       IndexBuffer = D3D10_BIND_INDEX_BUFFER,\r
-\r
-                       /// <summary>\r
-                       /// Indicates the resource can be bound to the shader stage as a constant buffer \r
-                       /// </summary>\r
-                       ConstantBuffer = D3D10_BIND_CONSTANT_BUFFER,\r
-\r
-                       /// <summary>\r
-                       /// Indicates the resource can be bound to the shader stage as a buffer or texture. \r
-                       /// Note that it is invalid to specify this flag and subsequently map the resource\r
-                       /// using MapMode.WriteNoOverwrite.\r
-                       /// </summary>\r
-                       ShaderResource = D3D10_BIND_SHADER_RESOURCE, \r
-\r
-                       /// <summary>\r
-                       /// Indicates the resource can be bound to the stream-output stage as an output buffer. \r
-                       /// </summary>\r
-                       StreamOutput = D3D10_BIND_STREAM_OUTPUT,\r
-\r
-                       /// <summary>\r
-                       /// Indicates the resource can be bound to the output-merger stage as a render target. \r
-                       /// </summary>\r
-                       RenderTarget = D3D10_BIND_RENDER_TARGET,\r
-\r
-                       /// <summary>\r
-                       /// Indicates the resource can be bound to the output-merger stage as a depth-stencil target. \r
-                       /// </summary>\r
-                       DepthStencil = D3D10_BIND_DEPTH_STENCIL\r
-               };\r
-               \r
-               /// <summary>RGB or alpha blending operation.</summary>\r
-               /// <unmanaged>D3D10_BLEND_OP</unmanaged>\r
-               public enum class BlendOperation : System::Int32\r
-               {\r
-                       /// <summary>\r
-                       /// Adds the source to the destination.\r
-                       /// </summary>\r
-                       Add = D3D10_BLEND_OP_ADD,\r
-                       \r
-                       /// <summary>\r
-                       /// Subtracts the source from the destination.\r
-                       /// </summary>\r
-                       Subtract = D3D10_BLEND_OP_SUBTRACT,\r
-                       \r
-                       /// <summary>\r
-                       /// Subtracts the destination from the source.\r
-                       /// </summary>\r
-                       ReverseSubtract = D3D10_BLEND_OP_REV_SUBTRACT,\r
-                       \r
-                       /// <summary>\r
-                       /// Takes the lesser of the source and destination values.\r
-                       /// </summary>\r
-                       Minimum = D3D10_BLEND_OP_MIN,\r
-                       \r
-                       /// <summary>\r
-                       /// Takes the greater of the source and destination values.\r
-                       /// </summary>\r
-                       Maximum = D3D10_BLEND_OP_MAX\r
-               };\r
-               \r
-               /// <summary>Blend options. A blend option identifies the data source and an optional pre-blend operation.</summary>\r
-               /// <unmanaged>D3D10_BLEND</unmanaged>\r
-               public enum class BlendOption : System::Int32\r
-               {\r
-                       /// <summary>\r
-                       /// The source is the color (0,0,0,0) with no pre-blend.\r
-                       /// </summary>\r
-                       Zero = D3D10_BLEND_ZERO,\r
-                       \r
-                       /// <summary>\r
-                       /// The source is the color (1,1,1,1) with no pre-blend.\r
-                       /// </summary>\r
-                       One = D3D10_BLEND_ONE,\r
-                       \r
-                       /// <summary>\r
-                       /// The source is the color (RGB) from a pixel shader with no pre-blend.\r
-                       /// </summary>\r
-                       SourceColor = D3D10_BLEND_SRC_COLOR,\r
-                       \r
-                       /// <summary>\r
-                       /// The source is the color (RGB) from a pixel shader with an inverting pre-blend (1 - RGB).\r
-                       /// </summary>\r
-                       InverseSourceColor = D3D10_BLEND_INV_SRC_COLOR,\r
-                       \r
-                       /// <summary>\r
-                       /// The source is the alpha (A) from a pixel shader with no pre-blend.\r
-                       /// </summary>\r
-                       SourceAlpha = D3D10_BLEND_SRC_ALPHA,\r
-                       \r
-                       /// <summary>\r
-                       /// The source is the alpha (A) from a pixel shader with an inverting pre-blend (1 - A).\r
-                       /// </summary>\r
-                       InverseSourceAlpha = D3D10_BLEND_INV_SRC_ALPHA,\r
-                       \r
-                       /// <summary>\r
-                       /// The source is the alpha (A) from a rendertarget with no pre-blend.\r
-                       /// </summary>\r
-                       DestinationAlpha = D3D10_BLEND_DEST_ALPHA,\r
-                       \r
-                       /// <summary>\r
-                       /// The source is the alpha (A) from a rendertarget with an inverting pre-blend (1 - A).\r
-                       /// </summary>\r
-                       InverseDestinationAlpha = D3D10_BLEND_INV_DEST_ALPHA,\r
-                       \r
-                       /// <summary>\r
-                       /// The source is the color (RGB) from a rendertarget with no pre-blend.\r
-                       /// </summary>\r
-                       DestinationColor = D3D10_BLEND_DEST_COLOR,\r
-                       \r
-                       /// <summary>\r
-                       /// The source is the color (RGB) from a rendertarget with an inverting pre-blend (1 - A).\r
-                       /// </summary>\r
-                       InverseDestinationColor = D3D10_BLEND_INV_DEST_COLOR,\r
-                       \r
-                       /// <summary>\r
-                       /// The source is the alpha (A) from a render target with a saturation pre-blend (clamping to 1 or less).\r
-                       /// </summary>\r
-                       SourceAlphaSaturate = D3D10_BLEND_SRC_ALPHA_SAT,\r
-                       \r
-                       /// <summary>\r
-                       /// The source is the blend factor (F) from the current blend state with no pre-blend operation.\r
-                       /// </summary>\r
-                       BlendFactor = D3D10_BLEND_BLEND_FACTOR,\r
-                       \r
-                       /// <summary>\r
-                       /// The source is the blend factor (F) from the current blend state with an inverting pre-blend (1 - F).\r
-                       /// </summary>\r
-                       InverseBlendFactor = D3D10_BLEND_INV_BLEND_FACTOR,\r
-                       \r
-                       /// <summary>\r
-                       /// The sources are both color (RGB) outputs from a pixel shader. There is no pre-blend operation. This option\r
-                       /// allows for dual-source blending.\r
-                       /// </summary>\r
-                       SecondarySourceColor = D3D10_BLEND_SRC1_COLOR,\r
-                       \r
-                       /// <summary>\r
-                       /// The sources are both color (RGB) outputs from a pixel shader. There is an inverting pre-blend (1 - RGB). This option\r
-                       /// allows for dual-source blending.\r
-                       /// </summary>\r
-                       InverseSecondarySourceColor = D3D10_BLEND_INV_SRC1_COLOR,\r
-                       \r
-                       /// <summary>\r
-                       /// The sources are both alpha (A) outputs from a pixel shader. There is no pre-blend. This option\r
-                       /// allows for dual-source blending.\r
-                       /// </summary>\r
-                       SecondarySourceAlpha = D3D10_BLEND_SRC1_ALPHA,\r
-                       \r
-                       /// <summary>\r
-                       /// The sources are both alpha (A) outputs from a pixel shader. There is an inverting pre-blend (1 - A). This option\r
-                       /// allows for dual-source blending.\r
-                       /// </summary>\r
-                       InverseSecondarySourceAlpha = D3D10_BLEND_INV_SRC1_ALPHA\r
-               };\r
-\r
-               /// <summary>\r
-               /// The following flags are used to specify which channels in a texture to operate on.\r
-               /// </summary>\r
-               /// <unmanaged>D3DX10_CHANNEL_FLAG</unmanaged>\r
-               [System::Flags]\r
-               public enum class Channel : System::Int32\r
-               {\r
-                       /// <summary>\r
-                       /// Indicates the red channel should be used.\r
-                       /// </summary>\r
-                       Red = D3DX10_CHANNEL_RED,\r
-\r
-                       /// <summary>\r
-                       /// Indicates the blue channel should be used.\r
-                       /// </summary>\r
-                       Blue = D3DX10_CHANNEL_BLUE,\r
-\r
-                       /// <summary>\r
-                       /// Indicates the green channel should be used.\r
-                       /// </summary>\r
-                       Green = D3DX10_CHANNEL_GREEN,\r
-\r
-                       /// <summary>\r
-                       /// Indicates the alpha channel should be used.\r
-                       /// </summary>\r
-                       Alpha = D3DX10_CHANNEL_ALPHA,\r
-\r
-                       /// <summary>\r
-                       /// Indicates the luminances of the red, green, and blue channels should be used.\r
-                       /// </summary>\r
-                       Luminance = D3DX10_CHANNEL_LUMINANCE\r
-               };\r
-               \r
-               /// <summary>Identifies mask values for writing to a render target.</summary>\r
-               /// <unmanaged>D3D10_COLOR_WRITE_ENABLE</unmanaged>\r
-               [System::Flags]\r
-               public enum class ColorWriteMaskFlags : System::Int32\r
-               {\r
-                       /// <summary>\r
-                       /// Indicates that writes to the red component should be enabled.\r
-                       /// </summary>\r
-                       Red = D3D10_COLOR_WRITE_ENABLE_RED,\r
-                       \r
-                       /// <summary>\r
-                       /// Indicates that writes to the green component should be enabled.\r
-                       /// </summary>\r
-                       Green = D3D10_COLOR_WRITE_ENABLE_GREEN,\r
-                       \r
-                       /// <summary>\r
-                       /// Indicates that writes to the blue component should be enabled.\r
-                       /// </summary>\r
-                       Blue = D3D10_COLOR_WRITE_ENABLE_BLUE,\r
-                       \r
-                       /// <summary>\r
-                       /// Indicates that writes to the alpha component should be enabled.\r
-                       /// </summary>\r
-                       Alpha = D3D10_COLOR_WRITE_ENABLE_ALPHA,\r
-                       \r
-                       /// <summary>\r
-                       /// Indicates that writes to all components should be enabled.\r
-                       /// </summary>\r
-                       All = D3D10_COLOR_WRITE_ENABLE_ALL\r
-               };\r
-               \r
-               /// <summary>Comparison options.</summary>\r
-               /// <unmanaged>D3D10_COMPARISON_FUNC</unmanaged>\r
-               public enum class Comparison : System::Int32\r
-               {\r
-                       /// <summary>\r
-                       /// The test never passes.\r
-                       /// </summary>\r
-                       Never = D3D10_COMPARISON_NEVER,\r
-                       \r
-                       /// <summary>\r
-                       /// The test passes if (source &lt; destination).\r
-                       /// </summary>\r
-                       Less = D3D10_COMPARISON_LESS,\r
-                       \r
-                       /// <summary>\r
-                       /// The test passes if (source == destination).\r
-                       /// </summary>\r
-                       Equal = D3D10_COMPARISON_EQUAL,\r
-                       \r
-                       /// <summary>\r
-                       /// The test passes if (source &lt;= destination).\r
-                       /// </summary>\r
-                       LessEqual = D3D10_COMPARISON_LESS_EQUAL,\r
-                       \r
-                       /// <summary>\r
-                       /// The test passes if (source &gt; destination).\r
-                       /// </summary>\r
-                       Greater = D3D10_COMPARISON_GREATER,\r
-                       \r
-                       /// <summary>\r
-                       /// The test passes if (source != destination).\r
-                       /// </summary>\r
-                       NotEqual = D3D10_COMPARISON_NOT_EQUAL,\r
-                       \r
-                       /// <summary>\r
-                       /// The test passes if (source &gt;= destination).\r
-                       /// </summary>\r
-                       GreaterEqual = D3D10_COMPARISON_GREATER_EQUAL,\r
-                       \r
-                       /// <summary>\r
-                       /// The test always passes.\r
-                       /// </summary>\r
-                       Always = D3D10_COMPARISON_ALWAYS\r
-               };\r
-               \r
-               /// <summary>Performance counter types.</summary>\r
-               /// <unmanaged>D3D10_COUNTER</unmanaged>\r
-               public enum class CounterKind : System::Int32\r
-               {\r
-                       /// <summary>\r
-                       /// The counter for the percentage of time the GPU is idle.\r
-                       /// </summary>\r
-                       Idle = D3D10_COUNTER_GPU_IDLE,\r
-                       \r
-                       /// <summary>\r
-                       /// The counter for the percentage of time the GPU is processing vertices.\r
-                       /// </summary>\r
-                       VertexProcessing = D3D10_COUNTER_VERTEX_PROCESSING,\r
-                       \r
-                       /// <summary>\r
-                       /// The counter for the percentage of time the GPU is processing geometry.\r
-                       /// </summary>\r
-                       GeometryProcessing = D3D10_COUNTER_GEOMETRY_PROCESSING,\r
-                       \r
-                       /// <summary>\r
-                       /// The counter for the percentage of time the GPU is processing pixels. \r
-                       /// </summary>\r
-                       PixelProcessing = D3D10_COUNTER_PIXEL_PROCESSING,\r
-                       \r
-                       /// <summary>\r
-                       /// The counter for the percentage of time the GPU is performing processing that is not vertex, pixel or geometry processing.\r
-                       /// </summary>\r
-                       OtherProcessing = D3D10_COUNTER_OTHER_GPU_PROCESSING,\r
-                       \r
-                       /// <summary>\r
-                       /// The counter for the percentage of bandwidth used on a host adapter.\r
-                       /// </summary>\r
-                       HostAdapterBandwidth = D3D10_COUNTER_HOST_ADAPTER_BANDWIDTH_UTILIZATION,\r
-                       \r
-                       /// <summary>\r
-                       /// The counter for the percentage of bandwidth used by local video memory.\r
-                       /// </summary>\r
-                       LocalVideoMemoryBandwidth = D3D10_COUNTER_LOCAL_VIDMEM_BANDWIDTH_UTILIZATION,\r
-                       \r
-                       /// <summary>\r
-                       /// The counter for the percentage of throughput for vertices.\r
-                       /// </summary>\r
-                       VertexThroughput = D3D10_COUNTER_VERTEX_THROUGHPUT_UTILIZATION,\r
-                       \r
-                       /// <summary>\r
-                       /// The counter for the percentage of throughput used for triangle setup.\r
-                       /// </summary>\r
-                       TriangleSetupThroughput = D3D10_COUNTER_TRIANGLE_SETUP_THROUGHPUT_UTILIZATION,\r
-                       \r
-                       /// <summary>\r
-                       /// The counter for the percentage of throughput used for fillrate.\r
-                       /// </summary>\r
-                       FillRateThroughput = D3D10_COUNTER_FILLRATE_THROUGHPUT_UTILIZATION,\r
-                       \r
-                       /// <summary>\r
-                       /// The counter for the percentage of time the vertex shader spends sampling resources.\r
-                       /// </summary>\r
-                       VertexShaderMemoryLimited = D3D10_COUNTER_VS_MEMORY_LIMITED,\r
-                       \r
-                       /// <summary>\r
-                       /// The counter for the percentage of time the vertex shader spends performing computations.\r
-                       /// </summary>\r
-                       VertexShaderComputationLimited = D3D10_COUNTER_VS_COMPUTATION_LIMITED,\r
-                       \r
-                       /// <summary>\r
-                       /// The counter for the percentage of time the geometry shader spends sampling resources.\r
-                       /// </summary>\r
-                       GeometryShaderMemoryLimited = D3D10_COUNTER_GS_MEMORY_LIMITED,\r
-                       \r
-                       /// <summary>\r
-                       /// The counter for the percentage of time the geometry shader spends performing computations.\r
-                       /// </summary>\r
-                       GeometryShaderComputationLimited = D3D10_COUNTER_GS_COMPUTATION_LIMITED,\r
-                       \r
-                       /// <summary>\r
-                       /// The counter for the percentage of time the pixel shader spends sampling resources.\r
-                       /// </summary>\r
-                       PixelShaderMemoryLimited = D3D10_COUNTER_PS_MEMORY_LIMITED,\r
-                       \r
-                       /// <summary>\r
-                       /// The counter for the percentage of time the pixel shader spends performing computations.\r
-                       /// </summary>\r
-                       PixelShaderComputationLimited = D3D10_COUNTER_PS_COMPUTATION_LIMITED,\r
-                       \r
-                       /// <summary>\r
-                       /// The counter for the percentage of vertex data that was read from the cache.\r
-                       /// </summary>\r
-                       PostTransformCacheHitRate = D3D10_COUNTER_POST_TRANSFORM_CACHE_HIT_RATE,\r
-                       \r
-                       /// <summary>\r
-                       /// The counter for the percentage of texel data that was read from the cache.\r
-                       /// </summary>\r
-                       TextureCacheHitRate = D3D10_COUNTER_TEXTURE_CACHE_HIT_RATE\r
-               };\r
-               \r
-               /// <summary>Data type of a performance counter.</summary>\r
-               /// <unmanaged>D3D10_COUNTER_TYPE</unmanaged>\r
-               public enum class CounterType : System::Int32\r
-               {\r
-                       /// <summary>\r
-                       /// 32-bit floating point.\r
-                       /// </summary>\r
-                       Float32 = D3D10_COUNTER_TYPE_FLOAT32,\r
-                       \r
-                       /// <summary>\r
-                       /// 16-bit unsigned integer.\r
-                       /// </summary>\r
-                       UnsignedInt16 = D3D10_COUNTER_TYPE_UINT16,\r
-                       \r
-                       /// <summary>\r
-                       /// 32-bit unsigned integer.\r
-                       /// </summary>\r
-                       UnsignedInt32 = D3D10_COUNTER_TYPE_UINT32, \r
-                       \r
-                       /// <summary>\r
-                       /// 64-bit unsigned integer.\r
-                       /// </summary>\r
-                       UnsignedInt64 = D3D10_COUNTER_TYPE_UINT64\r
-               };\r
-               \r
-               /// <summary>Specifies the types of CPU access allowed for a resource.</summary>\r
-               /// <unmanaged>D3D10_CPU_ACCESS_FLAG</unmanaged>\r
-               [System::Flags]\r
-               public enum class CpuAccessFlags : System::Int32\r
-               {\r
-                       /// <summary>\r
-                       /// No access is required on the CPU.\r
-                       /// </summary>\r
-                       None = 0,\r
-                       \r
-                       /// <summary>\r
-                       /// Write access is required on the CPU.\r
-                       /// </summary>\r
-                       Write = D3D10_CPU_ACCESS_WRITE,\r
-                       \r
-                       /// <summary>\r
-                       /// Read access is required on the CPU.\r
-                       /// </summary>\r
-                       Read = D3D10_CPU_ACCESS_READ\r
-               };\r
-               \r
-               /// <summary>Indicates triangles facing a particular direction are not drawn.</summary>\r
-               /// <unmanaged>D3D10_CULL_MODE</unmanaged>\r
-               public enum class CullMode : System::Int32 \r
-               {\r
-                       /// <summary>\r
-                       /// Do not cull; all triangles are rendered.\r
-                       /// </summary>\r
-                       None = D3D10_CULL_NONE,\r
-                       \r
-                       /// <summary>\r
-                       /// Cull triangles that are front-facing.\r
-                       /// </summary>\r
-                       Front = D3D10_CULL_FRONT,\r
-                       \r
-                       /// <summary>\r
-                       /// Cull triangles that are back-facing.\r
-                       /// </summary>\r
-                       Back = D3D10_CULL_BACK\r
-               };\r
-               \r
-               /// <summary>Flags controlling which debug features are enabled.</summary>\r
-               /// <unmanaged href="bb173520">D3D10_DEBUG_FEATURE</unmanaged>\r
-               [System::Flags]\r
-               public enum class DebugFeatureFlags : System::Int32\r
-               {\r
-                       /// <summary>\r
-                       /// The application will wait for the GPU to complete the render operation before continuing.\r
-                       /// </summary>\r
-                       FinishPerRender = D3D10_DEBUG_FEATURE_FINISH_PER_RENDER_OP,\r
-                       \r
-                       /// <summary>\r
-                       /// The runtime will call <see cref="SlimDX::Direct3D10::Device">Device.Flush</see> after the render operation.\r
-                       /// </summary>\r
-                       FlushPerRender = D3D10_DEBUG_FEATURE_FLUSH_PER_RENDER_OP,\r
-                       \r
-                       /// <summary>\r
-                       /// The runtime will call <see cref="SlimDX::DXGI::SwapChain">SwapChain.Present</see> after the render operation.\r
-                       /// Presentation of buffers will occur according to the settings specified by the \r
-                       /// <see cref="SlimDX::Direct3D10::Debug">Debug.SwapChain</see> and <see cref="SlimDX::Direct3D10::Debug">Debug.PresentDelay</see> properties.\r
-                       /// </summary>\r
-                       PresentPerRender = D3D10_DEBUG_FEATURE_PRESENT_PER_RENDER_OP\r
-               };\r
-               \r
-               /// <summary>Specifies which parts of the depth stencil buffer to clear.</summary>\r
-               /// <unmanaged>D3D10_CLEAR_FLAG</unmanaged>\r
-               [System::Flags]\r
-               public enum class DepthStencilClearFlags : System::Int32\r
-               {\r
-                       /// <summary>\r
-                       /// Indicates the depth buffer should be cleared.\r
-                       /// </summary>\r
-                       Depth = D3D10_CLEAR_DEPTH,\r
-                       \r
-                       /// <summary>\r
-                       /// Indicates the stencil buffer should be cleared.\r
-                       /// </summary>\r
-                       Stencil = D3D10_CLEAR_STENCIL\r
-               };\r
-               \r
-               /// <summary>Specified the dimension (and access methodology) for depth-stencil resource views.</summary>\r
-               /// <unmanaged>D3D10_DSV_DIMENSION</unmanaged>\r
-               public enum class DepthStencilViewDimension : System::Int32\r
-               {\r
-                       /// <summary>\r
-                       /// The resource will be accessed according to its type, determined by the actual resource specified\r
-                       /// during the creation of the view.\r
-                       /// </summary>\r
-                       Unknown = D3D10_DSV_DIMENSION_UNKNOWN,\r
-                       \r
-                       /// <summary>\r
-                       /// The resource will be accessed as a 1D texture.\r
-                       /// </summary>\r
-                       Texture1D = D3D10_DSV_DIMENSION_TEXTURE1D,\r
-                       \r
-                       /// <summary>\r
-                       /// The resource will be accessed as an array of 1D textures.\r
-                       /// </summary>\r
-                       Texture1DArray = D3D10_DSV_DIMENSION_TEXTURE1DARRAY,\r
-                       \r
-                       /// <summary>\r
-                       /// The resource will be accessed as a 2D texture.\r
-                       /// </summary>\r
-                       Texture2D = D3D10_DSV_DIMENSION_TEXTURE2D,\r
-                       \r
-                       /// <summary>\r
-                       /// The resource will be accessed as an array of 2D textures.\r
-                       /// </summary>\r
-                       Texture2DArray = D3D10_DSV_DIMENSION_TEXTURE2DARRAY,\r
-                       \r
-                       /// <summary>\r
-                       /// The resource will be accessed as a 2D texture with multisampling support.\r
-                       /// </summary>\r
-                       Texture2DMultisampled = D3D10_DSV_DIMENSION_TEXTURE2DMS,\r
-                       \r
-                       /// <summary>\r
-                       /// The resource will be accessed as an array of 2D textures with multisampling support.\r
-                       /// </summary>\r
-                       Texture2DMultisampledArray = D3D10_DSV_DIMENSION_TEXTURE2DMSARRAY\r
-               };\r
-               \r
-               /// <summary>Identifies mask values for writing to a depth-stencil buffer.</summary>\r
-               /// <unmanaged>D3D10_DEPTH_WRITE_MASK</unmanaged>\r
-               public enum class DepthWriteMask : System::Int32\r
-               {\r
-                       /// <summary>\r
-                       /// Disables all writes to the depth-stencil buffer.\r
-                       /// </summary>\r
-                       Zero = D3D10_DEPTH_WRITE_MASK_ZERO,\r
-                       \r
-                       /// <summary>\r
-                       /// Enables all writes to the depth-stencil buffer.\r
-                       /// </summary>\r
-                       All = D3D10_DEPTH_WRITE_MASK_ALL\r
-               };\r
-               \r
-               /// <summary>Flags controlling the creation of a device.</summary>\r
-               /// <unmanaged>D3D10_CREATE_DEVICE_FLAG</unmanaged>\r
-               [System::Flags]\r
-               public enum class DeviceCreationFlags : System::Int32\r
-               {\r
-                       /// <summary>\r
-                       /// Indicates no specific behavior.\r
-                       /// </summary>\r
-                       None = 0,\r
-                       \r
-                       /// <summary>\r
-                       /// Indicates that a single-threaded device should be created; by default, Direct3D 10 devices are\r
-                       /// thread-safe. Specifying this flag causes thread-safety to be disabled.\r
-                       /// </summary>\r
-                       SingleThreaded = D3D10_CREATE_DEVICE_SINGLETHREADED,\r
-                       \r
-                       /// <summary>\r
-                       /// Indicates that the device should support the debug layer.\r
-                       /// </summary>\r
-                       Debug = D3D10_CREATE_DEVICE_DEBUG,\r
-                       \r
-                       /// <summary>\r
-                       /// Indicates that both a REF and HAL device should be created, allowing the application to toggle\r
-                       /// between them.\r
-                       /// </summary>\r
-                       SwitchToRef = D3D10_CREATE_DEVICE_SWITCH_TO_REF,\r
-                       \r
-                       /// <summary>\r
-                       /// Reserved. Do not use.\r
-                       /// </summary>\r
-                       PreventThreadingOptimizations = D3D10_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS,\r
-\r
-                       AllowNullFromMap = D3D10_CREATE_DEVICE_ALLOW_NULL_FROM_MAP,\r
-\r
-                       BgraSupport = D3D10_CREATE_DEVICE_BGRA_SUPPORT\r
-               };\r
-       \r
-               /// <summary>Specifies a device driver type.</summary>\r
-               /// <unmanaged>D3D10_DRIVER_TYPE</unmanaged>\r
-               public enum class DriverType : System::Int32\r
-               {       \r
-                       /// <summary>\r
-                       /// A hardware (HAL) device.\r
-                       /// </summary>\r
-                       Hardware = D3D10_DRIVER_TYPE_HARDWARE,\r
-                       \r
-                       /// <summary>\r
-                       /// A software reference (REF) device.\r
-                       /// </summary>\r
-                       Reference = D3D10_DRIVER_TYPE_REFERENCE,\r
-               \r
-                       /// <summary>\r
-                       /// A null device (a REF device with no rendering capability).\r
-                       /// </summary>\r
-                       Null = D3D10_DRIVER_TYPE_NULL,\r
-                       \r
-                       /// <summary>\r
-                       /// Reserved. Do not use.\r
-                       /// </summary>\r
-                       Software = D3D10_DRIVER_TYPE_SOFTWARE,\r
-\r
-                       /// <summary>\r
-                       /// A WARP high performance software rasterizer.\r
-                       /// </summary>\r
-                       Warp = D3D10_DRIVER_TYPE_WARP,\r
-               };\r
-\r
-               /// <summary>Specifies detailed information about <see cref="SlimDX::Direct3D10::Effect">Effect</see> variables.</summary>\r
-               /// <unmanaged>D3D10_EFFECT_VARIABLE</unmanaged>\r
-               [System::Flags]\r
-               public enum class EffectVariableFlags : System::Int32\r
-               {\r
-                       /// <summary>\r
-                       /// Standard effect variable.\r
-                       /// </summary>\r
-                       None = 0,\r
-                       \r
-                       /// <summary>\r
-                       /// Indicates that the variable is an annotation or global.\r
-                       /// </summary>\r
-                       Annotation = D3D10_EFFECT_VARIABLE_ANNOTATION,\r
-                       \r
-                       /// <summary>\r
-                       /// Indicates that the variable or constant buffer resides in an effect pool. \r
-                       /// </summary>\r
-                       Pooled = D3D10_EFFECT_VARIABLE_POOLED,\r
-                       \r
-                       /// <summary>\r
-                       /// Indicates the variable has been explicitly bound using the register keyword in the effect code.\r
-                       /// </summary>\r
-                       ExplicitBindPoint = D3D10_EFFECT_VARIABLE_EXPLICIT_BIND_POINT,\r
-               };\r
-               \r
-               /// <summary>Determines the fill mode to use when rendering triangles.</summary>\r
-               /// <unmanaged>D3D10_FILL_MODE</unmanaged>\r
-               public enum class FillMode : System::Int32\r
-               {\r
-                       /// <summary>\r
-                       /// Draw lines connecting the vertices. Adjacent vertices are not drawn.\r
-                       /// </summary>\r
-                       Wireframe = D3D10_FILL_WIREFRAME,\r
-                       \r
-                       /// <summary>\r
-                       /// Fill the triangles formed by the vertices. Adjacent vertices are not drawn.\r
-                       /// </summary>\r
-                       Solid = D3D10_FILL_SOLID\r
-               };\r
-               \r
-               /// <summary>Specifies filtering options used during texture sampling.</summary>\r
-               /// <unmanaged>D3D10_FILTER</unmanaged>\r
-               public enum class Filter : System::Int32\r
-               {\r
-                       /// <summary>\r
-                       /// Use point sampling for minification, magnification, and mip-level sampling.\r
-                       /// </summary>\r
-                       MinMagMipPoint = D3D10_FILTER_MIN_MAG_MIP_POINT,\r
-                       \r
-                       /// <summary>\r
-                       /// Use point sampling for minification and magnification; use linear interpolation for mip-level sampling.\r
-                       /// </summary>\r
-                       MinMagPointMipLinear = D3D10_FILTER_MIN_MAG_POINT_MIP_LINEAR,\r
-                       \r
-                       /// <summary>\r
-                       /// Use point sampling for minification; use linear interpolation for magnification; use point sampling for mip-level sampling.\r
-                       /// </summary>\r
-                       MinPointMagLinearMipPoint = D3D10_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT,\r
-                       \r
-                       /// <summary>\r
-                       /// Use point sampling for minification; use linear interpolation for magnification and mip-level sampling.\r
-                       /// </summary>\r
-                       MinPointMagMipLinear = D3D10_FILTER_MIN_POINT_MAG_MIP_LINEAR,\r
-                       \r
-                       /// <summary>\r
-                       /// Use linear interpolation for minification; use point sampling for magnification and mip-level sampling.\r
-                       /// </summary>\r
-                       MinLinearMagMipPoint = D3D10_FILTER_MIN_LINEAR_MAG_MIP_POINT,\r
-                       \r
-                       /// <summary>\r
-                       /// Use linear interpolation for minification; use point sampling for magnification; use linear interpolation for mip-level sampling.\r
-                       /// </summary>\r
-                       MinLinearMagPointMipLinear = D3D10_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR,\r
-                       \r
-                       /// <summary>\r
-                       /// Use linear interpolation for minification and magnification; use point sampling for mip-level sampling.\r
-                       /// </summary>\r
-                       MinMagLinearMipPoint = D3D10_FILTER_MIN_MAG_LINEAR_MIP_POINT,\r
-                       \r
-                       /// <summary>\r
-                       /// Use linear interpolation for minification, magnification, and mip-level sampling.\r
-                       /// </summary>\r
-                       MinMagMipLinear = D3D10_FILTER_MIN_MAG_MIP_LINEAR,\r
-                       \r
-                       /// <summary>\r
-                       /// Use anisotropic interpolation for minification, magnification, and mip-level sampling.\r
-                       /// </summary>\r
-                       Anisotropic = D3D10_FILTER_ANISOTROPIC,\r
-                       \r
-                       /// <summary>\r
-                       /// Use point sampling for minification, magnification, and mip-level sampling. Compare the result to the comparison value.\r
-                       /// </summary>\r
-                       ComparisonMinMagMipPoint = D3D10_FILTER_COMPARISON_MIN_MAG_MIP_POINT,\r
-                       \r
-                       /// <summary>\r
-                       /// Use point sampling for minification and magnification; use linear interpolation for mip-level sampling.\r
-                       /// Compare the result to the comparison value.\r
-                       /// </summary>\r
-                       ComparisonMinMagPointMipLinear = D3D10_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR,\r
-                       \r
-                       /// <summary>\r
-                       /// Use point sampling for minification; use linear interpolation for magnification; use point sampling for mip-level sampling. Compare the result to the comparison value.\r
-                       /// </summary>\r
-                       ComparisonMinPointMagLinearMipPoint = D3D10_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT,\r
-                       \r
-                       /// <summary>\r
-                       /// Use point sampling for minification; use linear interpolation for magnification and mip-level sampling. Compare the result to the comparison value.\r
-                       /// </summary>\r
-                       ComparisonMinPointMagMipLinear = D3D10_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR,\r
-                       \r
-                       /// <summary>\r
-                       /// Use linear interpolation for minification; use point sampling for magnification and mip-level sampling. Compare the result to the comparison value.\r
-                       /// </summary>\r
-                       ComparisonMinLinearMagMipPoint = D3D10_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT,\r
-                       \r
-                       /// <summary>\r
-                       /// Use linear interpolation for minification; use point sampling for magnification; use linear interpolation for mip-level sampling. Compare the result to the comparison value.\r
-                       /// </summary>\r
-                       ComparisonMinLinearMagPointMipLinear = D3D10_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR,\r
-                       \r
-                       /// <summary>\r
-                       /// Use linear interpolation for minification and magnification; use point sampling for mip-level sampling. Compare the result to the comparison value.\r
-                       /// </summary>\r
-                       ComparisonMinMagLinearMipPoint = D3D10_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT,\r
-                       \r
-                       /// <summary>\r
-                       /// Use linear interpolation for minification, magnification, and mip-level sampling. Compare the result to the comparison value.\r
-                       /// </summary>\r
-                       ComparisonMinMagMipLinear = D3D10_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR,\r
-                       \r
-                       /// <summary>\r
-                       /// Use anisotropic interpolation for minification, magnification, and mip-level sampling. Compare the result to the comparison value.\r
-                       /// </summary>\r
-                       ComparisonAnisotropic = D3D10_FILTER_COMPARISON_ANISOTROPIC,\r
-                       \r
-                       /// <summary>\r
-                       /// For use with pixel shaders utilizing textures in the R1_UNorm format.\r
-                       /// </summary>\r
-                       Texture1Bit = D3D10_FILTER_TEXT_1BIT\r
-               };\r
-               \r
-               /// <summary>Specifies possible texture filtering flags.</summary>\r
-               /// <unmanaged>D3DX10_FILTER_FLAG</unmanaged>\r
-               [System::Flags]\r
-               public enum class FilterFlags : System::Int32\r
-               {\r
-                       /// <summary>\r
-                       /// No scaling or filtering will take place. Pixels outside the bounds of the source image are assumed to be transparent black.\r
-                       /// </summary>\r
-                       None = D3DX10_FILTER_NONE,\r
-                       \r
-                       /// <summary>\r
-                       /// Each destination pixel is computed by sampling the nearest pixel from the source image.\r
-                       /// </summary>\r
-                       Point = D3DX10_FILTER_POINT,\r
-                       \r
-                       /// <summary>\r
-                       /// Each destination pixel is computed by sampling the four nearest pixels from the source image. This filter\r
-                       /// works best when the scale on both axes is less than two.\r
-                       /// </summary>\r
-                       Linear = D3DX10_FILTER_LINEAR,\r
-                       \r
-                       /// <summary>\r
-                       /// Every pixel in the source image contributes equally to the destination image. This is the slowest of the filters.\r
-                       /// </summary>\r
-                       Triangle = D3DX10_FILTER_TRIANGLE,\r
-                       \r
-                       /// <summary>\r
-                       /// Each pixel is computed by averaging a 2x2(x2) box of pixels from the source image. This filter works only when the\r
-                       /// dimensions of the destination are half those of the source, as is the case with mipmaps.\r
-                       /// </summary>\r
-                       Box = D3DX10_FILTER_BOX,\r
-                       \r
-                       /// <summary>\r
-                       /// Pixels off the edge of the texture on the u-axis should be mirrored, not wrapped.\r
-                       /// </summary>\r
-                       MirrorU = D3DX10_FILTER_MIRROR_U,\r
-                       \r
-                       /// <summary>\r
-                       /// Pixels off the edge of the texture on the v-axis should be mirrored, not wrapped.\r
-                       /// </summary>\r
-                       MirrorV = D3DX10_FILTER_MIRROR_V,\r
-                       \r
-                       /// <summary>\r
-                       /// Pixels off the edge of the texture on the w-axis should be mirrored, not wrapped.\r
-                       /// </summary>\r
-                       MirrowW = D3DX10_FILTER_MIRROR_W,\r
-                       \r
-                       /// <summary>\r
-                       /// Combines the MirrorU, MirrorV, and MirrorW flags.\r
-                       /// </summary>\r
-                       Mirror = D3DX10_FILTER_MIRROR,\r
-                       \r
-                       /// <summary>\r
-                       /// The resulting image must be dithered using a 4x4 ordered dither algorithm. This happens when converting from one format to another.\r
-                       /// </summary>\r
-                       Dither = D3DX10_FILTER_DITHER,\r
-                       \r
-                       /// <summary>\r
-                       /// Do diffuse dithering on the image when changing from one format to another.\r
-                       /// </summary>\r
-                       DitherDiffusion = D3DX10_FILTER_DITHER_DIFFUSION,\r
-                       \r
-                       /// <summary>\r
-                       /// Input data is in standard RGB (sRGB) color space.\r
-                       /// </summary>\r
-                       StandardRgbIn = D3DX10_FILTER_SRGB_IN,\r
-                       \r
-                       /// <summary>\r
-                       /// Output data is in standard RGB (sRGB) color space.\r
-                       /// </summary>\r
-                       StandardRgbOut = D3DX10_FILTER_SRGB_OUT,\r
-                       \r
-                       /// <summary>\r
-                       /// Combines the StandardRgbIn and StandardRgbOut flags.\r
-                       /// </summary>\r
-                       StandardRgb = D3DX10_FILTER_SRGB,\r
-               };\r
-       \r
-               /// <summary>\r
-               /// Defines possible character sets for fonts.\r
-               /// </summary>\r
-               /// <unmanaged>CHARSET</unmanaged>\r
-               public enum class FontCharacterSet : System::Int32\r
-               {\r
-                       /// <summary>\r
-                       /// The ANSI character set.\r
-                       /// </summary>\r
-                       Ansi = ANSI_CHARSET,\r
-\r
-                       /// <summary>\r
-                       /// The default system character set.\r
-                       /// </summary>\r
-                       Default = DEFAULT_CHARSET,\r
-\r
-                       /// <summary>\r
-                       /// The symbol character set.\r
-                       /// </summary>\r
-                       Symbol = SYMBOL_CHARSET,\r
-\r
-                       /// <summary>\r
-                       /// The ShiftJIS character set.\r
-                       /// </summary>\r
-                       ShiftJIS = SHIFTJIS_CHARSET,\r
-\r
-                       /// <summary>\r
-                       /// The Hangul character set.\r
-                       /// </summary>\r
-                       Hangul = HANGUL_CHARSET,\r
-\r
-                       /// <summary>\r
-                       /// The GB2312 character set.\r
-                       /// </summary>\r
-                       GB2312 = GB2312_CHARSET,\r
-\r
-                       /// <summary>\r
-                       /// The Chinese character set.\r
-                       /// </summary>\r
-                       ChineseBig5 = CHINESEBIG5_CHARSET,\r
-\r
-                       /// <summary>\r
-                       /// The OEM character set.\r
-                       /// </summary>\r
-                       Oem = OEM_CHARSET,\r
-\r
-                       /// <summary>\r
-                       /// The Johab character set.\r
-                       /// </summary>\r
-                       Johab = JOHAB_CHARSET,\r
-\r
-                       /// <summary>\r
-                       /// The Hebrew character set.\r
-                       /// </summary>\r
-                       Hebrew = HEBREW_CHARSET,\r
-\r
-                       /// <summary>\r
-                       /// The Arabic character set.\r
-                       /// </summary>\r
-                       Arabic = ARABIC_CHARSET,\r
-\r
-                       /// <summary>\r
-                       /// The Greek character set.\r
-                       /// </summary>\r
-                       Greek = GREEK_CHARSET,\r
-\r
-                       /// <summary>\r
-                       /// The Turkish character set.\r
-                       /// </summary>\r
-                       Turkish = TURKISH_CHARSET,\r
-\r
-                       /// <summary>\r
-                       /// The Vietnamese character set.\r
-                       /// </summary>\r
-                       Vietnamese = VIETNAMESE_CHARSET,\r
-\r
-                       /// <summary>\r
-                       /// The Thai character set.\r
-                       /// </summary>\r
-                       Thai = THAI_CHARSET,\r
-\r
-                       /// <summary>\r
-                       /// The East Europe character set.\r
-                       /// </summary>\r
-                       EastEurope = EASTEUROPE_CHARSET,\r
-\r
-                       /// <summary>\r
-                       /// The Russian character set.\r
-                       /// </summary>\r
-                       Russian = RUSSIAN_CHARSET,\r
-\r
-                       /// <summary>\r
-                       /// The Baltic character set.\r
-                       /// </summary>\r
-                       Baltic = BALTIC_CHARSET,\r
-\r
-                       /// <summary>\r
-                       /// The Mac character set.\r
-                       /// </summary>\r
-                       Mac = MAC_CHARSET\r
-               };\r
-\r
-               /// <summary>\r
-               /// Specifies formatting options for text rendering.\r
-               /// </summary>\r
-               /// <unmanaged href="bb773199">DT</unmanaged>\r
-               [System::Flags]\r
-               public enum class FontDrawFlags : System::Int32\r
-               {\r
-                       /// <summary>\r
-                       /// Align the text to the top.\r
-                       /// </summary>\r
-                       Top = DT_TOP,\r
-\r
-                       /// <summary>\r
-                       /// Align the text to the left.\r
-                       /// </summary>\r
-                       Left = DT_LEFT,\r
-\r
-                       /// <summary>\r
-                       /// Align the text to the center.\r
-                       /// </summary>\r
-                       Center = DT_CENTER,\r
-\r
-                       /// <summary>\r
-                       /// Align the text to the right.\r
-                       /// </summary>\r
-                       Right = DT_RIGHT,\r
-\r
-                       /// <summary>\r
-                       /// Vertically align the text to the center.\r
-                       /// </summary>\r
-                       VerticalCenter = DT_VCENTER,\r
-\r
-                       /// <summary>\r
-                       /// Align the text to the bottom.\r
-                       /// </summary>\r
-                       Bottom = DT_BOTTOM,\r
-\r
-                       /// <summary>\r
-                       /// Allow word breaks.\r
-                       /// </summary>\r
-                       WordBreak = DT_WORDBREAK,\r
-\r
-                       /// <summary>\r
-                       /// Force all text to a single line.\r
-                       /// </summary>\r
-                       SingleLine = DT_SINGLELINE,\r
-\r
-                       /// <summary>\r
-                       /// Expand tab characters.\r
-                       /// </summary>\r
-                       ExpandTabs = DT_EXPANDTABS,\r
-\r
-                       /// <summary>\r
-                       /// Don't clip the text.\r
-                       /// </summary>\r
-                       NoClip = DT_NOCLIP,\r
-\r
-                       /// <summary>\r
-                       /// Rendering the text in right-to-left reading order.\r
-                       /// </summary>\r
-                       RtlReading = DT_RTLREADING,\r
-               };\r
-               \r
-               /// <summary>\r
-               /// Defines pitch and family settings for fonts.\r
-               /// </summary>\r
-               /// <unmanaged href="ms901140">(various font constants)</unmanaged>\r
-               [System::Flags]\r
-               public enum class FontPitchAndFamily : System::Int32\r
-               {\r
-                       /// <summary>\r
-                       /// Default pitch.\r
-                       /// </summary>\r
-                       Default = DEFAULT_PITCH,\r
-\r
-                       /// <summary>\r
-                       /// Fixed pitch.\r
-                       /// </summary>\r
-                       Fixed = FIXED_PITCH,\r
-\r
-                       /// <summary>\r
-                       /// Variable pitch.\r
-                       /// </summary>\r
-                       Variable = VARIABLE_PITCH,\r
-\r
-                       /// <summary>\r
-                       /// Mono pitch.\r
-                       /// </summary>\r
-                       Mono = MONO_FONT,\r
-\r
-                       /// <summary>\r
-                       /// The font family doesn't matter.\r
-                       /// </summary>\r
-                       DontCare = FF_DONTCARE,\r
-\r
-                       /// <summary>\r
-                       /// Use the Roman family.\r
-                       /// </summary>\r
-                       Roman = FF_ROMAN,\r
-\r
-                       /// <summary>\r
-                       /// Use the Swiss family.\r
-                       /// </summary>\r
-                       Swiss = FF_SWISS,\r
-\r
-                       /// <summary>\r
-                       /// Use the Modern family.\r
-                       /// </summary>\r
-                       Modern = FF_MODERN,\r
-\r
-                       /// <summary>\r
-                       /// Use the Script family.\r
-                       /// </summary>\r
-                       Script = FF_SCRIPT,\r
-\r
-                       /// <summary>\r
-                       /// Use the Decorative family.\r
-                       /// </summary>\r
-                       Decorative = FF_DECORATIVE,\r
-               };\r
-\r
-               /// <summary>\r
-               /// Defines precision levels for font rendering.\r
-               /// </summary>\r
-               /// <unmanaged href="cc215248">OutPrecision</unmanaged>\r
-               public enum class FontPrecision : System::Int32\r
-               {\r
-                       /// <summary>\r
-                       /// Default precision.\r
-                       /// </summary>\r
-                       Default = OUT_DEFAULT_PRECIS,\r
-\r
-                       /// <summary>\r
-                       /// String-level precision.\r
-                       /// </summary>\r
-                       String = OUT_STRING_PRECIS,\r
-\r
-                       /// <summary>\r
-                       /// Character-level precision.\r
-                       /// </summary>\r
-                       Character = OUT_CHARACTER_PRECIS,\r
-\r
-                       /// <summary>\r
-                       /// Stroke-level precision.\r
-                       /// </summary>\r
-                       Stroke = OUT_STROKE_PRECIS,\r
-\r
-                       /// <summary>\r
-                       /// TrueType precision.\r
-                       /// </summary>\r
-                       TrueType = OUT_TT_PRECIS,\r
-\r
-                       /// <summary>\r
-                       /// Device precision.\r
-                       /// </summary>\r
-                       Device = OUT_DEVICE_PRECIS,\r
-\r
-                       /// <summary>\r
-                       /// Raster precision.\r
-                       /// </summary>\r
-                       Raster = OUT_RASTER_PRECIS,\r
-\r
-                       /// <summary>\r
-                       /// TrueType only precision.\r
-                       /// </summary>\r
-                       TrueTypeOnly = OUT_TT_ONLY_PRECIS,\r
-\r
-                       /// <summary>\r
-                       /// Outline precision.\r
-                       /// </summary>\r
-                       Outline = OUT_OUTLINE_PRECIS,\r
-\r
-                       /// <summary>\r
-                       /// Screen outline precision.\r
-                       /// </summary>\r
-                       ScreenOutline = OUT_SCREEN_OUTLINE_PRECIS,\r
-\r
-                       /// <summary>\r
-                       /// PostScript only precision.\r
-                       /// </summary>\r
-                       PostScriptOnly = OUT_PS_ONLY_PRECIS,\r
-               };\r
-\r
-               /// <summary>\r
-               /// Specifies quality options for font rendering.\r
-               /// </summary>\r
-               /// <unmanaged href="ms901140">QUALITY</unmanaged>\r
-               public enum class FontQuality : System::Int32\r
-               {\r
-                       /// <summary>\r
-                       /// Default quality levels.\r
-                       /// </summary>\r
-                       Default = DEFAULT_QUALITY,\r
-\r
-                       /// <summary>\r
-                       /// Draft quality.\r
-                       /// </summary>\r
-                       Draft = DRAFT_QUALITY,\r
-\r
-                       /// <summary>\r
-                       /// Proof quality.\r
-                       /// </summary>\r
-                       Proof = PROOF_QUALITY,\r
-\r
-                       /// <summary>\r
-                       /// Non-antialiased quality.\r
-                       /// </summary>\r
-                       NonAntialiased = NONANTIALIASED_QUALITY,\r
-\r
-                       /// <summary>\r
-                       /// Antialiased quality.\r
-                       /// </summary>\r
-                       Antialiased = ANTIALIASED_QUALITY,\r
-\r
-                       /// <summary>\r
-                       /// Clear type quality.\r
-                       /// </summary>\r
-                       ClearType = CLEARTYPE_QUALITY,\r
-\r
-                       /// <summary>\r
-                       /// Clear type natural quality.\r
-                       /// </summary>\r
-                       ClearTypeNatural = CLEARTYPE_NATURAL_QUALITY,\r
-               };\r
-\r
-               /// <summary>\r
-               /// Specifies weights for font rendering.\r
-               /// </summary>\r
-               /// <unmanaged href="ms901140">FW</unmanaged>\r
-               public enum class FontWeight : System::Int32\r
-               {\r
-                       /// <summary>\r
-                       /// The font weight doesn't matter.\r
-                       /// </summary>\r
-                       DoNotCare = FW_DONTCARE,\r
-\r
-                       /// <summary>\r
-                       /// Make the font thin.\r
-                       /// </summary>\r
-                       Thin = FW_THIN,\r
-\r
-                       /// <summary>\r
-                       /// Make the font extra light.\r
-                       /// </summary>\r
-                       ExtraLight = FW_EXTRALIGHT,\r
-\r
-                       /// <summary>\r
-                       /// Make the font ultra light.\r
-                       /// </summary>\r
-                       UltraLight = FW_ULTRALIGHT,\r
-\r
-                       /// <summary>\r
-                       /// Make the font light.\r
-                       /// </summary>\r
-                       Light = FW_LIGHT,\r
-\r
-                       /// <summary>\r
-                       /// Use a normal weight.\r
-                       /// </summary>\r
-                       Normal = FW_NORMAL,\r
-\r
-                       /// <summary>\r
-                       /// Use a regular weight.\r
-                       /// </summary>\r
-                       Regular = FW_REGULAR,\r
-\r
-                       /// <summary>\r
-                       /// Use a medium weight.\r
-                       /// </summary>\r
-                       Medium = FW_MEDIUM,\r
-\r
-                       /// <summary>\r
-                       /// Use a semi-bold weight.\r
-                       /// </summary>\r
-                       SemiBold = FW_SEMIBOLD,\r
-\r
-                       /// <summary>\r
-                       /// Use a demi-bold weight.\r
-                       /// </summary>\r
-                       DemiBold = FW_DEMIBOLD,\r
-\r
-                       /// <summary>\r
-                       /// Use a bold weight.\r
-                       /// </summary>\r
-                       Bold = FW_BOLD,\r
-\r
-                       /// <summary>\r
-                       /// Use an extra bold weight.\r
-                       /// </summary>\r
-                       ExtraBold = FW_EXTRABOLD,\r
-\r
-                       /// <summary>\r
-                       /// Use an ultra bold weight.\r
-                       /// </summary>\r
-                       UltraBold = FW_ULTRABOLD,\r
-\r
-                       /// <summary>\r
-                       /// Use a heavy weight.\r
-                       /// </summary>\r
-                       Heavy = FW_HEAVY,\r
-\r
-                       /// <summary>\r
-                       /// Use a black weight.\r
-                       /// </summary>\r
-                       Black = FW_BLACK,\r
-               };\r
-               \r
-               /// <summary>Identifies which resources are supported for a given format and given device.</summary>\r
-               /// <unmanaged>D3D10_FORMAT_SUPPORT</unmanaged>\r
-               [System::Flags]\r
-               public enum class FormatSupport : System::Int32\r
-               {\r
-                       /// <summary>\r
-                       /// No features are supported.\r
-                       /// </summary>\r
-                       None = 0,\r
-                       \r
-                       /// <summary>\r
-                       /// Buffer resources are supported.\r
-                       /// </summary>\r
-                       Buffer = D3D10_FORMAT_SUPPORT_BUFFER,\r
-                       \r
-                       /// <summary>\r
-                       /// Vertex buffers are supported.\r
-                       /// </summary>\r
-                       VertexBuffer = D3D10_FORMAT_SUPPORT_IA_VERTEX_BUFFER,\r
-                       \r
-                       /// <summary>\r
-                       /// Index buffers are supported.\r
-                       /// </summary>\r
-                       IndexBuffer = D3D10_FORMAT_SUPPORT_IA_INDEX_BUFFER,\r
-                       \r
-                       /// <summary>\r
-                       /// Streaming output buffers are supported.\r
-                       /// </summary>\r
-                       StreamOutputBuffer = D3D10_FORMAT_SUPPORT_SO_BUFFER,\r
-                       \r
-                       /// <summary>\r
-                       /// 1D textures are supported.\r
-                       /// </summary>\r
-                       Texture1D = D3D10_FORMAT_SUPPORT_TEXTURE1D,\r
-                       \r
-                       /// <summary>\r
-                       /// 2D textures are supported.\r
-                       /// </summary>\r
-                       Texture2D = D3D10_FORMAT_SUPPORT_TEXTURE2D,\r
-                       \r
-                       /// <summary>\r
-                       /// 3D textures are supported.\r
-                       /// </summary>\r
-                       Texture3D = D3D10_FORMAT_SUPPORT_TEXTURE3D,\r
-                       \r
-                       /// <summary>\r
-                       /// Cube textures are supported.\r
-                       /// </summary>\r
-                       TextureCube = D3D10_FORMAT_SUPPORT_TEXTURECUBE,\r
-               \r
-                       /// <summary>\r
-                       /// The intrinsic HLSL "load" function is supported.\r
-                       /// </summary>\r
-                       ShaderLoadIntrinsic = D3D10_FORMAT_SUPPORT_SHADER_LOAD,\r
-                       \r
-                       /// <summary>\r
-                       /// The intrinsic HLSL "sample" function is supported.\r
-                       /// </summary>\r
-                       ShaderSampleIntrinsic = D3D10_FORMAT_SUPPORT_SHADER_SAMPLE,\r
-                       \r
-                       /// <summary>\r
-                       /// The intrinsic HLSL "samplecmp" and "samplecmplevelzero" are supported.\r
-                       /// </summary>\r
-                       ShaderSampleComparisonIntrinsic = D3D10_FORMAT_SUPPORT_SHADER_SAMPLE_COMPARISON,\r
-                       \r
-                       /// <summary>\r
-                       /// Mipmaps are supported.\r
-                       /// </summary>\r
-                       MipMap = D3D10_FORMAT_SUPPORT_MIP,\r
-                       \r
-                       /// <summary>\r
-                       /// Automatic generation of mipmaps is supported.\r
-                       /// </summary>\r
-                       MipMapAutoGeneration = D3D10_FORMAT_SUPPORT_MIP_AUTOGEN,\r
-                       \r
-                       /// <summary>\r
-                       /// Rendertargets are supported.\r
-                       /// </summary>\r
-                       RenderTarget = D3D10_FORMAT_SUPPORT_RENDER_TARGET,\r
-                       \r
-                       /// <summary>\r
-                       /// Blend operations are supported.\r
-                       /// </summary>\r
-                       BlendOperation = D3D10_FORMAT_SUPPORT_BLENDABLE,\r
-                       \r
-                       /// <summary>\r
-                       /// Depth-stencil surfaces are supported.\r
-                       /// </summary>\r
-                       DepthStencil = D3D10_FORMAT_SUPPORT_DEPTH_STENCIL,\r
-                       \r
-                       /// <summary>\r
-                       /// CPU locking is supported.\r
-                       /// </summary>\r
-                       CpuLocking = D3D10_FORMAT_SUPPORT_CPU_LOCKABLE,\r
-                       \r
-                       /// <summary>\r
-                       /// Multisampling resolution is supported.\r
-                       /// </summary>\r
-                       MultisampleResolve = D3D10_FORMAT_SUPPORT_MULTISAMPLE_RESOLVE,\r
-                       \r
-                       /// <summary>\r
-                       /// The format can be displayed on screen.\r
-                       /// </summary>\r
-                       FormatDisplaySupport = D3D10_FORMAT_SUPPORT_DISPLAY,\r
-                       \r
-                       /// <summary>\r
-                       /// The format can be cast to another format.\r
-                       /// </summary>\r
-                       FormatCastSupport = D3D10_FORMAT_SUPPORT_CAST_WITHIN_BIT_LAYOUT,\r
-                       \r
-                       /// <summary>\r
-                       /// The format can be used as a multisample render target.\r
-                       /// </summary>\r
-                       FormatMultisampleRenderTargetSupport = D3D10_FORMAT_SUPPORT_MULTISAMPLE_RENDERTARGET,\r
-                       \r
-                       /// <summary>\r
-                       /// The format can be used as a multisample texture and read into a shader with the HLSL "load" function.\r
-                       /// </summary>\r
-                       FormatMultisampleLoadSupport = D3D10_FORMAT_SUPPORT_MULTISAMPLE_LOAD\r
-               };\r
-               \r
-               /// <summary>Specifies image file formats supported by runtime.</summary>\r
-               /// <unmanaged>D3DX10_IMAGE_FILE_FORMAT</unmanaged>\r
-               public enum class ImageFileFormat : System::Int32\r
-               {\r
-                       /// <summary>\r
-                       /// Windows bitmap (BMP) file format. Contains a header that describes the resolution of the device on which the\r
-                       /// rectangle of pixels was created, the dimensions of the rectangle, the size of the array of bits, a logical palette,\r
-                       /// and an array of bits that defines the relationship between pixels in the bitmapped image and entries in the logical palette.\r
-                       /// </summary>\r
-                       Bmp = D3DX10_IFF_BMP,\r
-                       \r
-                       /// <summary>\r
-                       /// Joint Photographic Experts Group (JPEG) compressed file format. Specifies variable compression of 24-bit RGB color\r
-                       /// and 8-bit gray-scale Tagged Image File Format (TIFF) image document files.\r
-                       /// </summary>\r
-                       Jpg = D3DX10_IFF_JPG,\r
-                       \r
-                       /// <summary>\r
-                       /// Portable Network Graphics (PNG) file format. A non-proprietary bitmap format using lossless compression.\r
-                       /// </summary>\r
-                       Png = D3DX10_IFF_PNG,\r
-                       \r
-                       /// <summary>\r
-                       /// DirectDraw surface (DDS) file format. Stores textures, volume textures, and cubic environment maps, with or without\r
-                       /// mipmap levels, and with or without pixel compression.\r
-                       /// </summary>\r
-                       Dds = D3DX10_IFF_DDS,\r
-                       \r
-                       /// <summary>\r
-                       /// Tagged Image File Format (TIFF).\r
-                       /// </summary>\r
-                       Tiff = D3DX10_IFF_TIFF,\r
-                       \r
-                       /// <summary>\r
-                       /// Graphics Interchange Format (GIF).\r
-                       /// </summary>\r
-                       Gif = D3DX10_IFF_GIF,\r
-                       \r
-                       /// <summary>\r
-                       /// Windows Media Player format (WMP).\r
-                       /// </summary>\r
-                       Wmp = D3DX10_IFF_WMP,\r
-               };\r
-               \r
-               /// <summary>Type of data contained in an input slot.</summary>\r
-               /// <unmanaged>D3D10_INPUT_CLASSIFICATION</unmanaged>\r
-               public enum class InputClassification : System::Int32\r
-               {\r
-                       /// <summary>\r
-                       /// The data in the input slot is per-vertex data.\r
-                       /// </summary>\r
-                       PerVertexData = D3D10_INPUT_PER_VERTEX_DATA,\r
-                       \r
-                       /// <summary>\r
-                       /// The data in the input slot is per-instance data.\r
-                       /// </summary>\r
-                       PerInstanceData = D3D10_INPUT_PER_INSTANCE_DATA\r
-               };\r
-               \r
-               /// <summary>Identifies a resource to be accessed for reading and writing by the CPU.</summary>\r
-               /// <unmanaged>D3D10_MAP</unmanaged>\r
-               public enum class MapMode : System::Int32\r
-               {\r
-                       /// <summary>\r
-                       /// Resource is mapped for reading. The resource must have been created with read access.\r
-                       /// </summary>\r
-                       Read = D3D10_MAP_READ,\r
-                       \r
-                       /// <summary>\r
-                       /// Resource is mapped for writing. The resource must have been created with write access.\r
-                       /// </summary>\r
-                       Write = D3D10_MAP_WRITE,\r
-                       \r
-                       /// <summary>\r
-                       /// Resource is mapped for reading and writing. The resource must have been created with read and write access.\r
-                       /// </summary>\r
-                       ReadWrite = D3D10_MAP_READ_WRITE,\r
-                       \r
-                       /// <summary>\r
-                       /// Resource is mapped for writing; the previous contents of the resource will be undefined. The resource must have been created with write access.\r
-                       /// </summary>\r
-                       WriteDiscard = D3D10_MAP_WRITE_DISCARD,\r
-                       \r
-                       /// <summary>\r
-                       /// Resource is mapped for writing; the existing contents of the resource cannot be overwritten. This flag is only valid on\r
-                       /// vertex and index buffers. The resource must have been created with write access.\r
-                       /// </summary>\r
-                       WriteNoOverwrite = D3D10_MAP_WRITE_NO_OVERWRITE\r
-               };\r
-               \r
-               /// <summary>Specifies how the CPU should respond when Map() is called on a resource being used by the GPU.</summary>\r
-               /// <unmanaged>D3D10_MAP_FLAG</unmanaged>\r
-               [System::Flags]\r
-               public enum class MapFlags : System::Int32\r
-               {\r
-                       /// <summary>\r
-                       /// Wait for the resource to become available.\r
-                       /// </summary>\r
-                       None = 0,\r
-                       \r
-                       /// <summary>\r
-                       /// Do not wait for the resource to become available. The map method will return WasStillRendering when the GPU blocks the CPU from\r
-                       /// accessing a resource.\r
-                       /// </summary>\r
-                       DoNotWait = D3D10_MAP_FLAG_DO_NOT_WAIT\r
-               };\r
-\r
-               /// <summary>Specifies creation options for a mesh.</summary>\r
-               /// <unmanaged>D3DX10_MESH</unmanaged>\r
-               [System::Flags]\r
-               public enum class MeshFlags : System::Int32\r
-               {\r
-                       /// <summary>\r
-                       /// Indicates standard mesh creation options..\r
-                       /// </summary>\r
-                       None = 0,\r
-                       \r
-                       /// <summary>\r
-                       /// Indicates that the mesh should use 32-bit indices rather than 16-bit indices.\r
-                       /// </summary>\r
-                       Has32BitIndices = D3DX10_MESH_32_BIT,\r
-                       \r
-                       /// <summary>\r
-                       /// Indicates that the mesh should contain adjacency information.\r
-                       /// </summary>\r
-                       HasAdjacency = D3DX10_MESH_GS_ADJACENCY\r
-               };\r
-\r
-               /// <summary>Specifies which types of mesh data to discard from the device.</summary>\r
-               /// <unmanaged>D3DX10_MESH_DISCARD_FLAGS</unmanaged>\r
-               [System::Flags]\r
-               public enum class MeshDiscardFlags : System::Int32\r
-               {\r
-                       /// <summary>\r
-                       /// Indicates that the attribute buffer should be discarded.\r
-                       /// </summary>\r
-                       DiscardAttributeBuffer = D3DX10_MESH_DISCARD_ATTRIBUTE_BUFFER,\r
-                       \r
-                       /// <summary>\r
-                       /// Indicates that the attribute table should be discarded.\r
-                       /// </summary>\r
-                       DiscardAttributeTable = D3DX10_MESH_DISCARD_ATTRIBUTE_TABLE,\r
-                       \r
-                       /// <summary>\r
-                       /// Indicates that the point representation buffer should be discarded.\r
-                       /// </summary>\r
-                       DiscardPointRepresentation = D3DX10_MESH_DISCARD_POINTREPS,\r
-                       \r
-                       /// <summary>\r
-                       /// Indicates that the adjacency buffer should be discarded.\r
-                       /// </summary>\r
-                       DiscardAdjacency = D3DX10_MESH_DISCARD_ADJACENCY,\r
-                       \r
-                       /// <summary>\r
-                       /// Indicates that any buffers committed to the device should be discarded.\r
-                       /// </summary>\r
-                       DiscardDeviceBuffers = D3DX10_MESH_DISCARD_DEVICE_BUFFERS\r
-               };\r
-               \r
-               /// <summary>\r
-               /// Values that indicate how to alter mesh data during an optimization operation.\r
-               /// </summary>\r
-               /// <unmanaged>D3DX10_MESHOPT</unmanaged>\r
-               [System::Flags]\r
-               public enum class MeshOptimizeFlags : System::Int32\r
-               {\r
-                       /// <summary>\r
-                       /// Reorders faces to remove unused vertices and faces.\r
-                       /// </summary>\r
-                       Compact = D3DX10_MESHOPT_COMPACT,\r
-                       \r
-                       /// <summary>\r
-                       /// Reorders faces to optimize for fewer attribute bundle state changes and enhanced draw performance.\r
-                       /// </summary>\r
-                       AttributeSort = D3DX10_MESHOPT_ATTR_SORT,\r
-           \r
-                       /// <summary>\r
-                       /// Reorders faces to increase the cache hit rate of vertex caches.\r
-                       /// </summary>\r
-                       VertexCache = D3DX10_MESHOPT_VERTEX_CACHE,\r
-           \r
-                       /// <summary>\r
-                       /// Reorders faces to maximize length of adjacent triangles.\r
-                       /// </summary>\r
-                       StripReorder = D3DX10_MESHOPT_STRIP_REORDER,\r
-           \r
-                       /// <summary>\r
-                       /// Optimize the faces only; do not optimize the vertices.\r
-                       /// </summary>\r
-                       IgnoreVertices = D3DX10_MESHOPT_IGNORE_VERTS,\r
-                       \r
-                       /// <summary>\r
-                       /// While attribute sorting, do not split vertices that are shared between attribute groups.\r
-                       /// </summary>\r
-                       DoNotSplit = D3DX10_MESHOPT_DO_NOT_SPLIT,\r
-                       \r
-                       /// <summary>\r
-                       /// Affects the vertex cache size. Using this flag specifies a default vertex cache size that works well on legacy hardware.\r
-                       /// </summary>\r
-                       DeviceIndependent = D3DX10_MESHOPT_DEVICE_INDEPENDENT,\r
-               };\r
-\r
-               /// <summary>\r
-               /// Normal maps generation constants.\r
-               /// </summary>\r
-               /// <unmanaged>D3DX10_NORMALMAP_FLAG</unmanaged>\r
-               [System::Flags]\r
-               public enum class NormalMapFlags : System::Int32\r
-               {\r
-                       /// <summary>\r
-                       /// Indicates that pixels off the edge of the texture on the u-axis should be mirrored, not wrapped.\r
-                       /// </summary>\r
-                       MirrorU = D3DX10_NORMALMAP_MIRROR_U,\r
-\r
-                       /// <summary>\r
-                       /// Indicates that pixels off the edge of the texture on the v-axis should be mirrored, not wrapped.\r
-                       /// </summary>\r
-                       MirrorV = D3DX10_NORMALMAP_MIRROR_V,\r
-\r
-                       /// <summary>\r
-                       /// Same as specifying the MirrorU and MirrorV flags.\r
-                       /// </summary>\r
-                       Mirror = D3DX10_NORMALMAP_MIRROR,\r
-\r
-                       /// <summary>\r
-                       /// Inverts the direction of each normal.\r
-                       /// </summary>\r
-                       InvertSign = D3DX10_NORMALMAP_INVERTSIGN,\r
-\r
-                       /// <summary>\r
-                       /// Computes the per-pixel occlusion term and encodes it into the alpha. An alpha of 1 means that the\r
-                       /// pixel is not obscured in any way, and an alpha of 0 means that the pixel is completely obscured.\r
-                       /// </summary>\r
-                       ComputeOcclusion = D3DX10_NORMALMAP_COMPUTE_OCCLUSION\r
-               };\r
-               \r
-               /// <summary>Specifies how the pipeline should interpret vertex data bound to the input assembler stage.</summary>\r
-               /// <unmanaged>D3D10_PRIMITIVE_TOPOLOGY</unmanaged>\r
-               public enum class PrimitiveTopology : System::Int32\r
-               {\r
-                       /// <summary>\r
-                       /// The IA stage has not been initialized with a primitive topology. The IA stage will not function properly unless a primitive topology is defined.\r
-                       /// </summary>\r
-                       Undefined = D3D10_PRIMITIVE_TOPOLOGY_UNDEFINED,\r
-                       \r
-                       /// <summary>\r
-                       /// Interpret the vertex data as a list of points.\r
-                       /// </summary>\r
-                       PointList = D3D10_PRIMITIVE_TOPOLOGY_POINTLIST,\r
-                       \r
-                       /// <summary>\r
-                       /// Interpret the vertex data as a list of lines.\r
-                       /// </summary>\r
-                       LineList = D3D10_PRIMITIVE_TOPOLOGY_LINELIST,\r
-                       \r
-                       /// <summary>\r
-                       /// Interpret the vertex data as a line strip.\r
-                       /// </summary>\r
-                       LineStrip = D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP,\r
-                       \r
-                       /// <summary>\r
-                       /// Interpret the vertex data as a list of triangles.\r
-                       /// </summary>\r
-                       TriangleList = D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST,\r
-                       \r
-                       /// <summary>\r
-                       /// Interpret the vertex data as a triangle strip.\r
-                       /// </summary>\r
-                       TriangleStrip = D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP,\r
-                       \r
-                       /// <summary>\r
-                       /// Interpret the vertex data as list of lines with adjacency data.\r
-                       /// </summary>\r
-                       LineListWithAdjacency = D3D10_PRIMITIVE_TOPOLOGY_LINELIST_ADJ,\r
-                       \r
-                       /// <summary>\r
-                       /// Interpret the vertex data as line strip with adjacency data.\r
-                       /// </summary>\r
-                       LineStripWithAdjacency = D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ,\r
-                       \r
-                       /// <summary>\r
-                       /// Interpret the vertex data as list of triangles with adjacency data.\r
-                       /// </summary>\r
-                       TriangleListWithAdjacency = D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ,\r
-                       \r
-                       /// <summary>\r
-                       /// Interpret the vertex data as triangle strip with adjacency data.\r
-                       /// </summary>\r
-                       TriangleStripWithAdjacency = D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ\r
-               };\r
-               \r
-               /// <summary>\r
-               /// Flags for describing query options and behavior.\r
-               /// </summary>\r
-               /// <unmanaged>D3D10_QUERY_MISC_FLAG</unmanaged>\r
-               [System::Flags]\r
-               public enum class QueryFlags : System::Int32\r
-               {\r
-                       None = 0,\r
-                       PredicateHint = D3D10_QUERY_MISC_PREDICATEHINT,\r
-               };\r
-               \r
-               /// <summary>\r
-               /// Values which description query types.\r
-               /// </summary>\r
-               /// <unmanaged>D3D10_QUERY</unmanaged>\r
-               public enum class QueryType : System::Int32\r
-               {\r
-                       Event = D3D10_QUERY_EVENT,\r
-                       Occlusion = D3D10_QUERY_OCCLUSION,\r
-                       Timestamp = D3D10_QUERY_TIMESTAMP,\r
-                       TimestampDisjoint = D3D10_QUERY_TIMESTAMP_DISJOINT,\r
-                       PipelineStatistics = D3D10_QUERY_PIPELINE_STATISTICS,\r
-                       Predicate = D3D10_QUERY_OCCLUSION_PREDICATE,\r
-                       StreamOutputStatistics = D3D10_QUERY_SO_STATISTICS,\r
-                       StreamOutputOverflowPredicate = D3D10_QUERY_SO_OVERFLOW_PREDICATE,\r
-               };\r
-               \r
-               /// <summary></summary>\r
-               /// <unmanaged>D3D10_RTV_DIMENSION</unmanaged>\r
-               public enum class RenderTargetViewDimension : System::Int32\r
-               {\r
-                       Unknown = D3D10_RTV_DIMENSION_UNKNOWN,\r
-                       Buffer = D3D10_RTV_DIMENSION_BUFFER,\r
-                       Texture1D = D3D10_RTV_DIMENSION_TEXTURE1D ,\r
-                       Texture1DArray = D3D10_RTV_DIMENSION_TEXTURE1DARRAY,\r
-                       Texture2D = D3D10_RTV_DIMENSION_TEXTURE2D,\r
-                       Texture2DArray = D3D10_RTV_DIMENSION_TEXTURE2DARRAY,\r
-                       Texture2DMultisampled = D3D10_RTV_DIMENSION_TEXTURE2DMS,\r
-                       Texture2DMultisampledArray = D3D10_RTV_DIMENSION_TEXTURE2DMSARRAY,\r
-                       Texture3D = D3D10_RTV_DIMENSION_TEXTURE3D\r
-               };\r
-               \r
-               /// <summary></summary>\r
-               /// <unmanaged>D3D10_RESOURCE_DIMENSION</unmanaged>\r
-               public enum class ResourceDimension : System::Int32\r
-               {\r
-                       Unknown = D3D10_RESOURCE_DIMENSION_UNKNOWN,\r
-                       Buffer = D3D10_RESOURCE_DIMENSION_BUFFER,\r
-                       Texture1D = D3D10_RESOURCE_DIMENSION_TEXTURE1D,\r
-                       Texture2D = D3D10_RESOURCE_DIMENSION_TEXTURE2D,\r
-                       Texture3D = D3D10_RESOURCE_DIMENSION_TEXTURE3D\r
-               };\r
-               \r
-               /// <summary></summary>\r
-               /// <unmanaged>D3D10_RESOURCE_MISC_FLAG</unmanaged>\r
-               [System::Flags]\r
-               public enum class ResourceOptionFlags : System::Int32\r
-               {\r
-                       None = 0,\r
-                       GenerateMipMaps = D3D10_RESOURCE_MISC_GENERATE_MIPS,\r
-                       Shared = D3D10_RESOURCE_MISC_SHARED,\r
-                       TextureCube = D3D10_RESOURCE_MISC_TEXTURECUBE\r
-               };\r
-\r
-               /// <summary></summary>\r
-               /// <unmanaged>D3D10_USAGE</unmanaged>\r
-               public enum class ResourceUsage : System::Int32\r
-               {\r
-                       Default = D3D10_USAGE_DEFAULT,\r
-                       Immutable = D3D10_USAGE_IMMUTABLE,\r
-                       Dynamic = D3D10_USAGE_DYNAMIC,\r
-                       Staging = D3D10_USAGE_STAGING\r
-               };\r
-               \r
-               /// <summary></summary>\r
-               /// <unmanaged>D3D10_RTV_DIMENSION</unmanaged>\r
-               public enum class ResourceViewDimension : System::Int32\r
-               {\r
-                       Unknown = D3D10_RTV_DIMENSION_UNKNOWN,\r
-                       Buffer = D3D10_RTV_DIMENSION_BUFFER,\r
-                       Texture1D = D3D10_RTV_DIMENSION_TEXTURE1D,\r
-                       Texture1DArray = D3D10_RTV_DIMENSION_TEXTURE1DARRAY,\r
-                       Texture2D = D3D10_RTV_DIMENSION_TEXTURE2D,\r
-                       Texture2DArray = D3D10_RTV_DIMENSION_TEXTURE2DARRAY,\r
-                       Texture2DMultisampled = D3D10_RTV_DIMENSION_TEXTURE2DMS,\r
-                       Texture2DMultisampledArray = D3D10_RTV_DIMENSION_TEXTURE2DMSARRAY,\r
-                       Texture3D = D3D10_RTV_DIMENSION_TEXTURE3D\r
-               };\r
-               \r
-               /// <summary>Identifies the type of the resource that will be viewed.</summary>\r
-               /// <unmanaged>D3D10_SRV_DIMENSION</unmanaged>\r
-               public enum class ShaderResourceViewDimension : System::Int32\r
-               {\r
-                       Unknown = D3D10_SRV_DIMENSION_UNKNOWN,\r
-                       Buffer = D3D10_SRV_DIMENSION_BUFFER,\r
-                       Texture1D = D3D10_SRV_DIMENSION_TEXTURE1D,\r
-                       Texture1DArray = D3D10_SRV_DIMENSION_TEXTURE1DARRAY,\r
-                       Texture2D = D3D10_SRV_DIMENSION_TEXTURE2D,\r
-                       Texture2DArray = D3D10_SRV_DIMENSION_TEXTURE2DARRAY,\r
-                       Texture2DMultisampled = D3D10_SRV_DIMENSION_TEXTURE2DMS,\r
-                       Texture2DMultisampledArray = D3D10_SRV_DIMENSION_TEXTURE2DMSARRAY,\r
-                       Texture3D = D3D10_SRV_DIMENSION_TEXTURE3D,\r
-                       TextureCube = D3D10_SRV_DIMENSION_TEXTURECUBE\r
-               };\r
-\r
-               /// <summary>\r
-               /// Flags that control the behavior of <see cref="Sprite"/> rendering.\r
-               /// </summary>\r
-               /// <unmanaged>D3DX10_SPRITE_FLAG</unmanaged>\r
-               [System::Flags]\r
-               public enum class SpriteFlags : System::Int32\r
-               {\r
-                       /// <summary>\r
-                       /// No flags.\r
-                       /// </summary>\r
-                       None = 0,\r
-\r
-                       /// <summary>\r
-                       /// Group sprites by texture before rendering; improves performance when many sprites\r
-                       /// share textures.\r
-                       /// </summary>\r
-                       GroupByTexture = D3DX10_SPRITE_SORT_TEXTURE,\r
-                       \r
-                       /// <summary>\r
-                       /// Sort the sprites from back to front based on their depth; sprites further away from the\r
-                       /// camera will be rendered first.\r
-                       /// </summary>\r
-                       SortBackToFront = D3DX10_SPRITE_SORT_DEPTH_BACK_TO_FRONT,\r
-                       \r
-                       /// <summary>\r
-                       /// Sort the sprites from front to back based on their depth; sprites closer to the\r
-                       /// camera will be rendered first.\r
-                       /// </summary>\r
-                       SortFrontToBack = D3DX10_SPRITE_SORT_DEPTH_FRONT_TO_BACK,\r
-                       \r
-                       /// <summary>\r
-                       /// Saves render state when sprites are rendered, and restores the previous state once rendering\r
-                       /// is complete.\r
-                       /// </summary>\r
-                       SaveState = D3DX10_SPRITE_SAVE_STATE,\r
-                       \r
-                       /// <summary>\r
-                       /// Increases the reference count of textures when DrawSpritesBuffered is called.\r
-                       /// </summary>\r
-                       IncreaseTextureReferenceCount = D3DX10_SPRITE_ADDREF_TEXTURES\r
-               };\r
-\r
-               /// <summary>The stencil operations that can be performed during depth-stencil testing.</summary>\r
-               /// <unmanaged>D3D10_STENCIL_OP</unmanaged>\r
-               public enum class StencilOperation : System::Int32\r
-               {\r
-                       Keep = D3D10_STENCIL_OP_KEEP,\r
-                       Zero = D3D10_STENCIL_OP_ZERO,\r
-                       Replace = D3D10_STENCIL_OP_REPLACE,\r
-                       IncrementAndClamp = D3D10_STENCIL_OP_INCR_SAT,\r
-                       DecrementAndClamp = D3D10_STENCIL_OP_DECR_SAT,\r
-                       Invert = D3D10_STENCIL_OP_INVERT,\r
-                       Increment = D3D10_STENCIL_OP_INCR,\r
-                       Decrement = D3D10_STENCIL_OP_DECR\r
-               };\r
-\r
-               public enum class TextureAddressMode : System::Int32\r
-               {\r
-                       Wrap = D3D10_TEXTURE_ADDRESS_WRAP,\r
-                       Mirror = D3D10_TEXTURE_ADDRESS_MIRROR,\r
-                       Clamp = D3D10_TEXTURE_ADDRESS_CLAMP,\r
-                       Border = D3D10_TEXTURE_ADDRESS_BORDER,\r
-                       MirrorOnce = D3D10_TEXTURE_ADDRESS_MIRROR_ONCE\r
-               };\r
-       }\r
-}
\ No newline at end of file