34 #include "../api_display.h"
35 #include "../../Core/Math/origin.h"
36 #include "../../Core/Signals/signal_v0.h"
37 #include "../../Core/IOData/file_system.h"
38 #include "../../Core/Resources/resource.h"
39 #include "../Render/graphic_context.h"
40 #include "../Image/image_import_description.h"
41 #include "../Collision/collision_outline.h"
50 class CollisionOutline;
52 class ResourceManager;
123 void throw_if_null()
const;
126 Angle get_angle()
const;
129 Angle get_base_angle()
const;
133 void get_scale(
float &x,
float &y)
const;
137 float get_alpha()
const;
144 bool get_linear_filter()
const;
147 void get_alignment(
Origin &origin,
int &x,
int &y)
const;
150 void get_rotation_hotspot(
Origin &origin,
int &x,
int &y)
const;
153 int get_current_frame()
const;
156 int get_frame_count()
const;
162 int get_frame_delay(
int frame)
const;
165 Point get_frame_offset(
int frame)
const;
168 Size get_frame_size(
int frame)
const;
171 Subtexture get_frame_texture(
int frame)
const;
174 int get_width()
const;
177 int get_height()
const;
180 Size get_size()
const;
186 bool is_play_loop()
const;
189 bool is_play_backward()
const;
192 bool is_play_pingpong()
const;
196 ShowOnFinish get_show_on_finish()
const;
201 bool is_finished()
const;
204 bool is_looping()
const;
211 std::vector<CollisionOutline> create_collision_outlines(
Canvas &canvas,
int alpha_limit,
OutlineAccuracy accuracy)
const;
228 return impl==other.impl;
234 return impl!=other.impl;
240 return impl < other.impl;
252 void set_image_data(
const Sprite &image_source);
285 void update(
int time_elapsed_ms);
288 void set_angle(
Angle angle);
291 void rotate(
Angle angle);
294 void set_base_angle(
Angle angle);
298 void set_scale(
float x,
float y);
302 void set_alpha(
float alpha);
306 void set_color(
const Colorf &color);
314 void set_linear_filter(
bool linear_filter =
true);
317 void set_alignment(
Origin origin,
int x = 0,
int y = 0);
320 void set_rotation_hotspot(
Origin origin,
int x = 0,
int y = 0);
324 void set_frame(
unsigned int frame);
329 void set_delay(
int delay_ms);
335 void set_frame_delay(
int frame,
int delay_ms);
338 void set_frame_offset(
int frame,
Point offset);
352 void set_play_loop(
bool loop =
true);
355 void set_play_pingpong(
bool pingpong =
true);
358 void set_play_backward(
bool backward =
true);
366 void add_frame(
const Texture2D &texture);
390 void add_frames(
const Texture2D &texture,
Rect *frames,
int num_frames);
407 void add_gridclipped_frames(
Canvas &canvas,
410 int width,
int height,
411 int xarray = 1,
int yarray = 1,
412 int array_skipframes = 0,
413 int xspacing = 0,
int yspacing = 0);
425 void add_alphaclipped_frames(
Canvas &canvas,
427 int xpos = 0,
int ypos = 0,
428 float trans_limit = 0.05f);
439 void add_alphaclipped_frames_free(
Canvas &canvas,
441 int xpos = 0,
int ypos = 0,
442 float trans_limit = 0.05f);
458 std::shared_ptr<Sprite_Impl> impl;
460 friend class Font_Impl;
Floating point color description class (for float).
Definition: color.h:661
Sub-texture description.
Definition: subtexture.h:46
Angle class.
Definition: angle.h:63
Resource proxy of a specific type.
Definition: resource.h:59
2D Graphics Canvas
Definition: canvas.h:70
I/O Device interface.
Definition: iodevice.h:51
unsigned char get_green() const
Returns the green color component, in the range 0-255.
Definition: color.h:91
Definition: outline_accuracy.h:45
unsigned char get_blue() const
Returns the blue color component, in the range 0-255.
Definition: color.h:94
Origin
Alignment origins.
Definition: origin.h:41
Image Import Description Class.
Definition: image_import_description.h:49
Sprite class.
Definition: sprite.h:57
unsigned char get_alpha() const
Returns the alpha color component, in the range 0-255.
Definition: color.h:85
unsigned char get_red() const
Returns the red color component, in the range 0-255.
Definition: color.h:88
2D (left,top,right,bottom) rectangle structure - Integer
Definition: rect.h:453
Type a
Definition: vec4.h:84
2D texture object class.
Definition: texture_2d.h:42
Type r
Definition: vec4.h:81
2D (left,top,right,bottom) rectangle structure - Float
Definition: rect.h:467
Virtual File System (VFS).
Definition: file_system.h:48
Resource manager.
Definition: resource_manager.h:45
bool operator!=(const Sprite &other) const
Inequality operator.
Definition: sprite.h:232
Collision detection outline.
Definition: collision_outline.h:114
OutlineAccuracy
Outline optimization accuracy.
Definition: outline_accuracy.h:41
void set_color(const Color &c)
Set color.
Definition: sprite.h:311
bool operator<(const Sprite &other) const
Less than operator.
Definition: sprite.h:238
2D (x,y) point structure - Integer
Definition: point.h:63
bool is_null() const
Returns true if this object is invalid.
Definition: sprite.h:120
ShowOnFinish
Definition: sprite.h:62
bool operator==(const Sprite &other) const
Equality operator.
Definition: sprite.h:226
2D (width,height) size structure - Integer
Definition: size.h:157
XML Resource Document.
Definition: xml_resource_document.h:49
Type b
Definition: vec4.h:83
Signal_v0.
Definition: signal_v0.h:107
Color description class.
Definition: color.h:47
Type g
Definition: vec4.h:82