3 * Copyright (c) 2007-2010 SlimDX Group
5 * Permission is hereby granted, free of charge, to any person obtaining a copy
6 * of this software and associated documentation files (the "Software"), to deal
7 * in the Software without restriction, including without limitation the rights
8 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 * copies of the Software, and to permit persons to whom the Software is
10 * furnished to do so, subject to the following conditions:
12 * The above copyright notice and this permission notice shall be included in
13 * all copies or substantial portions of the Software.
15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
26 #include "ResourceRegion.h"
32 ResourceRegion::ResourceRegion( const D3D10_BOX& native )
36 m_Front = native.front;
37 m_Right = native.right;
38 m_Bottom = native.bottom;
42 D3D10_BOX ResourceRegion::CreateNativeVersion()
47 native.front = m_Front;
48 native.right = m_Right;
49 native.bottom = m_Bottom;
55 int ResourceRegion::Left::get()
60 void ResourceRegion::Left::set( int value )
65 int ResourceRegion::Top::get()
70 void ResourceRegion::Top::set( int value )
75 int ResourceRegion::Front::get()
80 void ResourceRegion::Front::set( int value )
85 int ResourceRegion::Right::get()
90 void ResourceRegion::Right::set( int value )
95 int ResourceRegion::Bottom::get()
100 void ResourceRegion::Bottom::set( int value )
105 int ResourceRegion::Back::get()
110 void ResourceRegion::Back::set( int value )
115 bool ResourceRegion::operator == ( ResourceRegion left, ResourceRegion right )
117 return ResourceRegion::Equals( left, right );
120 bool ResourceRegion::operator != ( ResourceRegion left, ResourceRegion right )
122 return !ResourceRegion::Equals( left, right );
125 int ResourceRegion::GetHashCode()
127 return m_Left.GetHashCode() + m_Top.GetHashCode() + m_Front.GetHashCode()
128 + m_Right.GetHashCode() + m_Bottom.GetHashCode() + m_Back.GetHashCode();
131 bool ResourceRegion::Equals( Object^ value )
133 if( value == nullptr )
136 if( value->GetType() != GetType() )
139 return Equals( safe_cast<ResourceRegion>( value ) );
142 bool ResourceRegion::Equals( ResourceRegion value )
144 return ( m_Left == value.m_Left && m_Top == value.m_Top && m_Front == value.m_Front
145 && m_Right == value.m_Right && m_Bottom == value.m_Bottom && m_Back == value.m_Back );
148 bool ResourceRegion::Equals( ResourceRegion% value1, ResourceRegion% value2 )
150 return ( value1.m_Left == value2.m_Left && value1.m_Top == value2.m_Top && value1.m_Front == value2.m_Front
151 && value1.m_Right == value2.m_Right && value1.m_Bottom == value2.m_Bottom && value1.m_Back == value2.m_Back );