SFML
Main Page
Modules
Classes
Files
File List
include
SFML
Graphics
Texture.hpp
1
//
3
// SFML - Simple and Fast Multimedia Library
4
// Copyright (C) 2007-2014 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
469
static
unsigned
int
getMaximumSize();
470
471
private
:
472
473
friend
class
RenderTexture
;
474
friend
class
RenderTarget
;
475
489
static
unsigned
int
getValidSize(
unsigned
int
size);
490
492
// Member data
494
Vector2u
m_size;
495
Vector2u
m_actualSize;
496
unsigned
int
m_texture;
497
bool
m_isSmooth;
498
bool
m_isRepeated;
499
mutable
bool
m_pixelsFlipped;
500
Uint64 m_cacheId;
501
};
502
503
}
// namespace sf
504
505
506
#endif // SFML_TEXTURE_HPP
507
sf::Rect< int >
sf::Texture::CoordinateType
CoordinateType
Types of texture coordinates that can be used for rendering.
Definition:
Texture.hpp:55
sf
Definition:
Listener.hpp:35
sf::GlResource
Base class for classes that require an OpenGL context.
Definition:
GlResource.hpp:40
sf::RenderTexture
Target for off-screen 2D rendering into a texture.
Definition:
RenderTexture.hpp:47
sf::Image
Class for loading, manipulating and saving images.
Definition:
Image.hpp:46
sf::Vector2< unsigned int >
sf::Texture
Image living on the graphics card that can be used for drawing.
Definition:
Texture.hpp:47
sf::Texture::Normalized
Texture coordinates in range [0 .. 1].
Definition:
Texture.hpp:57
sf::Window
Window that serves as a target for OpenGL rendering.
Definition:
Window/Window.hpp:57
sf::InputStream
Abstract class for custom file input streams.
Definition:
InputStream.hpp:40
sf::RenderTarget
Base class for all render targets (window, texture, ...)
Definition:
RenderTarget.hpp:51