OSDN Git Service

Merge branch 'feature/#36529_SlimDXからSharpDXへの移行' into develop
[dtxmania/dtxmania.git] / SlimDXc_Jun2010(VC++2008) / source / math / Color4.cpp
diff --git a/SlimDXc_Jun2010(VC++2008)/source/math/Color4.cpp b/SlimDXc_Jun2010(VC++2008)/source/math/Color4.cpp
deleted file mode 100644 (file)
index e0fac86..0000000
+++ /dev/null
@@ -1,372 +0,0 @@
-#include "stdafx.h"\r
-/*\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
-\r
-#include <d3dx9.h>\r
-\r
-#include "Color4.h"\r
-\r
-#include "Color3.h"\r
-#include "Vector3.h"\r
-#include "Vector4.h"\r
-\r
-using namespace System;\r
-using namespace System::Globalization;\r
-using namespace System::Drawing;\r
-\r
-namespace SlimDX\r
-{\r
-       Color4 Color4::FromUnmanaged( const D3DXCOLOR &color )\r
-       {\r
-               return Color4( color.a, color.r, color.g, color.b );\r
-       }\r
-\r
-       D3DXCOLOR Color4::ToUnmanaged()\r
-       {\r
-               D3DXCOLOR result( Red, Green, Blue, Alpha );\r
-               return result;\r
-       }\r
-\r
-       Color4::Color4( float alpha, float red, float green, float blue )\r
-       {\r
-               Alpha = alpha;\r
-               Red = red;\r
-               Green = green;\r
-               Blue = blue;\r
-       }\r
-\r
-       Color4::Color4( float red, float green, float blue )\r
-       {\r
-               Alpha = 1.0f;\r
-               Red = red;\r
-               Green = green;\r
-               Blue = blue;\r
-       }\r
-\r
-       Color4::Color4( Color color )\r
-       {\r
-               Alpha = color.A / 255.0f;\r
-               Red = color.R / 255.0f;\r
-               Green = color.G / 255.0f;\r
-               Blue = color.B / 255.0f;\r
-       }\r
-\r
-       Color4::Color4( Color3 color )\r
-       {\r
-               Alpha = 1.0f;\r
-               Red = color.Red;\r
-               Green = color.Green;\r
-               Blue = color.Blue;\r
-       }\r
-\r
-       Color4::Color4( Vector3 color )\r
-       {\r
-               Alpha = 1.0f;\r
-               Red = color.X;\r
-               Green = color.Y;\r
-               Blue = color.Z;\r
-       }\r
-\r
-       Color4::Color4( Vector4 color )\r
-       {\r
-               Alpha = color.W;\r
-               Red = color.X;\r
-               Green = color.Y;\r
-               Blue = color.Z;\r
-       }\r
-\r
-       Color4::Color4( int argb )\r
-       {\r
-               Alpha = ( ( argb >> 24 ) & 255 ) / 255.0f;\r
-               Red = ( ( argb >> 16 ) & 255 ) / 255.0f;\r
-               Green = ( ( argb >> 8 ) & 255 ) / 255.0f;\r
-               Blue = ( argb & 255 ) / 255.0f;\r
-       }\r
-\r
-       Color Color4::ToColor()\r
-       {\r
-               return Color::FromArgb( static_cast<int>(Alpha * 255), static_cast<int>(Red * 255), static_cast<int>(Green * 255), static_cast<int>(Blue * 255) );\r
-       }\r
-\r
-       Color3 Color4::ToColor3()\r
-       {\r
-               return Color3( Red, Green, Blue );\r
-       }\r
-\r
-       int Color4::ToArgb()\r
-       {\r
-               unsigned int a, r, g, b;\r
-\r
-               a = static_cast<unsigned int>(Alpha * 255.0f);\r
-               r = static_cast<unsigned int>(Red * 255.0f);\r
-               g = static_cast<unsigned int>(Green * 255.0f);\r
-               b = static_cast<unsigned int>(Blue * 255.0f);\r
-\r
-               unsigned int value = b;\r
-               value += g << 8;\r
-               value += r << 16;\r
-               value += a << 24;\r
-\r
-               return static_cast<int>( value );\r
-       }\r
-\r
-       Vector3 Color4::ToVector3()\r
-       {\r
-               return Vector3( Red, Green, Blue );\r
-       }\r
-\r
-       Vector4 Color4::ToVector4()\r
-       {\r
-               return Vector4( Red, Green, Blue, Alpha );\r
-       }\r
-\r
-       Color4 Color4::Add( Color4 color1, Color4 color2 )\r
-       {\r
-               return Color4( color1.Alpha + color2.Alpha, color1.Red + color2.Red, color1.Green + color2.Green, color1.Blue + color2.Blue );\r
-       }\r
-\r
-       void Color4::Add( Color4% color1, Color4% color2, [Out] Color4% result )\r
-       {\r
-               result = Color4( color1.Alpha + color2.Alpha, color1.Red + color2.Red, color1.Green + color2.Green, color1.Blue + color2.Blue );\r
-       }\r
-\r
-       Color4 Color4::Subtract( Color4 color1, Color4 color2 )\r
-       {\r
-               return Color4( color1.Alpha - color2.Alpha, color1.Red - color2.Red, color1.Green - color2.Green, color1.Blue - color2.Blue );\r
-       }\r
-\r
-       void Color4::Subtract( Color4% color1, Color4% color2, [Out] Color4% result )\r
-       {\r
-               result = Color4( color1.Alpha - color2.Alpha, color1.Red - color2.Red, color1.Green - color2.Green, color1.Blue - color2.Blue );\r
-       }\r
-\r
-       Color4 Color4::Modulate( Color4 color1, Color4 color2 )\r
-       {\r
-               return Color4( color1.Alpha * color2.Alpha, color1.Red * color2.Red, color1.Green * color2.Green, color1.Blue * color2.Blue );\r
-       }\r
-\r
-       void Color4::Modulate( Color4% color1, Color4% color2, [Out] Color4% result )\r
-       {\r
-               result = Color4( color1.Alpha * color2.Alpha, color1.Red * color2.Red, color1.Green * color2.Green, color1.Blue * color2.Blue );\r
-       }\r
-\r
-       Color4 Color4::Lerp( Color4 color1, Color4 color2, float amount )\r
-       {\r
-               float a = color1.Alpha + amount * ( color2.Alpha - color1.Alpha );\r
-               float r = color1.Red + amount * ( color2.Red - color1.Red );\r
-               float g = color1.Green + amount * ( color2.Green - color1.Green );\r
-               float b = color1.Blue + amount * ( color2.Blue - color1.Blue );\r
-\r
-               return Color4( a, r, g, b );\r
-       }\r
-\r
-       void Color4::Lerp( Color4% color1, Color4% color2, float amount, [Out] Color4% result )\r
-       {\r
-               float a = color1.Alpha + amount * ( color2.Alpha - color1.Alpha );\r
-               float r = color1.Red + amount * ( color2.Red - color1.Red );\r
-               float g = color1.Green + amount * ( color2.Green - color1.Green );\r
-               float b = color1.Blue + amount * ( color2.Blue - color1.Blue );\r
-\r
-               result = Color4( a, r, g, b );\r
-       }\r
-\r
-       Color4 Color4::Negate( Color4 color )\r
-       {\r
-               return Color4( 1.0f - color.Alpha, 1.0f - color.Red, 1.0f - color.Green, 1.0f - color.Blue );\r
-       }\r
-\r
-       void Color4::Negate( Color4% color, [Out] Color4% result )\r
-       {\r
-               result = Color4( 1.0f - color.Alpha, 1.0f - color.Red, 1.0f - color.Green, 1.0f - color.Blue );\r
-       }\r
-\r
-       Color4 Color4::AdjustContrast( Color4 color, float contrast )\r
-       {\r
-               float r = 0.5f + contrast * ( color.Red - 0.5f );\r
-               float g = 0.5f + contrast * ( color.Green - 0.5f );\r
-               float b = 0.5f + contrast * ( color.Blue - 0.5f );\r
-\r
-               return Color4( color.Alpha, r, g, b );\r
-       }\r
-\r
-       void Color4::AdjustContrast( Color4% color, float contrast, [Out] Color4% result )\r
-       {\r
-               float r = 0.5f + contrast * ( color.Red - 0.5f );\r
-               float g = 0.5f + contrast * ( color.Green - 0.5f );\r
-               float b = 0.5f + contrast * ( color.Blue - 0.5f );\r
-\r
-               result = Color4( color.Alpha, r, g, b );\r
-       }\r
-\r
-       Color4 Color4::AdjustSaturation( Color4 color, float saturation )\r
-       {\r
-               float grey = color.Red * 0.2125f + color.Green * 0.7154f + color.Blue * 0.0721f;\r
-               float r = grey + saturation * ( color.Red - grey );\r
-               float g = grey + saturation * ( color.Green - grey );\r
-               float b = grey + saturation * ( color.Blue - grey );\r
-\r
-               return Color4( color.Alpha, r, g, b );\r
-       }\r
-\r
-       void Color4::AdjustSaturation( Color4% color, float saturation, [Out] Color4% result )\r
-       {\r
-               float grey = color.Red * 0.2125f + color.Green * 0.7154f + color.Blue * 0.0721f;\r
-               float r = grey + saturation * ( color.Red - grey );\r
-               float g = grey + saturation * ( color.Green - grey );\r
-               float b = grey + saturation * ( color.Blue - grey );\r
-\r
-               result = Color4( color.Alpha, r, g, b );\r
-       }\r
-\r
-       Color4 Color4::Scale( Color4 color, float scale )\r
-       {\r
-               return Color4( color.Alpha, color.Red * scale, color.Green * scale, color.Blue * scale );\r
-       }\r
-\r
-       void Color4::Scale( Color4% color, float scale, [Out] Color4% result )\r
-       {\r
-               result = Color4( color.Alpha, color.Red * scale, color.Green * scale, color.Blue * scale );\r
-       }\r
-\r
-       Color4 Color4::operator + ( Color4 color1, Color4 color2 )\r
-       {\r
-               return Color4( color1.Alpha + color2.Alpha, color1.Red + color2.Red, color1.Green + color2.Green, color1.Blue + color2.Blue );\r
-       }\r
-\r
-       Color4 Color4::operator - ( Color4 color1, Color4 color2 )\r
-       {\r
-               return Color4( color1.Alpha - color2.Alpha, color1.Red - color2.Red, color1.Green - color2.Green, color1.Blue - color2.Blue );\r
-       }\r
-\r
-       Color4 Color4::operator - ( Color4 color )\r
-       {\r
-               return Color4( 1.0f - color.Alpha, 1.0f - color.Red, 1.0f - color.Green, 1.0f - color.Blue );\r
-       }\r
-\r
-       Color4 Color4::operator * ( Color4 color1, Color4 color2 )\r
-       {\r
-               return Color4( color1.Alpha * color2.Alpha, color1.Red * color2.Red, color1.Green * color2.Green, color1.Blue * color2.Blue );\r
-       }\r
-\r
-       Color4 Color4::operator * ( Color4 color, float scale )\r
-       {\r
-               return Color4( color.Alpha, color.Red * scale, color.Green * scale, color.Blue * scale );\r
-       }\r
-\r
-       Color4 Color4::operator * ( float scale, Color4 value )\r
-       {\r
-               return value * scale;\r
-       }\r
-\r
-       bool Color4::operator == ( Color4 left, Color4 right )\r
-       {\r
-               return Color4::Equals( left, right );\r
-       }\r
-\r
-       bool Color4::operator != ( Color4 left, Color4 right )\r
-       {\r
-               return !Color4::Equals( left, right );\r
-       }\r
-\r
-       Color4::operator int( Color4 value )\r
-       {\r
-               return value.ToArgb();\r
-       }\r
-\r
-       Color4::operator Color3( Color4 value )\r
-       {\r
-               return value.ToColor3();\r
-       }\r
-\r
-       Color4::operator System::Drawing::Color( Color4 value )\r
-       {\r
-               return value.ToColor();\r
-       }\r
-\r
-       Color4::operator Vector3( Color4 value )\r
-       {\r
-               return value.ToVector3();\r
-       }\r
-\r
-       Color4::operator Vector4( Color4 value )\r
-       {\r
-               return value.ToVector4();\r
-       }\r
-\r
-       Color4::operator Color4( int value )\r
-       {\r
-               return Color4( value );\r
-       }\r
-\r
-       Color4::operator Color4( Color3 value )\r
-       {\r
-               return Color4( value );\r
-       }\r
-\r
-       Color4::operator Color4( System::Drawing::Color value )\r
-       {\r
-               return Color4( value );\r
-       }\r
-\r
-       Color4::operator Color4( Vector3 value )\r
-       {\r
-               return Color4( value );\r
-       }\r
-\r
-       Color4::operator Color4( Vector4 value )\r
-       {\r
-               return Color4( value );\r
-       }\r
-\r
-       String^ Color4::ToString()\r
-       {\r
-               return String::Format( CultureInfo::CurrentCulture, "A:{0} R:{1} G:{2} B:{3}", \r
-                       Alpha.ToString(CultureInfo::CurrentCulture), Red.ToString(CultureInfo::CurrentCulture), \r
-                       Green.ToString(CultureInfo::CurrentCulture), Blue.ToString(CultureInfo::CurrentCulture) );\r
-       }\r
-\r
-       int Color4::GetHashCode()\r
-       {\r
-               return Alpha.GetHashCode() + Red.GetHashCode() + Green.GetHashCode() + Blue.GetHashCode();\r
-       }\r
-\r
-       bool Color4::Equals( Object^ value )\r
-       {\r
-               if( value == nullptr )\r
-                       return false;\r
-\r
-               if( value->GetType() != GetType() )\r
-                       return false;\r
-\r
-               return Equals( safe_cast<Color4>( value ) );\r
-       }\r
-\r
-       bool Color4::Equals( Color4 value )\r
-       {\r
-               return ( Alpha == value.Alpha && Red == value.Red && Green == value.Green && Blue == value.Blue );\r
-       }\r
-\r
-       bool Color4::Equals( Color4% value1, Color4% value2 )\r
-       {\r
-               return ( value1.Alpha == value2.Alpha && value1.Red == value2.Red && value1.Green == value2.Green && value1.Blue == value2.Blue );\r
-       }\r
-}
\ No newline at end of file