00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00024
00025 #ifndef SFML_IMAGE_HPP
00026 #define SFML_IMAGE_HPP
00027
00029
00031 #include <SFML/Graphics/Color.hpp>
00032 #include <SFML/Graphics/ImageImpl.hpp>
00033 #include <SFML/Utilities/Rect.hpp>
00034 #include <SFML/Utilities/SharedPtr.hpp>
00035 #include <string>
00036
00037
00042 class SFML_API sfImage
00043 {
00044 public :
00045
00050 sfImage();
00051
00060 sfImage(unsigned int Width, unsigned int Height, const sfColor& Color = sfColor::Black);
00061
00070 sfImage(unsigned int Width, unsigned int Height, const void* Data);
00071
00080 bool LoadFromFile(const std::string& Filename);
00081
00090 bool SaveToFile(const std::string& Filename) const;
00091
00100 void Create(unsigned int Width, unsigned int Height, const sfColor& Color = sfColor::Black);
00101
00110 void LoadFromMemory(unsigned int Width, unsigned int Height, const void* Data);
00111
00118 void CreateMaskFromColor(const sfColor& ColorKey);
00119
00129 void Resize(unsigned int Width, unsigned int Height, const sfColor& Color = sfColor::Black);
00130
00140 void SetPixel(unsigned int X, unsigned int Y, const sfColor& Color);
00141
00151 sfColor GetPixel(unsigned int X, unsigned int Y) const;
00152
00161 const sfUint32* GetPixelsPtr() const;
00162
00168 void Update();
00169
00174 void Bind() const;
00175
00182 void SetSmooth(bool Smooth) const;
00183
00191 void SetRepeat(bool Repeat) const;
00192
00199 unsigned int GetWidth() const;
00200
00207 unsigned int GetHeight() const;
00208
00218 sfFloatRect GetTexCoords(const sfIntRect& Rect) const;
00219
00228 static unsigned int GetValidTextureSize(unsigned int Size);
00229
00230 private :
00231
00233
00235 sfSharedPtr<sf_private::sfImageImpl> myImpl;
00236 };
00237
00238
00239 #endif // SFML_IMAGE_HPP