22 #ifndef QDENGINE_QDCORE_QD_SPRITE_H 23 #define QDENGINE_QDCORE_QD_SPRITE_H 25 #include "common/str.h" 28 class SeekableReadStream;
31 #include "qdengine/system/graphics/gr_screen_region.h" 32 #include "qdengine/qdcore/qd_resource.h" 33 #include "qdengine/xmath.h" 46 qdSprite(
int wid,
int hei,
int format);
53 const Vect2i &size()
const {
56 void set_size(
const Vect2i &size) {
67 int picture_x()
const {
68 return _picture_offset.x;
70 int picture_y()
const {
71 return _picture_offset.y;
73 void set_picture_offset(
const Vect2i &offs) {
74 _picture_offset = offs;
77 int picture_size_x()
const {
78 return _picture_size.x;
80 int picture_size_y()
const {
81 return _picture_size.y;
83 void set_picture_size(
const Vect2i &size) {
90 const byte *data()
const {
93 uint32 data_size()
const;
101 bool has_file()
const {
102 return !_file.
empty();
112 void redraw(
int x,
int y,
int z,
int mode = 0)
const;
113 void redraw_rot(
int x,
int y,
int z,
float angle,
int mode = 0)
const;
114 void redraw_rot(
int x,
int y,
int z,
float angle,
const Vect2f &
scale,
int mode = 0)
const;
116 void redraw(
int x,
int y,
int z,
float scale,
int mode = 0)
const;
117 void draw_mask(
int x,
int y,
int z, uint32 mask_color,
int mask_alpha,
int mode = 0)
const;
118 void draw_mask(
int x,
int y,
int z, uint32 mask_color,
int mask_alpha,
float scale,
int mode = 0)
const;
120 void draw_mask_rot(
int x,
int y,
int z,
float angle, uint32 mask_color,
int mask_alpha,
int mode = 0)
const;
121 void draw_mask_rot(
int x,
int y,
int z,
float angle, uint32 mask_color,
int mask_alpha,
const Vect2f &scale,
int mode = 0)
const;
123 void draw_contour(
int x,
int y, uint32 color,
int mode = 0)
const;
124 void draw_contour(
int x,
int y, uint32 color,
float scale,
int mode = 0)
const;
126 bool hit(
int x,
int y)
const;
127 bool hit(
int x,
int y,
float scale)
const;
129 bool put_pixel(
int x,
int y, byte r, byte g, byte b);
132 bool crop(
int left,
int top,
int right,
int bottom,
bool store_offsets =
true);
135 bool get_edges_width(
int &left,
int &top,
int &right,
int &bottom);
140 bool is_compressed()
const {
141 if (_rle_data)
return true;
145 bool scale(
float coeff_x,
float coeff_y);
147 void set_flag(
int fl) {
150 void drop_flag(
int fl) {
153 bool check_flag(
int fl)
const {
185 if (has_file())
return file();
188 #ifdef __QD_DEBUG_ENABLE__ 189 uint32 resource_data_size()
const {
200 grScreenRegion screen_region(
int mode = 0,
float scale = 1.0f)
const;
221 #endif // QDENGINE_QDCORE_QD_SPRITE_H void set_resource_file(const Common::Path filename)
Устанавливает имя файла, в котором хранятся данные ресурса.
Definition: qd_sprite.h:177
Спрайт.
Definition: qd_sprite.h:39
const Common::Path resource_file() const
Возвращает имя файла, в котором хранятся данные ресурса.
Definition: qd_sprite.h:184
Definition: qd_resource.h:34
bool load_resource()
Загружает в память данные ресурса.
Definition: qd_sprite.h:167
Graphics::Surface * scale(const Graphics::Surface &srcImage, int xSize, int ySize)
Массив, сжатый методом RLE.
Definition: rle_compress.h:29
bool empty() const
Definition: path.h:353
Базовый класс для игровых ресурсов.
Definition: console.h:28
Definition: algorithm.h:29
Прямоугольная область на экране.
Definition: gr_screen_region.h:31
bool free_resource()
Выгружает из памяти данные ресурса.
Definition: qd_sprite.h:171