fix typo
[mcs.git] / class / System.Drawing / System.Drawing / PlainImage.jvm.cs
blobaad9478bdb7e4fa43f0d17ce0b299f2035f31932
1 using System;
2 using System.Drawing.Imaging;
3 using System.Xml;
5 using Mainsoft.Drawing.Imaging;
7 using awt = java.awt;
8 using java.awt.image;
9 using imageio = javax.imageio;
11 namespace Mainsoft.Drawing.Imaging
13 /// <summary>
14 /// Summary description for PlainImage.
15 /// </summary>
16 public class PlainImage : ICloneable {
18 #region Members
20 awt.Image _nativeObject;
21 awt.Image [] _thumbnails;
22 FrameDimension _dimension;
23 XmlDocument _metadata;
24 imageio.metadata.IIOMetadata _nativeMetadata;
25 ImageFormat _imageFormat;
27 float _xResolution;
28 float _yResolution;
31 #endregion
33 #region Constructors
35 public PlainImage() {
38 public PlainImage(awt.Image image, awt.Image [] thumbnails, ImageFormat format, float xRes, float yRes, FrameDimension dimension) {
39 _nativeObject = image;
40 _thumbnails = thumbnails;
41 _imageFormat = format;
43 _xResolution = xRes;
44 _yResolution = yRes;
46 _dimension = dimension;
49 #endregion
52 private awt.Image NativeObject {
53 get { return _nativeObject; }
54 set { _nativeObject = value; }
57 #region PlainImage properties
59 public awt.Image NativeImage {
60 get { return NativeObject; }
61 set { NativeObject = value; }
64 internal imageio.metadata.IIOMetadata NativeMetadata {
65 get { return _nativeMetadata; }
66 set { _nativeMetadata = value; }
69 public XmlDocument Metadata {
70 get { return _metadata; }
71 set { _metadata = value; }
74 public ImageFormat ImageFormat {
75 get { return _imageFormat; }
78 public FrameDimension Dimension {
79 get { return _dimension; }
80 set { _dimension = value; }
83 public awt.Image [] Thumbnails {
84 get { return _thumbnails; }
87 public float HorizontalResolution {
88 get { return _xResolution; }
89 set { _xResolution = value; }
92 public float VerticalResolution {
93 get { return _yResolution; }
94 set { _yResolution = value; }
97 #endregion
99 #region ICloneable members
101 public object Clone() {
102 return Clone(true);
105 public PlainImage Clone(bool cloneImage) {
106 awt.Image img = NativeImage;
107 awt.Image [] th = _thumbnails;
109 if (cloneImage) {
110 img = new BufferedImage(
111 ((BufferedImage)NativeObject).getColorModel(),
112 ((BufferedImage)NativeObject).copyData(null),
113 ((BufferedImage)NativeObject).isAlphaPremultiplied(), null);
115 if (Thumbnails != null) {
116 th = new java.awt.Image[ Thumbnails.Length ];
117 for (int i=0; i < Thumbnails.Length; i++) {
118 th[i] = new BufferedImage(
119 ((BufferedImage)Thumbnails[i]).getColorModel(),
120 ((BufferedImage)Thumbnails[i]).copyData(null),
121 ((BufferedImage)Thumbnails[i]).isAlphaPremultiplied(), null);
126 return new PlainImage(
127 img,
128 th,
129 ImageFormat,
130 HorizontalResolution,
131 VerticalResolution,
132 Dimension );
135 #endregion