b2297ef236999971a065a33d257427c250cf6651
[mono.git] / mcs / class / System.Drawing / System.Drawing / PlainImage.jvm.cs
1 using System;\r
2 using System.Drawing.Imaging;\r
3 using System.Xml;\r
4 \r
5 using Mainsoft.Drawing.Imaging;\r
6 \r
7 using awt = java.awt;\r
8 using java.awt.image;\r
9 \r
10 namespace Mainsoft.Drawing.Imaging\r
11 {\r
12         /// <summary>\r
13         /// Summary description for PlainImage.\r
14         /// </summary>\r
15         public class PlainImage : ICloneable {\r
16 \r
17                 #region Members\r
18 \r
19                 awt.Image _nativeObject;\r
20                 awt.Image [] _thumbnails;\r
21                 FrameDimension _dimension;\r
22                 XmlDocument _metadata;\r
23                 ImageFormat _imageFormat;\r
24 \r
25                 float _xResolution;\r
26                 float _yResolution;\r
27 \r
28 \r
29                 #endregion\r
30 \r
31                 #region Constructors\r
32 \r
33                 public PlainImage() {\r
34                 }\r
35 \r
36                 public PlainImage(awt.Image image, awt.Image [] thumbnails, ImageFormat format, float xRes, float yRes, FrameDimension dimension, XmlDocument metadata) {\r
37                         _nativeObject = image;\r
38                         _thumbnails = thumbnails;\r
39                         _imageFormat = format;\r
40 \r
41                         _xResolution = xRes;\r
42                         _yResolution = yRes;\r
43 \r
44                         _dimension = dimension;\r
45                         _metadata = metadata;\r
46                 }\r
47 \r
48                 #endregion\r
49 \r
50 \r
51                 private awt.Image NativeObject {\r
52                         get { return _nativeObject; }\r
53                         set { _nativeObject = value; }\r
54                 }\r
55 \r
56                 #region PlainImage properties\r
57 \r
58                 public awt.Image NativeImage {\r
59                         get { return NativeObject; }\r
60                         set { NativeObject = value; }\r
61                 }\r
62 \r
63                 public ImageFormat ImageFormat {\r
64                         get { return _imageFormat; }\r
65                 }\r
66 \r
67                 public FrameDimension Dimension {\r
68                         get { return _dimension; }\r
69                         set { _dimension = value; }\r
70                 }\r
71 \r
72                 public awt.Image [] Thumbnails {\r
73                         get { return _thumbnails; }\r
74                 }\r
75 \r
76                 public float HorizontalResolution {\r
77                         get { return _xResolution; }\r
78                         set { _xResolution = value; }\r
79                 }\r
80 \r
81                 public float VerticalResolution {\r
82                         get { return _yResolution; }\r
83                         set { _yResolution = value; }\r
84                 }\r
85 \r
86                 #endregion\r
87 \r
88                 #region ICloneable members\r
89 \r
90                 public object Clone() {\r
91                         \r
92                         awt.Image img = new BufferedImage(\r
93                                 ((BufferedImage)NativeObject).getColorModel(), \r
94                                 ((BufferedImage)NativeObject).copyData(null), \r
95                                 ((BufferedImage)NativeObject).isAlphaPremultiplied(), null);\r
96 \r
97                         awt.Image [] th = null;\r
98                         if (Thumbnails != null) {\r
99                                 th = new java.awt.Image[ Thumbnails.Length ];\r
100                                 for (int i=0; i < Thumbnails.Length; i++) {\r
101                                         th[i] = new BufferedImage(\r
102                                                 ((BufferedImage)Thumbnails[i]).getColorModel(), \r
103                                                 ((BufferedImage)Thumbnails[i]).copyData(null), \r
104                                                 ((BufferedImage)Thumbnails[i]).isAlphaPremultiplied(), null);\r
105                                 }\r
106                         }\r
107 \r
108                         return new PlainImage( \r
109                                 img, \r
110                                 th, \r
111                                 ImageFormat, \r
112                                 HorizontalResolution, \r
113                                 VerticalResolution, \r
114                                 Dimension, \r
115                                 _metadata );\r
116                 }\r
117 \r
118                 #endregion\r
119         }\r
120 }\r