mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2026-02-09 16:48:43 +08:00
[cpp] 4.3 porting WIP
This commit is contained in:
parent
a743b7aa23
commit
ad381b43ef
92
spine-cpp/spine-cpp/include/spine/BoneLocal.h
Normal file
92
spine-cpp/spine-cpp/include/spine/BoneLocal.h
Normal file
@ -0,0 +1,92 @@
|
||||
/******************************************************************************
|
||||
* Spine Runtimes License Agreement
|
||||
* Last updated January 1, 2020. Replaces all prior versions.
|
||||
*
|
||||
* Copyright (c) 2013-2020, Esoteric Software LLC
|
||||
*
|
||||
* Integration of the Spine Runtimes into software or otherwise creating
|
||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||
* http://esotericsoftware.com/spine-editor-license
|
||||
*
|
||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
||||
* "Products"), provided that each user of the Products must obtain their own
|
||||
* Spine Editor license and redistribution of the Products in any form must
|
||||
* include this license and copyright notice.
|
||||
*
|
||||
* THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY
|
||||
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY
|
||||
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*****************************************************************************/
|
||||
|
||||
#ifndef SPINE_BONELOCAL_H_
|
||||
#define SPINE_BONELOCAL_H_
|
||||
|
||||
#include <spine/SpineObject.h>
|
||||
#include <spine/RTTI.h>
|
||||
#include <spine/Pose.h>
|
||||
#include <spine/Inherit.h>
|
||||
|
||||
namespace spine {
|
||||
/// Stores a bone's local pose.
|
||||
class SP_API BoneLocal : public SpineObject, public Pose<BoneLocal> {
|
||||
RTTI_DECL
|
||||
|
||||
private:
|
||||
float _x, _y, _rotation, _scaleX, _scaleY, _shearX, _shearY;
|
||||
Inherit _inherit;
|
||||
|
||||
public:
|
||||
BoneLocal();
|
||||
virtual ~BoneLocal();
|
||||
|
||||
virtual void set(BoneLocal& pose) override;
|
||||
|
||||
/// The local x translation.
|
||||
float getX();
|
||||
void setX(float x);
|
||||
|
||||
/// The local y translation.
|
||||
float getY();
|
||||
void setY(float y);
|
||||
|
||||
void setPosition(float x, float y);
|
||||
|
||||
/// The local rotation in degrees, counter clockwise.
|
||||
float getRotation();
|
||||
void setRotation(float rotation);
|
||||
|
||||
/// The local scaleX.
|
||||
float getScaleX();
|
||||
void setScaleX(float scaleX);
|
||||
|
||||
/// The local scaleY.
|
||||
float getScaleY();
|
||||
void setScaleY(float scaleY);
|
||||
|
||||
void setScale(float scaleX, float scaleY);
|
||||
void setScale(float scale);
|
||||
|
||||
/// The local shearX.
|
||||
float getShearX();
|
||||
void setShearX(float shearX);
|
||||
|
||||
/// The local shearY.
|
||||
float getShearY();
|
||||
void setShearY(float shearY);
|
||||
|
||||
/// Determines how parent world transforms affect this bone.
|
||||
Inherit getInherit();
|
||||
void setInherit(Inherit inherit);
|
||||
};
|
||||
}
|
||||
|
||||
#endif /* SPINE_BONELOCAL_H_ */
|
||||
@ -36,7 +36,10 @@
|
||||
namespace spine {
|
||||
class EventData;
|
||||
|
||||
/// Stores the current pose values for an Event.
|
||||
/// Stores the current pose values for an Event.
|
||||
///
|
||||
/// See Timeline::apply(), AnimationStateListener::event(), and
|
||||
/// @see https://esotericsoftware.com/spine-events Events in the Spine User Guide.
|
||||
class SP_API Event : public SpineObject {
|
||||
friend class SkeletonBinary;
|
||||
|
||||
@ -47,6 +50,7 @@ namespace spine {
|
||||
public:
|
||||
Event(float time, const EventData &data);
|
||||
|
||||
/// The event's setup pose data.
|
||||
const EventData &getData();
|
||||
|
||||
/// The animation time this event was keyed.
|
||||
|
||||
88
spine-cpp/spine-cpp/include/spine/Posed.h
Normal file
88
spine-cpp/spine-cpp/include/spine/Posed.h
Normal file
@ -0,0 +1,88 @@
|
||||
/******************************************************************************
|
||||
* Spine Runtimes License Agreement
|
||||
* Last updated April 5, 2025. Replaces all prior versions.
|
||||
*
|
||||
* Copyright (c) 2013-2025, Esoteric Software LLC
|
||||
*
|
||||
* Integration of the Spine Runtimes into software or otherwise creating
|
||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||
* http://esotericsoftware.com/spine-editor-license
|
||||
*
|
||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
||||
* "Products"), provided that each user of the Products must obtain their own
|
||||
* Spine Editor license and redistribution of the Products in any form must
|
||||
* include this license and copyright notice.
|
||||
*
|
||||
* THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY
|
||||
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY
|
||||
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*****************************************************************************/
|
||||
|
||||
#ifndef Spine_Posed_h
|
||||
#define Spine_Posed_h
|
||||
|
||||
#include <spine/SpineObject.h>
|
||||
|
||||
namespace spine {
|
||||
template<class D, class P, class A>
|
||||
class SP_API Posed : public SpineObject {
|
||||
public:
|
||||
Posed(D& data, P& pose, A& constrained);
|
||||
virtual ~Posed();
|
||||
|
||||
void setupPose();
|
||||
|
||||
/// The constraint's setup pose data.
|
||||
D& getData();
|
||||
|
||||
P& getPose();
|
||||
|
||||
A& getAppliedPose();
|
||||
|
||||
protected:
|
||||
D& _data;
|
||||
P& _pose;
|
||||
A& _constrained;
|
||||
A* _applied;
|
||||
};
|
||||
|
||||
template<class D, class P, class A>
|
||||
Posed<D, P, A>::Posed(D& data, P& pose, A& constrained) : _data(data), _pose(pose), _constrained(constrained) {
|
||||
_applied = &pose;
|
||||
}
|
||||
|
||||
template<class D, class P, class A>
|
||||
Posed<D, P, A>::~Posed() {
|
||||
}
|
||||
|
||||
template<class D, class P, class A>
|
||||
void Posed<D, P, A>::setupPose() {
|
||||
_pose.set(_data.setup);
|
||||
}
|
||||
|
||||
template<class D, class P, class A>
|
||||
D& Posed<D, P, A>::getData() {
|
||||
return _data;
|
||||
}
|
||||
|
||||
template<class D, class P, class A>
|
||||
P& Posed<D, P, A>::getPose() {
|
||||
return _pose;
|
||||
}
|
||||
|
||||
template<class D, class P, class A>
|
||||
A& Posed<D, P, A>::getAppliedPose() {
|
||||
return *_applied;
|
||||
}
|
||||
}
|
||||
|
||||
#endif /* Spine_Posed_h */
|
||||
71
spine-cpp/spine-cpp/include/spine/PosedActive.h
Normal file
71
spine-cpp/spine-cpp/include/spine/PosedActive.h
Normal file
@ -0,0 +1,71 @@
|
||||
/******************************************************************************
|
||||
* Spine Runtimes License Agreement
|
||||
* Last updated January 1, 2020. Replaces all prior versions.
|
||||
*
|
||||
* Copyright (c) 2013-2020, Esoteric Software LLC
|
||||
*
|
||||
* Integration of the Spine Runtimes into software or otherwise creating
|
||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||
* http://esotericsoftware.com/spine-editor-license
|
||||
*
|
||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
||||
* "Products"), provided that each user of the Products must obtain their own
|
||||
* Spine Editor license and redistribution of the Products in any form must
|
||||
* include this license and copyright notice.
|
||||
*
|
||||
* THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY
|
||||
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY
|
||||
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*****************************************************************************/
|
||||
|
||||
#ifndef SPINE_POSEDACTIVE_H_
|
||||
#define SPINE_POSEDACTIVE_H_
|
||||
|
||||
#include <spine/dll.h>
|
||||
#include <spine/Posed.h>
|
||||
|
||||
namespace spine {
|
||||
template<class D, class P, class A>
|
||||
class SP_API PosedActive : public Posed<D, P, A> {
|
||||
protected:
|
||||
bool _active;
|
||||
|
||||
public:
|
||||
PosedActive(D& data, P& pose, A& constrained);
|
||||
virtual ~PosedActive();
|
||||
|
||||
/// Returns false when this constraint won't be updated by
|
||||
/// Skeleton::updateWorldTransform() because a skin is required and the
|
||||
/// active skin does not contain this item.
|
||||
/// @see Skin::getBones()
|
||||
/// @see Skin::getConstraints()
|
||||
/// @see PosedData::getSkinRequired()
|
||||
/// @see Skeleton::updateCache()
|
||||
bool isActive();
|
||||
};
|
||||
|
||||
template<class D, class P, class A>
|
||||
PosedActive<D, P, A>::PosedActive(D& data, P& pose, A& constrained) : Posed<D, P, A>(data, pose, constrained), _active(false) {
|
||||
this->setupPose();
|
||||
}
|
||||
|
||||
template<class D, class P, class A>
|
||||
PosedActive<D, P, A>::~PosedActive() {
|
||||
}
|
||||
|
||||
template<class D, class P, class A>
|
||||
bool PosedActive<D, P, A>::isActive() {
|
||||
return _active;
|
||||
}
|
||||
}
|
||||
|
||||
#endif /* SPINE_POSEDACTIVE_H_ */
|
||||
75
spine-cpp/spine-cpp/include/spine/TransformConstraintPose.h
Normal file
75
spine-cpp/spine-cpp/include/spine/TransformConstraintPose.h
Normal file
@ -0,0 +1,75 @@
|
||||
/******************************************************************************
|
||||
* Spine Runtimes License Agreement
|
||||
* Last updated April 5, 2025. Replaces all prior versions.
|
||||
*
|
||||
* Copyright (c) 2013-2025, Esoteric Software LLC
|
||||
*
|
||||
* Integration of the Spine Runtimes into software or otherwise creating
|
||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||
* http://esotericsoftware.com/spine-editor-license
|
||||
*
|
||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
||||
* "Products"), provided that each user of the Products must obtain their own
|
||||
* Spine Editor license and redistribution of the Products in any form must
|
||||
* include this license and copyright notice.
|
||||
*
|
||||
* THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY
|
||||
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY
|
||||
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*****************************************************************************/
|
||||
|
||||
#ifndef Spine_TransformConstraintPose_h
|
||||
#define Spine_TransformConstraintPose_h
|
||||
|
||||
#include <spine/Pose.h>
|
||||
#include <spine/RTTI.h>
|
||||
|
||||
namespace spine {
|
||||
/// Stores a pose for a transform constraint.
|
||||
class SP_API TransformConstraintPose : public Pose<TransformConstraintPose> {
|
||||
RTTI_DECL
|
||||
private:
|
||||
float _mixRotate, _mixX, _mixY, _mixScaleX, _mixScaleY, _mixShearY;
|
||||
|
||||
public:
|
||||
TransformConstraintPose();
|
||||
virtual ~TransformConstraintPose();
|
||||
|
||||
virtual void set(TransformConstraintPose& pose) override;
|
||||
|
||||
/// A percentage (0-1) that controls the mix between the constrained and unconstrained rotation.
|
||||
float getMixRotate();
|
||||
void setMixRotate(float mixRotate);
|
||||
|
||||
/// A percentage (0-1) that controls the mix between the constrained and unconstrained translation X.
|
||||
float getMixX();
|
||||
void setMixX(float mixX);
|
||||
|
||||
/// A percentage (0-1) that controls the mix between the constrained and unconstrained translation Y.
|
||||
float getMixY();
|
||||
void setMixY(float mixY);
|
||||
|
||||
/// A percentage (0-1) that controls the mix between the constrained and unconstrained scale X.
|
||||
float getMixScaleX();
|
||||
void setMixScaleX(float mixScaleX);
|
||||
|
||||
/// A percentage (0-1) that controls the mix between the constrained and unconstrained scale Y.
|
||||
float getMixScaleY();
|
||||
void setMixScaleY(float mixScaleY);
|
||||
|
||||
/// A percentage (0-1) that controls the mix between the constrained and unconstrained shear Y.
|
||||
float getMixShearY();
|
||||
void setMixShearY(float mixShearY);
|
||||
};
|
||||
}
|
||||
|
||||
#endif
|
||||
@ -27,28 +27,27 @@
|
||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*****************************************************************************/
|
||||
|
||||
#ifndef Spine_Updatable_h
|
||||
#define Spine_Updatable_h
|
||||
#ifndef Spine_Update_h
|
||||
#define Spine_Update_h
|
||||
|
||||
#include <spine/dll.h>
|
||||
#include <spine/Physics.h>
|
||||
#include <spine/RTTI.h>
|
||||
#include <spine/SpineObject.h>
|
||||
#include <spine/Physics.h>
|
||||
|
||||
namespace spine {
|
||||
class SP_API Updatable : public SpineObject {
|
||||
RTTI_DECL
|
||||
class Skeleton;
|
||||
|
||||
/// The interface for items updated by Skeleton::updateWorldTransform().
|
||||
class SP_API Update : public SpineObject {
|
||||
RTTI_DECL
|
||||
public:
|
||||
Updatable();
|
||||
Update();
|
||||
virtual ~Update();
|
||||
|
||||
virtual ~Updatable();
|
||||
|
||||
virtual void update(Physics physics) = 0;
|
||||
|
||||
virtual bool isActive() = 0;
|
||||
|
||||
virtual void setActive(bool inValue) = 0;
|
||||
/// @param physics Determines how physics and other non-deterministic updates are applied.
|
||||
virtual void update(Skeleton& skeleton, Physics physics) = 0;
|
||||
};
|
||||
}
|
||||
|
||||
#endif /* Spine_Updatable_h */
|
||||
#endif /* Spine_Update_h */
|
||||
@ -41,8 +41,9 @@
|
||||
#include <spine/AttachmentType.h>
|
||||
#include <spine/BlendMode.h>
|
||||
#include <spine/Bone.h>
|
||||
#include <spine/BoneTimeline.h>
|
||||
#include <spine/BoneData.h>
|
||||
#include <spine/BoneLocal.h>
|
||||
#include <spine/BoneTimeline.h>
|
||||
#include <spine/BoundingBoxAttachment.h>
|
||||
#include <spine/ClippingAttachment.h>
|
||||
#include <spine/Color.h>
|
||||
@ -83,6 +84,8 @@
|
||||
#include <spine/PhysicsConstraintData.h>
|
||||
#include <spine/PhysicsConstraintPose.h>
|
||||
#include <spine/Pose.h>
|
||||
#include <spine/Posed.h>
|
||||
#include <spine/PosedActive.h>
|
||||
#include <spine/PointAttachment.h>
|
||||
#include <spine/Pool.h>
|
||||
#include <spine/PosedData.h>
|
||||
@ -113,10 +116,11 @@
|
||||
#include <spine/Timeline.h>
|
||||
#include <spine/TransformConstraint.h>
|
||||
#include <spine/TransformConstraintData.h>
|
||||
#include <spine/TransformConstraintPose.h>
|
||||
#include <spine/TransformConstraintTimeline.h>
|
||||
#include <spine/TranslateTimeline.h>
|
||||
#include <spine/Triangulator.h>
|
||||
#include <spine/Updatable.h>
|
||||
#include <spine/Update.h>
|
||||
#include <spine/Vector.h>
|
||||
#include <spine/VertexAttachment.h>
|
||||
#include <spine/Vertices.h>
|
||||
|
||||
131
spine-cpp/spine-cpp/src/spine/BoneLocal.cpp
Normal file
131
spine-cpp/spine-cpp/src/spine/BoneLocal.cpp
Normal file
@ -0,0 +1,131 @@
|
||||
/******************************************************************************
|
||||
* Spine Runtimes License Agreement
|
||||
* Last updated January 1, 2020. Replaces all prior versions.
|
||||
*
|
||||
* Copyright (c) 2013-2020, Esoteric Software LLC
|
||||
*
|
||||
* Integration of the Spine Runtimes into software or otherwise creating
|
||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||
* http://esotericsoftware.com/spine-editor-license
|
||||
*
|
||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
||||
* "Products"), provided that each user of the Products must obtain their own
|
||||
* Spine Editor license and redistribution of the Products in any form must
|
||||
* include this license and copyright notice.
|
||||
*
|
||||
* THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY
|
||||
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY
|
||||
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*****************************************************************************/
|
||||
|
||||
#include <spine/BoneLocal.h>
|
||||
#include <spine/SpineException.h>
|
||||
|
||||
using namespace spine;
|
||||
|
||||
RTTI_IMPL_NOPARENT(BoneLocal)
|
||||
|
||||
BoneLocal::BoneLocal() : _x(0), _y(0), _rotation(0), _scaleX(1), _scaleY(1), _shearX(0), _shearY(0), _inherit(Inherit_Normal) {
|
||||
}
|
||||
|
||||
BoneLocal::~BoneLocal() {
|
||||
}
|
||||
|
||||
void BoneLocal::set(BoneLocal& pose) {
|
||||
_x = pose._x;
|
||||
_y = pose._y;
|
||||
_rotation = pose._rotation;
|
||||
_scaleX = pose._scaleX;
|
||||
_scaleY = pose._scaleY;
|
||||
_shearX = pose._shearX;
|
||||
_shearY = pose._shearY;
|
||||
_inherit = pose._inherit;
|
||||
}
|
||||
|
||||
float BoneLocal::getX() {
|
||||
return _x;
|
||||
}
|
||||
|
||||
void BoneLocal::setX(float x) {
|
||||
_x = x;
|
||||
}
|
||||
|
||||
float BoneLocal::getY() {
|
||||
return _y;
|
||||
}
|
||||
|
||||
void BoneLocal::setY(float y) {
|
||||
_y = y;
|
||||
}
|
||||
|
||||
void BoneLocal::setPosition(float x, float y) {
|
||||
_x = x;
|
||||
_y = y;
|
||||
}
|
||||
|
||||
float BoneLocal::getRotation() {
|
||||
return _rotation;
|
||||
}
|
||||
|
||||
void BoneLocal::setRotation(float rotation) {
|
||||
_rotation = rotation;
|
||||
}
|
||||
|
||||
float BoneLocal::getScaleX() {
|
||||
return _scaleX;
|
||||
}
|
||||
|
||||
void BoneLocal::setScaleX(float scaleX) {
|
||||
_scaleX = scaleX;
|
||||
}
|
||||
|
||||
float BoneLocal::getScaleY() {
|
||||
return _scaleY;
|
||||
}
|
||||
|
||||
void BoneLocal::setScaleY(float scaleY) {
|
||||
_scaleY = scaleY;
|
||||
}
|
||||
|
||||
void BoneLocal::setScale(float scaleX, float scaleY) {
|
||||
_scaleX = scaleX;
|
||||
_scaleY = scaleY;
|
||||
}
|
||||
|
||||
void BoneLocal::setScale(float scale) {
|
||||
_scaleX = scale;
|
||||
_scaleY = scale;
|
||||
}
|
||||
|
||||
float BoneLocal::getShearX() {
|
||||
return _shearX;
|
||||
}
|
||||
|
||||
void BoneLocal::setShearX(float shearX) {
|
||||
_shearX = shearX;
|
||||
}
|
||||
|
||||
float BoneLocal::getShearY() {
|
||||
return _shearY;
|
||||
}
|
||||
|
||||
void BoneLocal::setShearY(float shearY) {
|
||||
_shearY = shearY;
|
||||
}
|
||||
|
||||
Inherit BoneLocal::getInherit() {
|
||||
return _inherit;
|
||||
}
|
||||
|
||||
void BoneLocal::setInherit(Inherit inherit) {
|
||||
_inherit = inherit;
|
||||
}
|
||||
98
spine-cpp/spine-cpp/src/spine/TransformConstraintPose.cpp
Normal file
98
spine-cpp/spine-cpp/src/spine/TransformConstraintPose.cpp
Normal file
@ -0,0 +1,98 @@
|
||||
/******************************************************************************
|
||||
* Spine Runtimes License Agreement
|
||||
* Last updated April 5, 2025. Replaces all prior versions.
|
||||
*
|
||||
* Copyright (c) 2013-2025, Esoteric Software LLC
|
||||
*
|
||||
* Integration of the Spine Runtimes into software or otherwise creating
|
||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||
* http://esotericsoftware.com/spine-editor-license
|
||||
*
|
||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
||||
* "Products"), provided that each user of the Products must obtain their own
|
||||
* Spine Editor license and redistribution of the Products in any form must
|
||||
* include this license and copyright notice.
|
||||
*
|
||||
* THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY
|
||||
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY
|
||||
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*****************************************************************************/
|
||||
|
||||
#include <spine/TransformConstraintPose.h>
|
||||
|
||||
using namespace spine;
|
||||
|
||||
RTTI_IMPL_NOPARENT(TransformConstraintPose)
|
||||
|
||||
TransformConstraintPose::TransformConstraintPose() :
|
||||
_mixRotate(0), _mixX(0), _mixY(0), _mixScaleX(0), _mixScaleY(0), _mixShearY(0) {
|
||||
}
|
||||
|
||||
TransformConstraintPose::~TransformConstraintPose() {
|
||||
}
|
||||
|
||||
void TransformConstraintPose::set(TransformConstraintPose& pose) {
|
||||
_mixRotate = pose._mixRotate;
|
||||
_mixX = pose._mixX;
|
||||
_mixY = pose._mixY;
|
||||
_mixScaleX = pose._mixScaleX;
|
||||
_mixScaleY = pose._mixScaleY;
|
||||
_mixShearY = pose._mixShearY;
|
||||
}
|
||||
|
||||
float TransformConstraintPose::getMixRotate() {
|
||||
return _mixRotate;
|
||||
}
|
||||
|
||||
void TransformConstraintPose::setMixRotate(float mixRotate) {
|
||||
this->_mixRotate = mixRotate;
|
||||
}
|
||||
|
||||
float TransformConstraintPose::getMixX() {
|
||||
return _mixX;
|
||||
}
|
||||
|
||||
void TransformConstraintPose::setMixX(float mixX) {
|
||||
this->_mixX = mixX;
|
||||
}
|
||||
|
||||
float TransformConstraintPose::getMixY() {
|
||||
return _mixY;
|
||||
}
|
||||
|
||||
void TransformConstraintPose::setMixY(float mixY) {
|
||||
this->_mixY = mixY;
|
||||
}
|
||||
|
||||
float TransformConstraintPose::getMixScaleX() {
|
||||
return _mixScaleX;
|
||||
}
|
||||
|
||||
void TransformConstraintPose::setMixScaleX(float mixScaleX) {
|
||||
this->_mixScaleX = mixScaleX;
|
||||
}
|
||||
|
||||
float TransformConstraintPose::getMixScaleY() {
|
||||
return _mixScaleY;
|
||||
}
|
||||
|
||||
void TransformConstraintPose::setMixScaleY(float mixScaleY) {
|
||||
this->_mixScaleY = mixScaleY;
|
||||
}
|
||||
|
||||
float TransformConstraintPose::getMixShearY() {
|
||||
return _mixShearY;
|
||||
}
|
||||
|
||||
void TransformConstraintPose::setMixShearY(float mixShearY) {
|
||||
this->_mixShearY = mixShearY;
|
||||
}
|
||||
@ -27,14 +27,14 @@
|
||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*****************************************************************************/
|
||||
|
||||
#include <spine/Updatable.h>
|
||||
#include <spine/Update.h>
|
||||
|
||||
using namespace spine;
|
||||
|
||||
RTTI_IMPL_NOPARENT(Updatable)
|
||||
RTTI_IMPL_NOPARENT(Update)
|
||||
|
||||
Updatable::Updatable() {
|
||||
Update::Update() {
|
||||
}
|
||||
|
||||
Updatable::~Updatable() {
|
||||
}
|
||||
Update::~Update() {
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user