mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2026-03-26 22:49:01 +08:00
[cpp] 4.3 porting WIP
This commit is contained in:
parent
fb331a19c0
commit
0f5cc0b766
@ -32,13 +32,16 @@
|
|||||||
|
|
||||||
#include <spine/dll.h>
|
#include <spine/dll.h>
|
||||||
#include <spine/Vector.h>
|
#include <spine/Vector.h>
|
||||||
|
#include <spine/SpineObject.h>
|
||||||
|
#include <spine/RTTI.h>
|
||||||
|
|
||||||
namespace spine {
|
namespace spine {
|
||||||
class ToProperty;
|
class ToProperty;
|
||||||
class BonePose;
|
class BonePose;
|
||||||
|
|
||||||
/// Source property for a TransformConstraint.
|
/// Source property for a TransformConstraint.
|
||||||
class SP_API FromProperty {
|
class SP_API FromProperty : public SpineObject {
|
||||||
|
RTTI_DECL
|
||||||
public:
|
public:
|
||||||
FromProperty();
|
FromProperty();
|
||||||
virtual ~FromProperty();
|
virtual ~FromProperty();
|
||||||
|
|||||||
49
spine-cpp/spine-cpp/include/spine/FromRotate.h
Normal file
49
spine-cpp/spine-cpp/include/spine/FromRotate.h
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
/******************************************************************************
|
||||||
|
* Spine Runtimes License Agreement
|
||||||
|
* Last updated July 28, 2023. Replaces all prior versions.
|
||||||
|
*
|
||||||
|
* Copyright (c) 2013-2023, 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_FROMROTATE_H_
|
||||||
|
#define SPINE_FROMROTATE_H_
|
||||||
|
|
||||||
|
#include <spine/dll.h>
|
||||||
|
#include <spine/FromProperty.h>
|
||||||
|
#include <spine/RTTI.h>
|
||||||
|
|
||||||
|
namespace spine {
|
||||||
|
class BonePose;
|
||||||
|
|
||||||
|
class SP_API FromRotate : public FromProperty {
|
||||||
|
RTTI_DECL
|
||||||
|
public:
|
||||||
|
FromRotate();
|
||||||
|
|
||||||
|
virtual float value(BonePose& source, bool local, Vector<float>& offsets) override;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* SPINE_FROMROTATE_H_ */
|
||||||
49
spine-cpp/spine-cpp/include/spine/FromScaleX.h
Normal file
49
spine-cpp/spine-cpp/include/spine/FromScaleX.h
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
/******************************************************************************
|
||||||
|
* Spine Runtimes License Agreement
|
||||||
|
* Last updated July 28, 2023. Replaces all prior versions.
|
||||||
|
*
|
||||||
|
* Copyright (c) 2013-2023, 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_FROMSCALEX_H_
|
||||||
|
#define SPINE_FROMSCALEX_H_
|
||||||
|
|
||||||
|
#include <spine/dll.h>
|
||||||
|
#include <spine/FromProperty.h>
|
||||||
|
#include <spine/RTTI.h>
|
||||||
|
|
||||||
|
namespace spine {
|
||||||
|
class BonePose;
|
||||||
|
|
||||||
|
class SP_API FromScaleX : public FromProperty {
|
||||||
|
RTTI_DECL
|
||||||
|
public:
|
||||||
|
FromScaleX();
|
||||||
|
|
||||||
|
virtual float value(BonePose& source, bool local, Vector<float>& offsets) override;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* SPINE_FROMSCALEX_H_ */
|
||||||
49
spine-cpp/spine-cpp/include/spine/FromScaleY.h
Normal file
49
spine-cpp/spine-cpp/include/spine/FromScaleY.h
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
/******************************************************************************
|
||||||
|
* Spine Runtimes License Agreement
|
||||||
|
* Last updated July 28, 2023. Replaces all prior versions.
|
||||||
|
*
|
||||||
|
* Copyright (c) 2013-2023, 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_FROMSCALEY_H_
|
||||||
|
#define SPINE_FROMSCALEY_H_
|
||||||
|
|
||||||
|
#include <spine/dll.h>
|
||||||
|
#include <spine/FromProperty.h>
|
||||||
|
#include <spine/RTTI.h>
|
||||||
|
|
||||||
|
namespace spine {
|
||||||
|
class BonePose;
|
||||||
|
|
||||||
|
class SP_API FromScaleY : public FromProperty {
|
||||||
|
RTTI_DECL
|
||||||
|
public:
|
||||||
|
FromScaleY();
|
||||||
|
|
||||||
|
virtual float value(BonePose& source, bool local, Vector<float>& offsets) override;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* SPINE_FROMSCALEY_H_ */
|
||||||
49
spine-cpp/spine-cpp/include/spine/FromShearY.h
Normal file
49
spine-cpp/spine-cpp/include/spine/FromShearY.h
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
/******************************************************************************
|
||||||
|
* Spine Runtimes License Agreement
|
||||||
|
* Last updated July 28, 2023. Replaces all prior versions.
|
||||||
|
*
|
||||||
|
* Copyright (c) 2013-2023, 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_FROMSHEARY_H_
|
||||||
|
#define SPINE_FROMSHEARY_H_
|
||||||
|
|
||||||
|
#include <spine/dll.h>
|
||||||
|
#include <spine/FromProperty.h>
|
||||||
|
#include <spine/RTTI.h>
|
||||||
|
|
||||||
|
namespace spine {
|
||||||
|
class BonePose;
|
||||||
|
|
||||||
|
class SP_API FromShearY : public FromProperty {
|
||||||
|
RTTI_DECL
|
||||||
|
public:
|
||||||
|
FromShearY();
|
||||||
|
|
||||||
|
virtual float value(BonePose& source, bool local, Vector<float>& offsets) override;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* SPINE_FROMSHEARY_H_ */
|
||||||
49
spine-cpp/spine-cpp/include/spine/FromX.h
Normal file
49
spine-cpp/spine-cpp/include/spine/FromX.h
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
/******************************************************************************
|
||||||
|
* Spine Runtimes License Agreement
|
||||||
|
* Last updated July 28, 2023. Replaces all prior versions.
|
||||||
|
*
|
||||||
|
* Copyright (c) 2013-2023, 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_FROMX_H_
|
||||||
|
#define SPINE_FROMX_H_
|
||||||
|
|
||||||
|
#include <spine/dll.h>
|
||||||
|
#include <spine/FromProperty.h>
|
||||||
|
#include <spine/RTTI.h>
|
||||||
|
|
||||||
|
namespace spine {
|
||||||
|
class BonePose;
|
||||||
|
|
||||||
|
class SP_API FromX : public FromProperty {
|
||||||
|
RTTI_DECL
|
||||||
|
public:
|
||||||
|
FromX();
|
||||||
|
|
||||||
|
virtual float value(BonePose& source, bool local, Vector<float>& offsets) override;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* SPINE_FROMX_H_ */
|
||||||
49
spine-cpp/spine-cpp/include/spine/FromY.h
Normal file
49
spine-cpp/spine-cpp/include/spine/FromY.h
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
/******************************************************************************
|
||||||
|
* Spine Runtimes License Agreement
|
||||||
|
* Last updated July 28, 2023. Replaces all prior versions.
|
||||||
|
*
|
||||||
|
* Copyright (c) 2013-2023, 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_FROMY_H_
|
||||||
|
#define SPINE_FROMY_H_
|
||||||
|
|
||||||
|
#include <spine/dll.h>
|
||||||
|
#include <spine/FromProperty.h>
|
||||||
|
#include <spine/RTTI.h>
|
||||||
|
|
||||||
|
namespace spine {
|
||||||
|
class BonePose;
|
||||||
|
|
||||||
|
class SP_API FromY : public FromProperty {
|
||||||
|
RTTI_DECL
|
||||||
|
public:
|
||||||
|
FromY();
|
||||||
|
|
||||||
|
virtual float value(BonePose& source, bool local, Vector<float>& offsets) override;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* SPINE_FROMY_H_ */
|
||||||
@ -52,10 +52,6 @@ namespace spine {
|
|||||||
public:
|
public:
|
||||||
explicit PointAttachment(const String &name);
|
explicit PointAttachment(const String &name);
|
||||||
|
|
||||||
void computeWorldPosition(Bone &bone, float &ox, float &oy);
|
|
||||||
|
|
||||||
float computeWorldRotation(Bone &bone);
|
|
||||||
|
|
||||||
float getX();
|
float getX();
|
||||||
|
|
||||||
void setX(float inValue);
|
void setX(float inValue);
|
||||||
@ -70,6 +66,10 @@ namespace spine {
|
|||||||
|
|
||||||
Color &getColor();
|
Color &getColor();
|
||||||
|
|
||||||
|
void computeWorldPosition(Bone &bone, float &ox, float &oy);
|
||||||
|
|
||||||
|
float computeWorldRotation(Bone &bone);
|
||||||
|
|
||||||
virtual Attachment *copy();
|
virtual Attachment *copy();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|||||||
@ -60,6 +60,12 @@
|
|||||||
#include <spine/EventTimeline.h>
|
#include <spine/EventTimeline.h>
|
||||||
#include <spine/Extension.h>
|
#include <spine/Extension.h>
|
||||||
#include <spine/FromProperty.h>
|
#include <spine/FromProperty.h>
|
||||||
|
#include <spine/FromRotate.h>
|
||||||
|
#include <spine/FromScaleX.h>
|
||||||
|
#include <spine/FromScaleY.h>
|
||||||
|
#include <spine/FromShearY.h>
|
||||||
|
#include <spine/FromX.h>
|
||||||
|
#include <spine/FromY.h>
|
||||||
#include <spine/HasRendererObject.h>
|
#include <spine/HasRendererObject.h>
|
||||||
#include <spine/HashMap.h>
|
#include <spine/HashMap.h>
|
||||||
#include <spine/IkConstraint.h>
|
#include <spine/IkConstraint.h>
|
||||||
|
|||||||
@ -31,7 +31,9 @@
|
|||||||
|
|
||||||
using namespace spine;
|
using namespace spine;
|
||||||
|
|
||||||
FromProperty::FromProperty() : offset(0) {
|
RTTI_IMPL_NOPARENT(FromProperty)
|
||||||
|
|
||||||
|
FromProperty::FromProperty() : SpineObject(), offset(0) {
|
||||||
}
|
}
|
||||||
|
|
||||||
FromProperty::~FromProperty() {
|
FromProperty::~FromProperty() {
|
||||||
|
|||||||
47
spine-cpp/spine-cpp/src/spine/FromRotate.cpp
Normal file
47
spine-cpp/spine-cpp/src/spine/FromRotate.cpp
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
/******************************************************************************
|
||||||
|
* Spine Runtimes License Agreement
|
||||||
|
* Last updated July 28, 2023. Replaces all prior versions.
|
||||||
|
*
|
||||||
|
* Copyright (c) 2013-2023, 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/FromRotate.h>
|
||||||
|
#include <spine/BonePose.h>
|
||||||
|
#include <spine/MathUtil.h>
|
||||||
|
|
||||||
|
using namespace spine;
|
||||||
|
|
||||||
|
RTTI_IMPL(FromRotate, FromProperty)
|
||||||
|
|
||||||
|
FromRotate::FromRotate() : FromProperty() {
|
||||||
|
}
|
||||||
|
|
||||||
|
float FromRotate::value(BonePose& source, bool local, Vector<float>& offsets) {
|
||||||
|
if (local) return source.getRotation() + offsets[0];
|
||||||
|
float value = MathUtil::atan2(source._c, source._a) * MathUtil::Rad_Deg
|
||||||
|
+ (source._a * source._d - source._b * source._c > 0 ? offsets[0] : -offsets[0]);
|
||||||
|
if (value < 0) value += 360;
|
||||||
|
return value;
|
||||||
|
}
|
||||||
43
spine-cpp/spine-cpp/src/spine/FromScaleX.cpp
Normal file
43
spine-cpp/spine-cpp/src/spine/FromScaleX.cpp
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
/******************************************************************************
|
||||||
|
* Spine Runtimes License Agreement
|
||||||
|
* Last updated July 28, 2023. Replaces all prior versions.
|
||||||
|
*
|
||||||
|
* Copyright (c) 2013-2023, 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/FromScaleX.h>
|
||||||
|
#include <spine/BonePose.h>
|
||||||
|
#include <spine/MathUtil.h>
|
||||||
|
|
||||||
|
using namespace spine;
|
||||||
|
|
||||||
|
RTTI_IMPL(FromScaleX, FromProperty)
|
||||||
|
|
||||||
|
FromScaleX::FromScaleX() : FromProperty() {
|
||||||
|
}
|
||||||
|
|
||||||
|
float FromScaleX::value(BonePose& source, bool local, Vector<float>& offsets) {
|
||||||
|
return (local ? source.getScaleX() : MathUtil::sqrt(source._a * source._a + source._c * source._c)) + offsets[3];
|
||||||
|
}
|
||||||
43
spine-cpp/spine-cpp/src/spine/FromScaleY.cpp
Normal file
43
spine-cpp/spine-cpp/src/spine/FromScaleY.cpp
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
/******************************************************************************
|
||||||
|
* Spine Runtimes License Agreement
|
||||||
|
* Last updated July 28, 2023. Replaces all prior versions.
|
||||||
|
*
|
||||||
|
* Copyright (c) 2013-2023, 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/FromScaleY.h>
|
||||||
|
#include <spine/BonePose.h>
|
||||||
|
#include <spine/MathUtil.h>
|
||||||
|
|
||||||
|
using namespace spine;
|
||||||
|
|
||||||
|
RTTI_IMPL(FromScaleY, FromProperty)
|
||||||
|
|
||||||
|
FromScaleY::FromScaleY() : FromProperty() {
|
||||||
|
}
|
||||||
|
|
||||||
|
float FromScaleY::value(BonePose& source, bool local, Vector<float>& offsets) {
|
||||||
|
return (local ? source.getScaleY() : MathUtil::sqrt(source._b * source._b + source._d * source._d)) + offsets[4];
|
||||||
|
}
|
||||||
43
spine-cpp/spine-cpp/src/spine/FromShearY.cpp
Normal file
43
spine-cpp/spine-cpp/src/spine/FromShearY.cpp
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
/******************************************************************************
|
||||||
|
* Spine Runtimes License Agreement
|
||||||
|
* Last updated July 28, 2023. Replaces all prior versions.
|
||||||
|
*
|
||||||
|
* Copyright (c) 2013-2023, 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/FromShearY.h>
|
||||||
|
#include <spine/BonePose.h>
|
||||||
|
#include <spine/MathUtil.h>
|
||||||
|
|
||||||
|
using namespace spine;
|
||||||
|
|
||||||
|
RTTI_IMPL(FromShearY, FromProperty)
|
||||||
|
|
||||||
|
FromShearY::FromShearY() : FromProperty() {
|
||||||
|
}
|
||||||
|
|
||||||
|
float FromShearY::value(BonePose& source, bool local, Vector<float>& offsets) {
|
||||||
|
return (local ? source.getShearY() : (MathUtil::atan2(source._d, source._b) - MathUtil::atan2(source._c, source._a)) * MathUtil::Rad_Deg - 90) + offsets[5];
|
||||||
|
}
|
||||||
42
spine-cpp/spine-cpp/src/spine/FromX.cpp
Normal file
42
spine-cpp/spine-cpp/src/spine/FromX.cpp
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
/******************************************************************************
|
||||||
|
* Spine Runtimes License Agreement
|
||||||
|
* Last updated July 28, 2023. Replaces all prior versions.
|
||||||
|
*
|
||||||
|
* Copyright (c) 2013-2023, 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/FromX.h>
|
||||||
|
#include <spine/BonePose.h>
|
||||||
|
|
||||||
|
using namespace spine;
|
||||||
|
|
||||||
|
RTTI_IMPL(FromX, FromProperty)
|
||||||
|
|
||||||
|
FromX::FromX() : FromProperty() {
|
||||||
|
}
|
||||||
|
|
||||||
|
float FromX::value(BonePose& source, bool local, Vector<float>& offsets) {
|
||||||
|
return local ? source.getX() + offsets[1] : offsets[1] * source._a + offsets[2] * source._b + source._worldX;
|
||||||
|
}
|
||||||
42
spine-cpp/spine-cpp/src/spine/FromY.cpp
Normal file
42
spine-cpp/spine-cpp/src/spine/FromY.cpp
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
/******************************************************************************
|
||||||
|
* Spine Runtimes License Agreement
|
||||||
|
* Last updated July 28, 2023. Replaces all prior versions.
|
||||||
|
*
|
||||||
|
* Copyright (c) 2013-2023, 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/FromY.h>
|
||||||
|
#include <spine/BonePose.h>
|
||||||
|
|
||||||
|
using namespace spine;
|
||||||
|
|
||||||
|
RTTI_IMPL(FromY, FromProperty)
|
||||||
|
|
||||||
|
FromY::FromY() : FromProperty() {
|
||||||
|
}
|
||||||
|
|
||||||
|
float FromY::value(BonePose& source, bool local, Vector<float>& offsets) {
|
||||||
|
return local ? source.getY() + offsets[2] : offsets[1] * source._c + offsets[2] * source._d + source._worldY;
|
||||||
|
}
|
||||||
@ -37,18 +37,7 @@ using namespace spine;
|
|||||||
|
|
||||||
RTTI_IMPL(PointAttachment, Attachment)
|
RTTI_IMPL(PointAttachment, Attachment)
|
||||||
|
|
||||||
PointAttachment::PointAttachment(const String &name) : Attachment(name), _x(0), _y(0), _rotation(0), _color() {
|
PointAttachment::PointAttachment(const String &name) : Attachment(name), _x(0), _y(0), _rotation(0), _color(0.9451f, 0.9451f, 0, 1) {
|
||||||
}
|
|
||||||
|
|
||||||
void PointAttachment::computeWorldPosition(Bone &bone, float &ox, float &oy) {
|
|
||||||
bone.localToWorld(_x, _y, ox, oy);
|
|
||||||
}
|
|
||||||
|
|
||||||
float PointAttachment::computeWorldRotation(Bone &bone) {
|
|
||||||
float r = _rotation * MathUtil::Deg_Rad, cosine = MathUtil::cos(r), sine = MathUtil::sin(r);
|
|
||||||
float x = cosine * bone._a + sine * bone._b;
|
|
||||||
float y = cosine * bone._c + sine * bone._d;
|
|
||||||
return MathUtil::atan2Deg(y, x);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
float PointAttachment::getX() {
|
float PointAttachment::getX() {
|
||||||
@ -79,10 +68,23 @@ Color &PointAttachment::getColor() {
|
|||||||
return _color;
|
return _color;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void PointAttachment::computeWorldPosition(Bone &bone, float &ox, float &oy) {
|
||||||
|
ox = _x * bone._a + _y * bone._b + bone._worldX;
|
||||||
|
oy = _x * bone._c + _y * bone._d + bone._worldY;
|
||||||
|
}
|
||||||
|
|
||||||
|
float PointAttachment::computeWorldRotation(Bone &bone) {
|
||||||
|
float r = _rotation * MathUtil::Deg_Rad, cosine = MathUtil::cos(r), sine = MathUtil::sin(r);
|
||||||
|
float x = cosine * bone._a + sine * bone._b;
|
||||||
|
float y = cosine * bone._c + sine * bone._d;
|
||||||
|
return MathUtil::atan2Deg(y, x);
|
||||||
|
}
|
||||||
|
|
||||||
Attachment *PointAttachment::copy() {
|
Attachment *PointAttachment::copy() {
|
||||||
PointAttachment *copy = new (__FILE__, __LINE__) PointAttachment(getName());
|
PointAttachment *copy = new (__FILE__, __LINE__) PointAttachment(getName());
|
||||||
copy->_x = _x;
|
copy->_x = _x;
|
||||||
copy->_y = _y;
|
copy->_y = _y;
|
||||||
copy->_rotation = _rotation;
|
copy->_rotation = _rotation;
|
||||||
|
copy->_color.set(_color);
|
||||||
return copy;
|
return copy;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user