libscratchcpp
A library for C++ based Scratch project players
Toggle main menu visibility
Loading...
Searching...
No Matches
ispritehandler.h
Go to the documentation of this file.
1
// SPDX-License-Identifier: Apache-2.0
2
3
#pragma once
4
5
#include "
global.h
"
6
#include "
sprite.h
"
7
8
namespace
libscratchcpp
9
{
10
12
class
LIBSCRATCHCPP_EXPORT
ISpriteHandler
13
{
14
public
:
15
virtual
~ISpriteHandler
() { }
16
18
virtual
void
init
(
Sprite
*sprite) = 0;
19
21
virtual
void
deinitClone
() = 0;
22
24
virtual
void
onCloned
(
Sprite
*clone) = 0;
25
27
virtual
void
onCostumeChanged
(
Costume
*costume) = 0;
28
30
virtual
void
onVisibleChanged
(
bool
visible) = 0;
31
33
virtual
void
onXChanged
(
double
x) = 0;
34
36
virtual
void
onYChanged
(
double
y) = 0;
37
39
virtual
void
onMoved
(
double
oldX,
double
oldY,
double
newX,
double
newY) = 0;
40
42
virtual
void
onSizeChanged
(
double
size) = 0;
43
45
virtual
void
onDirectionChanged
(
double
direction) = 0;
46
48
virtual
void
onRotationStyleChanged
(
Sprite::RotationStyle
rotationStyle) = 0;
49
51
virtual
void
onLayerOrderChanged
(
int
layerOrder) = 0;
52
57
virtual
void
onGraphicsEffectChanged
(
IGraphicsEffect
*effect,
double
value) = 0;
58
60
virtual
void
onGraphicsEffectsCleared
() = 0;
61
63
virtual
int
costumeWidth
()
const
= 0;
64
66
virtual
int
costumeHeight
()
const
= 0;
67
72
virtual
Rect
boundingRect
()
const
= 0;
73
79
virtual
Rect
fastBoundingRect
()
const
= 0;
80
82
virtual
bool
touchingClones
(
const
std::vector<Sprite *> &clones)
const
= 0;
83
85
virtual
bool
touchingPoint
(
double
x,
double
y)
const
= 0;
86
88
virtual
bool
touchingColor
(
Rgb
color)
const
= 0;
89
91
virtual
bool
touchingColor
(
Rgb
color,
Rgb
mask)
const
= 0;
92
};
93
94
}
// namespace libscratchcpp
libscratchcpp::Costume
The Costume class represents a Scratch costume.
Definition
costume.h:17
libscratchcpp::IGraphicsEffect
The IGraphicsEffects class is an interface for custom graphics effects.
Definition
igraphicseffect.h:14
libscratchcpp::ISpriteHandler
The ISpriteHandler class provides a sprite interface for Scratch project players.
Definition
ispritehandler.h:13
libscratchcpp::ISpriteHandler::onGraphicsEffectChanged
virtual void onGraphicsEffectChanged(IGraphicsEffect *effect, double value)=0
libscratchcpp::ISpriteHandler::~ISpriteHandler
virtual ~ISpriteHandler()
Definition
ispritehandler.h:15
libscratchcpp::ISpriteHandler::onYChanged
virtual void onYChanged(double y)=0
libscratchcpp::ISpriteHandler::onCloned
virtual void onCloned(Sprite *clone)=0
libscratchcpp::ISpriteHandler::costumeWidth
virtual int costumeWidth() const =0
libscratchcpp::ISpriteHandler::onDirectionChanged
virtual void onDirectionChanged(double direction)=0
libscratchcpp::ISpriteHandler::onXChanged
virtual void onXChanged(double x)=0
libscratchcpp::ISpriteHandler::costumeHeight
virtual int costumeHeight() const =0
libscratchcpp::ISpriteHandler::onGraphicsEffectsCleared
virtual void onGraphicsEffectsCleared()=0
libscratchcpp::ISpriteHandler::touchingClones
virtual bool touchingClones(const std::vector< Sprite * > &clones) const =0
libscratchcpp::ISpriteHandler::boundingRect
virtual Rect boundingRect() const =0
libscratchcpp::ISpriteHandler::onRotationStyleChanged
virtual void onRotationStyleChanged(Sprite::RotationStyle rotationStyle)=0
libscratchcpp::ISpriteHandler::init
virtual void init(Sprite *sprite)=0
libscratchcpp::ISpriteHandler::onMoved
virtual void onMoved(double oldX, double oldY, double newX, double newY)=0
libscratchcpp::ISpriteHandler::onLayerOrderChanged
virtual void onLayerOrderChanged(int layerOrder)=0
libscratchcpp::ISpriteHandler::touchingPoint
virtual bool touchingPoint(double x, double y) const =0
libscratchcpp::ISpriteHandler::onVisibleChanged
virtual void onVisibleChanged(bool visible)=0
libscratchcpp::ISpriteHandler::onCostumeChanged
virtual void onCostumeChanged(Costume *costume)=0
libscratchcpp::ISpriteHandler::onSizeChanged
virtual void onSizeChanged(double size)=0
libscratchcpp::ISpriteHandler::touchingColor
virtual bool touchingColor(Rgb color, Rgb mask) const =0
libscratchcpp::ISpriteHandler::deinitClone
virtual void deinitClone()=0
libscratchcpp::ISpriteHandler::touchingColor
virtual bool touchingColor(Rgb color) const =0
libscratchcpp::ISpriteHandler::fastBoundingRect
virtual Rect fastBoundingRect() const =0
libscratchcpp::Rect
Definition
rect.h:15
libscratchcpp::Sprite
The Sprite class represents a Scratch sprite.
Definition
sprite.h:18
libscratchcpp::Sprite::RotationStyle
RotationStyle
Definition
sprite.h:21
global.h
LIBSCRATCHCPP_EXPORT
#define LIBSCRATCHCPP_EXPORT
Definition
global.h:17
libscratchcpp
The main namespace of the library.
Definition
asset.h:10
libscratchcpp::Rgb
unsigned int Rgb
Definition
value_functions.h:11
sprite.h
include
scratchcpp
ispritehandler.h
Generated by
1.17.0