OSDN Git Service

DTXMania089リリースに際してのtag付け。
[dtxmania/dtxmania.git] / 110401(DTXMania089) / SlimDXc_Jun2010(VC++2008) / source / direct3d10 / RasterizerStateDescription.h
1 /*\r
2 * Copyright (c) 2007-2010 SlimDX Group\r
3\r
4 * Permission is hereby granted, free of charge, to any person obtaining a copy\r
5 * of this software and associated documentation files (the "Software"), to deal\r
6 * in the Software without restriction, including without limitation the rights\r
7 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r
8 * copies of the Software, and to permit persons to whom the Software is\r
9 * furnished to do so, subject to the following conditions:\r
10\r
11 * The above copyright notice and this permission notice shall be included in\r
12 * all copies or substantial portions of the Software.\r
13\r
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r
17 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r
18 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r
19 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r
20 * THE SOFTWARE.\r
21 */\r
22 #pragma once\r
23 \r
24 #include "Enums.h"\r
25 \r
26 namespace SlimDX\r
27 {\r
28         namespace Direct3D10\r
29         {       \r
30                 public value class RasterizerStateDescription : System::IEquatable<RasterizerStateDescription>\r
31                 {\r
32                 private:\r
33                         Direct3D10::FillMode m_FillMode;\r
34                         Direct3D10::CullMode m_CullMode;\r
35                         bool m_FrontCounterClockwise;\r
36                         int m_DepthBias;\r
37                         float m_DepthBiasClamp;\r
38                         float m_SlopeScaledDepthBias;\r
39                         bool m_DepthClipEnable;\r
40                         bool m_ScissorEnable;\r
41                         bool m_MultisampleEnable;\r
42                         bool m_AntialiasedLineEnable;\r
43 \r
44                 internal:\r
45                         RasterizerStateDescription( const D3D10_RASTERIZER_DESC& description );\r
46                         \r
47                         D3D10_RASTERIZER_DESC CreateNativeVersion();\r
48                         \r
49                 public:\r
50                         property Direct3D10::FillMode FillMode\r
51                         {\r
52                                 Direct3D10::FillMode get();\r
53                                 void set( Direct3D10::FillMode value );\r
54                         }\r
55 \r
56                         property Direct3D10::CullMode CullMode\r
57                         {\r
58                                 Direct3D10::CullMode get();\r
59                                 void set( Direct3D10::CullMode value );\r
60                         }\r
61 \r
62                         property bool IsFrontCounterclockwise\r
63                         {\r
64                                 bool get();\r
65                                 void set( bool value );\r
66                         }\r
67 \r
68                         property int DepthBias\r
69                         {\r
70                                 int get();\r
71                                 void set( int value );\r
72                         }\r
73 \r
74                         property float DepthBiasClamp\r
75                         {\r
76                                 float get();\r
77                                 void set( float value );\r
78                         }\r
79 \r
80                         property float SlopeScaledDepthBias\r
81                         {\r
82                                 float get();\r
83                                 void set( float value );\r
84                         }\r
85 \r
86                         property bool IsDepthClipEnabled\r
87                         {\r
88                                 bool get();\r
89                                 void set( bool value );\r
90                         }\r
91 \r
92                         property bool IsScissorEnabled\r
93                         {\r
94                                 bool get();\r
95                                 void set( bool value );\r
96                         }\r
97 \r
98                         property bool IsMultisampleEnabled\r
99                         {\r
100                                 bool get();\r
101                                 void set( bool value );\r
102                         }\r
103 \r
104                         property bool IsAntialiasedLineEnabled\r
105                         {\r
106                                 bool get();\r
107                                 void set( bool value );\r
108                         }\r
109 \r
110                         static bool operator == ( RasterizerStateDescription left, RasterizerStateDescription right );\r
111                         static bool operator != ( RasterizerStateDescription left, RasterizerStateDescription right );\r
112 \r
113                         virtual int GetHashCode() override;\r
114                         virtual bool Equals( System::Object^ obj ) override;\r
115                         virtual bool Equals( RasterizerStateDescription other );\r
116                         static bool Equals( RasterizerStateDescription% value1, RasterizerStateDescription% value2 );\r
117                 };\r
118         }\r
119 };