17 ,
public std::enable_shared_from_this<Sprite>
33 std::shared_ptr<Sprite>
clone();
39 const std::vector<std::shared_ptr<Sprite>> &
clones()
const;
45 void setX(
double newX);
48 void setY(
double newY);
81 void keepInFence(
double newX,
double newY,
double *fencedX,
double *fencedY)
const;
92 Target *dataSource()
const override;
93 bool touchingClones(
const std::vector<Sprite *> &
clones)
const override;
94 void setXY(
double x,
double y);
96 spimpl::unique_impl_ptr<SpritePrivate> impl;
The IGraphicsEffects class is an interface for custom graphics effects.
Definition igraphicseffect.h:14
The ISpriteHandler class provides a sprite interface for Scratch project players.
Definition ispritehandler.h:13
The Sprite class represents a Scratch sprite.
Definition sprite.h:18
const std::vector< std::shared_ptr< Sprite > > & clones() const
Definition sprite.cpp:147
void clearGraphicsEffects() override
Definition sprite.cpp:541
bool draggable() const
Definition sprite.cpp:359
Sprite()
Definition sprite.cpp:20
double x() const
Definition sprite.cpp:179
Sprite * cloneSprite() const
Definition sprite.cpp:141
Rect boundingRect() const override
Definition sprite.cpp:433
void setGraphicsEffectValue(IGraphicsEffect *effect, double value) override
Definition sprite.cpp:525
void setInterface(ISpriteHandler *newInterface)
Definition sprite.cpp:35
void setSize(double newSize)
Definition sprite.cpp:273
bool dragging() const
Definition sprite.cpp:229
void startDragging()
Definition sprite.cpp:235
std::string rotationStyleStr() const
Definition sprite.cpp:377
double size() const
Definition sprite.cpp:267
bool touchingPoint(double x, double y) const override
Definition sprite.cpp:498
void setDirection(double newDirection)
Definition sprite.cpp:338
std::shared_ptr< Sprite > clone()
Definition sprite.cpp:49
void setPosition(double x, double y)
Definition sprite.cpp:215
ISpriteHandler * getInterface() const
Definition sprite.cpp:43
void setCostumeIndex(int newCostumeIndex) override
Definition sprite.cpp:297
void deleteClone()
Definition sprite.cpp:115
void dragToPosition(double x, double y)
Definition sprite.cpp:255
void setVisible(bool newVisible)
Definition sprite.cpp:163
double direction() const
Definition sprite.cpp:332
RotationStyle
Definition sprite.h:21
@ DoNotRotate
Definition sprite.h:24
@ AllAround
Definition sprite.h:22
@ LeftRight
Definition sprite.h:23
Sprite(const Sprite &)=delete
bool visible() const
Definition sprite.cpp:157
void setRotationStyle(RotationStyle newRotationStyle)
Definition sprite.cpp:391
bool touchingColor(Rgb color) const override
Definition sprite.cpp:507
void stopDragging()
Definition sprite.cpp:246
double y() const
Definition sprite.cpp:197
bool isClone() const
Definition sprite.cpp:135
void keepInFence(double newX, double newY, double *fencedX, double *fencedY) const
Definition sprite.cpp:457
void setY(double newY)
Definition sprite.cpp:203
RotationStyle rotationStyle() const
Definition sprite.cpp:371
void setLayerOrder(int newLayerOrder) override
Definition sprite.cpp:424
void setX(double newX)
Definition sprite.cpp:185
int currentCostumeWidth() const override
Definition sprite.cpp:314
void setDraggable(bool newDraggable)
Definition sprite.cpp:365
int currentCostumeHeight() const override
Definition sprite.cpp:323
Rect fastBoundingRect() const override
Definition sprite.cpp:442
Target()
Definition target.cpp:26
#define LIBSCRATCHCPP_EXPORT
Definition global.h:17
The main namespace of the library.
Definition asset.h:10
unsigned int Rgb
Definition value_functions.h:11