Learn
Download
Community
Development
Home
»
Learn
»
2.0 Documentation
»
Texture.hpp Source File
Français
Donate
Documentation of SFML 2.0
Warning:
this page refers to an old version of SFML. Click here to switch to the latest version.
Main Page
Modules
Classes
Files
File List
sfml
sfml
include
SFML
Graphics
Texture.hpp
1
2
//
3
// SFML - Simple and Fast Multimedia Library
4
// Copyright (C) 2007-2013 Laurent Gomila (laurent.gom@gmail.com)
5
//
6
// This software is provided 'as-is', without any express or implied warranty.
7
// In no event will the authors be held liable for any damages arising from the use of this software.
8
//
9
// Permission is granted to anyone to use this software for any purpose,
10
// including commercial applications, and to alter it and redistribute it freely,
11
// subject to the following restrictions:
12
//
13
// 1. The origin of this software must not be misrepresented;
14
// you must not claim that you wrote the original software.
15
// If you use this software in a product, an acknowledgment
16
// in the product documentation would be appreciated but is not required.
17
//
18
// 2. Altered source versions must be plainly marked as such,
19
// and must not be misrepresented as being the original software.
20
//
21
// 3. This notice may not be removed or altered from any source distribution.
22
//
24
25
#ifndef SFML_TEXTURE_HPP
26
#define SFML_TEXTURE_HPP
27
29
// Headers
31
#include <SFML/Graphics/Export.hpp>
32
#include <SFML/Graphics/Image.hpp>
33
#include <SFML/Window/GlResource.hpp>
34
35
36
namespace
sf
37
{
38
class
Window;
39
class
RenderTarget;
40
class
RenderTexture;
41
class
InputStream;
42
47
class
SFML_GRAPHICS_API
Texture
:
GlResource
48
{
49
public
:
50
55
enum
CoordinateType
56
{
57
Normalized
,
58
Pixels
59
};
60
61
public
:
62
69
Texture
();
70
77
Texture
(
const
Texture
& copy);
78
83
~
Texture
();
84
96
bool
create(
unsigned
int
width,
unsigned
int
height);
97
127
bool
loadFromFile(
const
std::string& filename,
const
IntRect
& area =
IntRect
());
128
159
bool
loadFromMemory(
const
void
* data, std::size_t size,
const
IntRect
& area =
IntRect
());
160
190
bool
loadFromStream(
sf::InputStream
& stream,
const
IntRect
& area =
IntRect
());
191
214
bool
loadFromImage(
const
Image
& image,
const
IntRect
& area =
IntRect
());
215
222
Vector2u
getSize()
const
;
223
237
Image
copyToImage()
const
;
238
255
void
update(
const
Uint8* pixels);
256
277
void
update(
const
Uint8* pixels,
unsigned
int
width,
unsigned
int
height,
unsigned
int
x,
unsigned
int
y);
278
297
void
update(
const
Image
& image);
298
314
void
update(
const
Image
& image,
unsigned
int
x,
unsigned
int
y);
315
334
void
update(
const
Window
& window);
335
351
void
update(
const
Window
& window,
unsigned
int
x,
unsigned
int
y);
352
367
void
setSmooth(
bool
smooth);
368
377
bool
isSmooth()
const
;
378
401
void
setRepeated(
bool
repeated);
402
411
bool
isRepeated()
const
;
412
421
Texture
& operator =(
const
Texture
& right);
422
454
static
void
bind(
const
Texture
* texture, CoordinateType coordinateType = Normalized);
455
466
static
unsigned
int
getMaximumSize();
467
468
private
:
469
470
friend
class
RenderTexture
;
471
friend
class
RenderTarget
;
472
486
static
unsigned
int
getValidSize(
unsigned
int
size);
487
489
// Member data
491
Vector2u
m_size;
492
Vector2u
m_actualSize;
493
unsigned
int
m_texture;
494
bool
m_isSmooth;
495
bool
m_isRepeated;
496
mutable
bool
m_pixelsFlipped;
497
Uint64 m_cacheId;
498
};
499
500
}
// namespace sf
501
502
503
#endif // SFML_TEXTURE_HPP
504