OSDN Git Service

作業部屋#50802 画面キャプチャができなくなっていた問題を暫定対応(F12キー固定で対応中)
[dtxmaniaxg-verk/dtxmaniaxg-verk-git.git] / SlimDXc_Jun2010(VC++2008) / source / direct3d9 / ImageInformation.h
1 /*
2 * Copyright (c) 2007-2010 SlimDX Group
3
4 * Permission is hereby granted, free of charge, to any person obtaining a copy
5 * of this software and associated documentation files (the "Software"), to deal
6 * in the Software without restriction, including without limitation the rights
7 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 * copies of the Software, and to permit persons to whom the Software is
9 * furnished to do so, subject to the following conditions:
10
11 * The above copyright notice and this permission notice shall be included in
12 * all copies or substantial portions of the Software.
13
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20 * THE SOFTWARE.
21 */
22 #pragma once
23
24 #include "Enums.h"
25
26 namespace SlimDX
27 {
28         namespace Direct3D9
29         {
30                 /// <summary>
31                 /// Contains the description of the contents of an image file.
32                 /// </summary>
33                 /// <unmanaged>D3DXIMAGE_INFO</unmanaged>
34                 [System::Runtime::InteropServices::StructLayout( System::Runtime::InteropServices::LayoutKind::Sequential )]
35                 public value class ImageInformation : System::IEquatable<ImageInformation>
36                 {
37                 private:
38                         static ImageInformation FromMemory_Internal( const void* data, UINT size );
39
40                 public:
41                         /// <summary>
42                         /// Width of the original image, in pixels.
43                         /// </summary>
44                         property int Width;
45
46                         /// <summary>
47                         /// Height of the original image, in pixels.
48                         /// </summary>
49             property int Height;
50
51                         /// <summary>
52                         /// Depth of the original image, in pixels.
53                         /// </summary>
54             property int Depth;
55
56                         /// <summary>
57                         /// Number of mip levels in the original image.
58                         /// </summary>
59             property int MipLevels;
60
61                         /// <summary>
62                         /// The original format of the image.
63                         /// </summary>
64             property Format Format;
65
66                         /// <summary>
67                         /// The type of the texture stored in the file.
68                         /// </summary>
69             property ResourceType ResourceType;
70
71                         /// <summary>
72                         /// The format of the image file.
73                         /// </summary>
74             property ImageFileFormat ImageFileFormat;
75
76                         /// <summary>
77                         /// Retrieves information about an image file.
78                         /// </summary>
79                         /// <param name="fileName">Name of the image file.</param>
80                         /// <returns>Information about the image.</returns>
81                         static ImageInformation FromFile( System::String^ fileName );
82
83                         /// <summary>
84                         /// Retrieves information about an image from memory.
85                         /// </summary>
86                         /// <param name="memory">A block of memory containing the image.</param>
87                         /// <returns>Information about the image.</returns>
88                         static ImageInformation FromMemory( array<System::Byte>^ memory );
89
90                         /// <summary>
91                         /// Retrieves information about an image from a stream.
92                         /// </summary>
93                         /// <param name="stream">Stream containing the image.</param>
94                         /// <param name="peek"><c>true</c> to preserve the stream position; <c>false</c> will move the stream pointer.</param>
95                         /// <returns>Information about the image.</returns>
96                         static ImageInformation FromStream(System::IO::Stream^ stream, bool peek);
97
98                         /// <summary>
99                         /// Retrieves information about an image from a stream.
100                         /// </summary>
101                         /// <param name="stream">Stream containing the image.</param>
102                         /// <returns>Information about the image.</returns>
103                         static ImageInformation FromStream(System::IO::Stream^ stream);
104
105                         /// <summary>
106                         /// Tests for equality between two objects.
107                         /// </summary>
108                         /// <param name="left">The first value to compare.</param>
109                         /// <param name="right">The second value to compare.</param>
110                         /// <returns><c>true</c> if <paramref name="left"/> has the same value as <paramref name="right"/>; otherwise, <c>false</c>.</returns>
111                         static bool operator == ( ImageInformation left, ImageInformation right );
112
113                         /// <summary>
114                         /// Tests for inequality between two objects.
115                         /// </summary>
116                         /// <param name="left">The first value to compare.</param>
117                         /// <param name="right">The second value to compare.</param>
118                         /// <returns><c>true</c> if <paramref name="left"/> has a different value than <paramref name="right"/>; otherwise, <c>false</c>.</returns>
119                         static bool operator != ( ImageInformation left, ImageInformation right );
120
121                         /// <summary>
122                         /// Returns the hash code for this instance.
123                         /// </summary>
124                         /// <returns>A 32-bit signed integer hash code.</returns>
125                         virtual int GetHashCode() override;
126
127                         /// <summary>
128                         /// Returns a value that indicates whether the current instance is equal to a specified object. 
129                         /// </summary>
130                         /// <param name="obj">Object to make the comparison with.</param>
131                         /// <returns><c>true</c> if the current instance is equal to the specified object; <c>false</c> otherwise.</returns>
132                         virtual bool Equals( System::Object^ obj ) override;
133
134                         /// <summary>
135                         /// Returns a value that indicates whether the current instance is equal to the specified object. 
136                         /// </summary>
137                         /// <param name="other">Object to make the comparison with.</param>
138                         /// <returns><c>true</c> if the current instance is equal to the specified object; <c>false</c> otherwise.</returns>
139                         virtual bool Equals( ImageInformation other );
140
141                         /// <summary>
142                         /// Determines whether the specified object instances are considered equal. 
143                         /// </summary>
144                         /// <param name="value1">The first value to compare.</param>
145                         /// <param name="value2">The second value to compare.</param>
146                         /// <returns><c>true</c> if <paramref name="value1"/> is the same instance as <paramref name="value2"/> or 
147                         /// if both are <c>null</c> references or if <c>value1.Equals(value2)</c> returns <c>true</c>; otherwise, <c>false</c>.</returns>
148                         static bool Equals( ImageInformation% value1, ImageInformation% value2 );
149                 };
150         }
151 }