2010-04-07 Jb Evain <jbevain@novell.com>
[mcs.git] / class / WindowsBase / System.Windows / Int32Rect.cs
blob13ac91c337c18ac5b7cf5a6ff908dcd104a69e59
1 //
2 // DependencyPropertyChangedEventArgs.cs
3 //
4 // Author:
5 // Chris Toshok (toshok@ximian.com)
6 //
7 // (C) 2007 Novell, Inc.
8 //
9 // Permission is hereby granted, free of charge, to any person obtaining
10 // a copy of this software and associated documentation files (the
11 // "Software"), to deal in the Software without restriction, including
12 // without limitation the rights to use, copy, modify, merge, publish,
13 // distribute, sublicense, and/or sell copies of the Software, and to
14 // permit persons to whom the Software is furnished to do so, subject to
15 // the following conditions:
16 //
17 // The above copyright notice and this permission notice shall be
18 // included in all copies or substantial portions of the Software.
19 //
20 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
21 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
22 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
23 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
24 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
25 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
26 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
29 using System;
30 using System.ComponentModel;
31 using System.Windows.Converters;
32 using System.Windows.Markup;
34 namespace System.Windows {
36 [Serializable]
37 [TypeConverter (typeof(Int32RectConverter))]
38 [ValueSerializer (typeof(Int32RectValueSerializer))]
39 public struct Int32Rect : IFormattable
41 int x, y, width, height;
43 public Int32Rect (int x, int y, int width, int height)
45 this.x = x;
46 this.y = y;
47 this.width = width;
48 this.height = height;
51 public static bool operator != (Int32Rect int32Rect1, Int32Rect int32Rect2)
53 throw new NotImplementedException ();
56 public static bool operator == (Int32Rect int32Rect1, Int32Rect int32Rect2)
58 throw new NotImplementedException ();
61 public static Int32Rect Empty {
62 get { return new Int32Rect (0, 0, 0, 0); }
65 public int Height {
66 get { return height; }
67 set { height = value; }
70 public bool IsEmpty {
71 get { return width == 0 && height == 0; }
74 public int Width {
75 get { return width; }
76 set { width = value; }
79 public int X {
80 get { return x; }
81 set { x = value; }
84 public int Y {
85 get { return y; }
86 set { y = value; }
89 public bool Equals (Int32Rect value)
91 return (x == value.x &&
92 y == value.y &&
93 width == value.width &&
94 height == value.height);
97 public override bool Equals (object o)
99 if (!(o is Int32Rect))
100 return false;
102 return Equals ((Int32Rect)o);
105 public static bool Equals (Int32Rect int32Rect1, Int32Rect int32Rect2)
107 return int32Rect1.Equals (int32Rect2);
110 public override int GetHashCode ()
112 throw new NotImplementedException ();
115 public static Int32Rect Parse (string source)
117 throw new NotImplementedException ();
120 public override string ToString ()
122 if (IsEmpty)
123 return "Empty";
124 return String.Format ("{0},{1},{2},{3}", x, y, width, height);
127 public string ToString (IFormatProvider provider)
129 throw new NotImplementedException ();
132 string IFormattable.ToString (string format, IFormatProvider provider)
134 throw new NotImplementedException ();