diff --git a/spine-cpp/include/spine/Animation.h b/spine-cpp/include/spine/Animation.h index 6a0dfc047..362c538a4 100644 --- a/spine-cpp/include/spine/Animation.h +++ b/spine-cpp/include/spine/Animation.h @@ -49,7 +49,7 @@ namespace spine { class AnimationState; /// Stores a list of timelines to animate a skeleton's pose over time. - class Animation : public SpineObject { + class SP_API Animation : public SpineObject { friend class AnimationState; friend class TrackEntry; diff --git a/spine-cpp/include/spine/AnimationState.h b/spine-cpp/include/spine/AnimationState.h index 5049f178c..f3083fd08 100644 --- a/spine-cpp/include/spine/AnimationState.h +++ b/spine-cpp/include/spine/AnimationState.h @@ -78,7 +78,7 @@ namespace spine { #endif /// Abstract class to inherit from to create a callback object - class AnimationStateListenerObject { + class SP_API AnimationStateListenerObject { public: AnimationStateListenerObject() {}; @@ -90,7 +90,7 @@ namespace spine { }; /// State for the playback of an animation - class TrackEntry : public SpineObject, public HasRendererObject { + class SP_API TrackEntry : public SpineObject, public HasRendererObject { friend class EventQueue; friend class AnimationState; @@ -360,7 +360,7 @@ namespace spine { void reset(); }; - class EventQueueEntry : public SpineObject { + class SP_API EventQueueEntry : public SpineObject { friend class EventQueue; public: @@ -371,7 +371,7 @@ namespace spine { EventQueueEntry(EventType eventType, TrackEntry *trackEntry, Event *event = NULL); }; - class EventQueue : public SpineObject { + class SP_API EventQueue : public SpineObject { friend class AnimationState; private: @@ -403,7 +403,7 @@ namespace spine { void drain(); }; - class AnimationState : public SpineObject, public HasRendererObject { + class SP_API AnimationState : public SpineObject, public HasRendererObject { friend class TrackEntry; friend class EventQueue; diff --git a/spine-cpp/include/spine/AnimationStateData.h b/spine-cpp/include/spine/AnimationStateData.h index b846a08ff..54b1d5a71 100644 --- a/spine-cpp/include/spine/AnimationStateData.h +++ b/spine-cpp/include/spine/AnimationStateData.h @@ -42,7 +42,7 @@ namespace spine { class Animation; /// Stores mix (crossfade) durations to be applied when AnimationState animations are changed. - class AnimationStateData : public SpineObject { + class SP_API AnimationStateData : public SpineObject { friend class AnimationState; public: diff --git a/spine-cpp/include/spine/Array.h b/spine-cpp/include/spine/Array.h index fd4f046c4..4f01d3431 100644 --- a/spine-cpp/include/spine/Array.h +++ b/spine-cpp/include/spine/Array.h @@ -37,7 +37,7 @@ namespace spine { template - class Array : public SpineObject { + class SP_API Array : public SpineObject { public: using size_type = size_t; using value_type = T; diff --git a/spine-cpp/include/spine/ArrayUtils.h b/spine-cpp/include/spine/ArrayUtils.h index 6e86a524e..44b4323b1 100644 --- a/spine-cpp/include/spine/ArrayUtils.h +++ b/spine-cpp/include/spine/ArrayUtils.h @@ -39,7 +39,7 @@ #include namespace spine { - class ArrayUtils : public SpineObject { + class SP_API ArrayUtils : public SpineObject { public: /// Finds an item by comparing each item's name. /// It is more efficient to cache the results of this method than to call it multiple times. diff --git a/spine-cpp/include/spine/Atlas.h b/spine-cpp/include/spine/Atlas.h index aab84eb2f..a359b7b3a 100644 --- a/spine-cpp/include/spine/Atlas.h +++ b/spine-cpp/include/spine/Atlas.h @@ -82,7 +82,7 @@ namespace spine { TextureWrap_Repeat }; - class AtlasPage : public SpineObject { + class SP_API AtlasPage : public SpineObject { public: String name; String texturePath; @@ -107,7 +107,7 @@ namespace spine { } }; - class AtlasRegion : public TextureRegion { + class SP_API AtlasRegion : public TextureRegion { friend class Atlas; friend class RegionAttachment; friend class MeshAttachment; @@ -242,7 +242,7 @@ namespace spine { class TextureLoader; - class Atlas : public SpineObject { + class SP_API Atlas : public SpineObject { public: Atlas(const String &path, TextureLoader *textureLoader, bool createTexture = true); diff --git a/spine-cpp/include/spine/AtlasAttachmentLoader.h b/spine-cpp/include/spine/AtlasAttachmentLoader.h index f0a5ec839..ab3f85886 100644 --- a/spine-cpp/include/spine/AtlasAttachmentLoader.h +++ b/spine-cpp/include/spine/AtlasAttachmentLoader.h @@ -44,7 +44,7 @@ namespace spine { /// /// See https://esotericsoftware.com/spine-loading-skeleton-data#JSON-and-binary-data Loading skeleton data in the /// Spine Runtimes Guide. - class AtlasAttachmentLoader : public AttachmentLoader { + class SP_API AtlasAttachmentLoader : public AttachmentLoader { public: explicit AtlasAttachmentLoader(Atlas &atlas); diff --git a/spine-cpp/include/spine/Attachment.h b/spine-cpp/include/spine/Attachment.h index f0a089008..879c7b316 100644 --- a/spine-cpp/include/spine/Attachment.h +++ b/spine-cpp/include/spine/Attachment.h @@ -35,7 +35,7 @@ #include namespace spine { - class Attachment : public SpineObject { + class SP_API Attachment : public SpineObject { RTTI_DECL_NOPARENT public: diff --git a/spine-cpp/include/spine/AttachmentLoader.h b/spine-cpp/include/spine/AttachmentLoader.h index 611fde2f4..ff4ef9632 100644 --- a/spine-cpp/include/spine/AttachmentLoader.h +++ b/spine-cpp/include/spine/AttachmentLoader.h @@ -53,7 +53,7 @@ namespace spine { class Sequence; - class AttachmentLoader : public SpineObject { + class SP_API AttachmentLoader : public SpineObject { public: AttachmentLoader(); diff --git a/spine-cpp/include/spine/AttachmentTimeline.h b/spine-cpp/include/spine/AttachmentTimeline.h index 8d6a42a5a..a32ed73db 100644 --- a/spine-cpp/include/spine/AttachmentTimeline.h +++ b/spine-cpp/include/spine/AttachmentTimeline.h @@ -48,7 +48,7 @@ namespace spine { class Event; - class AttachmentTimeline : public Timeline, public SlotTimeline { + class SP_API AttachmentTimeline : public Timeline, public SlotTimeline { friend class SkeletonBinary; friend class SkeletonJson; diff --git a/spine-cpp/include/spine/Bone.h b/spine-cpp/include/spine/Bone.h index bd439488a..2e3695883 100644 --- a/spine-cpp/include/spine/Bone.h +++ b/spine-cpp/include/spine/Bone.h @@ -43,7 +43,7 @@ namespace spine { /// A bone has a local transform which is used to compute its world transform. A bone also has an applied transform, which is a /// local transform that can be applied to compute the world transform. The local transform and applied transform may differ if a /// constraint or application code modifies the world transform after it was computed from the local transform. - class Bone : public PosedGeneric, public PosedActive, public Update { + class SP_API Bone : public PosedGeneric, public PosedActive, public Update { friend class AnimationState; friend class RotateTimeline; friend class IkConstraint; diff --git a/spine-cpp/include/spine/BoneData.h b/spine-cpp/include/spine/BoneData.h index 1532f238e..c8916b434 100644 --- a/spine-cpp/include/spine/BoneData.h +++ b/spine-cpp/include/spine/BoneData.h @@ -37,7 +37,7 @@ #include namespace spine { - class BoneData : public PosedDataGeneric { + class SP_API BoneData : public PosedDataGeneric { friend class SkeletonBinary; friend class SkeletonJson; diff --git a/spine-cpp/include/spine/BoneLocal.h b/spine-cpp/include/spine/BoneLocal.h index a78cfdee8..d74eda648 100644 --- a/spine-cpp/include/spine/BoneLocal.h +++ b/spine-cpp/include/spine/BoneLocal.h @@ -37,7 +37,7 @@ namespace spine { /// Stores a bone's local pose. - class BoneLocal : public Pose { + class SP_API BoneLocal : public Pose { friend class IkConstraint; friend class BoneTimeline1; friend class BoneTimeline2; diff --git a/spine-cpp/include/spine/BonePose.h b/spine-cpp/include/spine/BonePose.h index daf4d2c34..1f78fab1b 100644 --- a/spine-cpp/include/spine/BonePose.h +++ b/spine-cpp/include/spine/BonePose.h @@ -40,7 +40,7 @@ namespace spine { /// The applied pose for a bone. This is the Bone pose with constraints applied and the world transform computed by /// Skeleton::updateWorldTransform(Physics). - class BonePose : public BoneLocal, public Update { + class SP_API BonePose : public BoneLocal, public Update { friend class IkConstraint; friend class PathConstraint; friend class PhysicsConstraint; diff --git a/spine-cpp/include/spine/BoneTimeline.h b/spine-cpp/include/spine/BoneTimeline.h index adff3e2dc..85ae26e2f 100644 --- a/spine-cpp/include/spine/BoneTimeline.h +++ b/spine-cpp/include/spine/BoneTimeline.h @@ -31,7 +31,7 @@ #define Spine_BoneTimeline_h #include - +#include #include namespace spine { @@ -40,7 +40,7 @@ namespace spine { class BoneLocal; /// An interface for timelines which change the property of a bone. - class BoneTimeline { + class SP_API BoneTimeline { RTTI_DECL_NOPARENT public: @@ -56,7 +56,7 @@ namespace spine { }; /// Base class for timelines that animate a single bone property. - class BoneTimeline1 : public CurveTimeline1, public BoneTimeline { + class SP_API BoneTimeline1 : public CurveTimeline1, public BoneTimeline { friend class SkeletonBinary; friend class SkeletonJson; friend class AnimationState; @@ -85,7 +85,7 @@ namespace spine { }; /// Base class for timelines that animate two bone properties. - class BoneTimeline2 : public CurveTimeline, public BoneTimeline { + class SP_API BoneTimeline2 : public CurveTimeline, public BoneTimeline { friend class SkeletonBinary; friend class SkeletonJson; friend class AnimationState; diff --git a/spine-cpp/include/spine/BoundingBoxAttachment.h b/spine-cpp/include/spine/BoundingBoxAttachment.h index a566cd21b..3ec328430 100644 --- a/spine-cpp/include/spine/BoundingBoxAttachment.h +++ b/spine-cpp/include/spine/BoundingBoxAttachment.h @@ -36,7 +36,7 @@ namespace spine { /// Attachment that has a polygon for bounds checking. - class BoundingBoxAttachment : public VertexAttachment { + class SP_API BoundingBoxAttachment : public VertexAttachment { RTTI_DECL public: diff --git a/spine-cpp/include/spine/ClippingAttachment.h b/spine-cpp/include/spine/ClippingAttachment.h index 206a3f6ae..3e5136178 100644 --- a/spine-cpp/include/spine/ClippingAttachment.h +++ b/spine-cpp/include/spine/ClippingAttachment.h @@ -36,7 +36,7 @@ namespace spine { class SlotData; - class ClippingAttachment : public VertexAttachment { + class SP_API ClippingAttachment : public VertexAttachment { friend class SkeletonBinary; friend class SkeletonJson; diff --git a/spine-cpp/include/spine/Color.h b/spine-cpp/include/spine/Color.h index ae62fafd5..0c670a894 100644 --- a/spine-cpp/include/spine/Color.h +++ b/spine-cpp/include/spine/Color.h @@ -35,7 +35,7 @@ #include namespace spine { - class Color : public SpineObject { + class SP_API Color : public SpineObject { public: Color() : r(0), g(0), b(0), a(0) { } diff --git a/spine-cpp/include/spine/ColorTimeline.h b/spine-cpp/include/spine/ColorTimeline.h index e93fcd4d3..82d55a501 100644 --- a/spine-cpp/include/spine/ColorTimeline.h +++ b/spine-cpp/include/spine/ColorTimeline.h @@ -35,7 +35,7 @@ namespace spine { /// Changes a slot's SlotPose::getColor(). - class RGBATimeline : public SlotCurveTimeline { + class SP_API RGBATimeline : public SlotCurveTimeline { friend class SkeletonBinary; friend class SkeletonJson; @@ -63,7 +63,7 @@ namespace spine { }; /// Changes the RGB for a slot's SlotPose::getColor(). - class RGBTimeline : public SlotCurveTimeline { + class SP_API RGBTimeline : public SlotCurveTimeline { friend class SkeletonBinary; friend class SkeletonJson; @@ -89,7 +89,7 @@ namespace spine { static const int B = 3; }; - class AlphaTimeline : public CurveTimeline1, public SlotTimeline { + class SP_API AlphaTimeline : public CurveTimeline1, public SlotTimeline { friend class SkeletonBinary; friend class SkeletonJson; @@ -113,7 +113,7 @@ namespace spine { }; /// Changes a slot's SlotPose::getColor() and SlotPose::getDarkColor() for two color tinting. - class RGBA2Timeline : public SlotCurveTimeline { + class SP_API RGBA2Timeline : public SlotCurveTimeline { friend class SkeletonBinary; friend class SkeletonJson; @@ -144,7 +144,7 @@ namespace spine { }; /// Changes the RGB for a slot's SlotPose::getColor() and SlotPose::getDarkColor() for two color tinting. - class RGB2Timeline : public SlotCurveTimeline { + class SP_API RGB2Timeline : public SlotCurveTimeline { friend class SkeletonBinary; friend class SkeletonJson; diff --git a/spine-cpp/include/spine/Constraint.h b/spine-cpp/include/spine/Constraint.h index b4b05e786..8bab0ecc9 100644 --- a/spine-cpp/include/spine/Constraint.h +++ b/spine-cpp/include/spine/Constraint.h @@ -39,7 +39,7 @@ namespace spine { class Skeleton; - class Constraint : public Update { + class SP_API Constraint : public Update { friend class Skeleton; public: diff --git a/spine-cpp/include/spine/ConstraintData.h b/spine-cpp/include/spine/ConstraintData.h index aec0ebad5..687f95340 100644 --- a/spine-cpp/include/spine/ConstraintData.h +++ b/spine-cpp/include/spine/ConstraintData.h @@ -39,7 +39,7 @@ namespace spine { class Skeleton; class Constraint; - class ConstraintData : public SpineObject { + class SP_API ConstraintData : public SpineObject { RTTI_DECL_NOPARENT friend class Skeleton; friend class Constraint; diff --git a/spine-cpp/include/spine/ConstraintTimeline.h b/spine-cpp/include/spine/ConstraintTimeline.h index c533f1152..95fa7997f 100644 --- a/spine-cpp/include/spine/ConstraintTimeline.h +++ b/spine-cpp/include/spine/ConstraintTimeline.h @@ -30,12 +30,12 @@ #ifndef Spine_ConstraintTimeline_h #define Spine_ConstraintTimeline_h - +#include #include namespace spine { /// An interface for timelines which change the property of a constraint. - class ConstraintTimeline { + class SP_API ConstraintTimeline { RTTI_DECL_NOPARENT public: diff --git a/spine-cpp/include/spine/ConstraintTimeline1.h b/spine-cpp/include/spine/ConstraintTimeline1.h index 9369bb906..d556a7105 100644 --- a/spine-cpp/include/spine/ConstraintTimeline1.h +++ b/spine-cpp/include/spine/ConstraintTimeline1.h @@ -36,7 +36,7 @@ namespace spine { /// Base class for single-value constraint timelines. - class ConstraintTimeline1 : public CurveTimeline1, public ConstraintTimeline { + class SP_API ConstraintTimeline1 : public CurveTimeline1, public ConstraintTimeline { RTTI_DECL public: diff --git a/spine-cpp/include/spine/CurveTimeline.h b/spine-cpp/include/spine/CurveTimeline.h index 503744071..e1a03bb2e 100644 --- a/spine-cpp/include/spine/CurveTimeline.h +++ b/spine-cpp/include/spine/CurveTimeline.h @@ -35,7 +35,7 @@ namespace spine { /// Base class for frames that use an interpolation bezier curve. - class CurveTimeline : public Timeline { + class SP_API CurveTimeline : public Timeline { RTTI_DECL public: @@ -64,7 +64,7 @@ namespace spine { }; /// The base class for a CurveTimeline that sets one property. - class CurveTimeline1 : public CurveTimeline { + class SP_API CurveTimeline1 : public CurveTimeline { RTTI_DECL public: diff --git a/spine-cpp/include/spine/Debug.h b/spine-cpp/include/spine/Debug.h index c1a90f98e..b3a3227b6 100644 --- a/spine-cpp/include/spine/Debug.h +++ b/spine-cpp/include/spine/Debug.h @@ -48,7 +48,7 @@ namespace spine { class DebugEntry; public: - class DebugPair { + class SP_API DebugPair { public: explicit DebugPair(K &k, V &v) : key(k), value(v) { } @@ -57,7 +57,7 @@ namespace spine { V &value; }; - class DebugEntries { + class SP_API DebugEntries { public: friend class DebugHashMap; @@ -183,7 +183,7 @@ namespace spine { return NULL; } - class DebugEntry { + class SP_API DebugEntry { public: K _key; V _value; @@ -199,7 +199,7 @@ namespace spine { }; #endif// SPINE_NO_CPP_RT - class DebugExtension : public SpineExtension { + class SP_API DebugExtension : public SpineExtension { struct Allocation { void *address; size_t size; diff --git a/spine-cpp/include/spine/DeformTimeline.h b/spine-cpp/include/spine/DeformTimeline.h index 0ba93055a..d6698e86f 100644 --- a/spine-cpp/include/spine/DeformTimeline.h +++ b/spine-cpp/include/spine/DeformTimeline.h @@ -36,7 +36,7 @@ namespace spine { class VertexAttachment; /// Changes a slot's SlotPose::getDeform() to deform a VertexAttachment. - class DeformTimeline : public SlotCurveTimeline { + class SP_API DeformTimeline : public SlotCurveTimeline { friend class SkeletonBinary; friend class SkeletonJson; diff --git a/spine-cpp/include/spine/DrawOrderTimeline.h b/spine-cpp/include/spine/DrawOrderTimeline.h index 514d47ee8..e3fe95c9d 100644 --- a/spine-cpp/include/spine/DrawOrderTimeline.h +++ b/spine-cpp/include/spine/DrawOrderTimeline.h @@ -34,7 +34,7 @@ namespace spine { /// Changes a skeleton's Skeleton::getDrawOrder(). - class DrawOrderTimeline : public Timeline { + class SP_API DrawOrderTimeline : public Timeline { friend class SkeletonBinary; friend class SkeletonJson; diff --git a/spine-cpp/include/spine/Event.h b/spine-cpp/include/spine/Event.h index 9efa4728b..3e749b91d 100644 --- a/spine-cpp/include/spine/Event.h +++ b/spine-cpp/include/spine/Event.h @@ -40,7 +40,7 @@ namespace spine { /// /// See Timeline::apply(), AnimationStateListener::event(), and /// @see https://esotericsoftware.com/spine-events Events in the Spine User Guide. - class Event : public SpineObject { + class SP_API Event : public SpineObject { friend class SkeletonBinary; friend class SkeletonJson; diff --git a/spine-cpp/include/spine/EventData.h b/spine-cpp/include/spine/EventData.h index 925fe755e..6a8c612dd 100644 --- a/spine-cpp/include/spine/EventData.h +++ b/spine-cpp/include/spine/EventData.h @@ -35,7 +35,7 @@ namespace spine { /// Stores the setup pose values for an Event. - class EventData : public SpineObject { + class SP_API EventData : public SpineObject { friend class SkeletonBinary; friend class SkeletonJson; diff --git a/spine-cpp/include/spine/EventTimeline.h b/spine-cpp/include/spine/EventTimeline.h index 2ba206dd5..1ef07dc41 100644 --- a/spine-cpp/include/spine/EventTimeline.h +++ b/spine-cpp/include/spine/EventTimeline.h @@ -34,7 +34,7 @@ namespace spine { /// Fires an Event when specific animation times are reached. - class EventTimeline : public Timeline { + class SP_API EventTimeline : public Timeline { friend class SkeletonBinary; friend class SkeletonJson; diff --git a/spine-cpp/include/spine/Extension.h b/spine-cpp/include/spine/Extension.h index fa3822757..e3d0d6f34 100644 --- a/spine-cpp/include/spine/Extension.h +++ b/spine-cpp/include/spine/Extension.h @@ -33,14 +33,14 @@ #include #include - +#include #define SP_UNUSED(x) (void) (x) namespace spine { class String; - class SpineExtension { + class SP_API SpineExtension { public: template static T *alloc(size_t num, const char *file, int line) { @@ -108,7 +108,7 @@ namespace spine { static SpineExtension *_instance; }; - class DefaultSpineExtension : public SpineExtension { + class SP_API DefaultSpineExtension : public SpineExtension { public: DefaultSpineExtension(); diff --git a/spine-cpp/include/spine/HasRendererObject.h b/spine-cpp/include/spine/HasRendererObject.h index 5f10a3d57..55e038c5f 100644 --- a/spine-cpp/include/spine/HasRendererObject.h +++ b/spine-cpp/include/spine/HasRendererObject.h @@ -30,13 +30,13 @@ #ifndef Spine_HasRendererObject_h #define Spine_HasRendererObject_h - +#include namespace spine { typedef void (*DisposeRendererObject)(void *rendererObject); - class HasRendererObject { + class SP_API HasRendererObject { public: explicit HasRendererObject() : _rendererObject(0), _dispose(0) {}; diff --git a/spine-cpp/include/spine/HashMap.h b/spine-cpp/include/spine/HashMap.h index 5653d4d50..6bcbe49af 100644 --- a/spine-cpp/include/spine/HashMap.h +++ b/spine-cpp/include/spine/HashMap.h @@ -183,7 +183,7 @@ namespace spine { return NULL; } - class Entry : public SpineObject { + class SP_API Entry : public SpineObject { public: K _key; V _value; diff --git a/spine-cpp/include/spine/IkConstraint.h b/spine-cpp/include/spine/IkConstraint.h index ac4c9656d..304106e24 100644 --- a/spine-cpp/include/spine/IkConstraint.h +++ b/spine-cpp/include/spine/IkConstraint.h @@ -41,7 +41,7 @@ namespace spine { class Bone; class BonePose; - class IkConstraint : public ConstraintGeneric { + class SP_API IkConstraint : public ConstraintGeneric { friend class Skeleton; friend class IkConstraintTimeline; diff --git a/spine-cpp/include/spine/IkConstraintData.h b/spine-cpp/include/spine/IkConstraintData.h index ed9401d65..eb15d32ea 100644 --- a/spine-cpp/include/spine/IkConstraintData.h +++ b/spine-cpp/include/spine/IkConstraintData.h @@ -41,7 +41,7 @@ namespace spine { class BoneData; class IkConstraint; - class IkConstraintData : public ConstraintDataGeneric { + class SP_API IkConstraintData : public ConstraintDataGeneric { friend class SkeletonBinary; friend class SkeletonJson; diff --git a/spine-cpp/include/spine/IkConstraintPose.h b/spine-cpp/include/spine/IkConstraintPose.h index d5027f082..cc25abc35 100644 --- a/spine-cpp/include/spine/IkConstraintPose.h +++ b/spine-cpp/include/spine/IkConstraintPose.h @@ -36,7 +36,7 @@ namespace spine { /// Stores the current pose for an IK constraint. - class IkConstraintPose : public Pose { + class SP_API IkConstraintPose : public Pose { friend class IkConstraint; friend class IkConstraintTimeline; friend class SkeletonJson; diff --git a/spine-cpp/include/spine/IkConstraintTimeline.h b/spine-cpp/include/spine/IkConstraintTimeline.h index f007e9faa..4dbf789c9 100644 --- a/spine-cpp/include/spine/IkConstraintTimeline.h +++ b/spine-cpp/include/spine/IkConstraintTimeline.h @@ -37,7 +37,7 @@ namespace spine { /// Changes an IK constraint's IkConstraintPose::getMix(), IkConstraintPose::getSoftness(), /// IkConstraintPose::getBendDirection(), IkConstraintPose::getStretch(), and IkConstraintPose::getCompress(). - class IkConstraintTimeline : public CurveTimeline, public ConstraintTimeline { + class SP_API IkConstraintTimeline : public CurveTimeline, public ConstraintTimeline { friend class SkeletonBinary; friend class SkeletonJson; diff --git a/spine-cpp/include/spine/InheritTimeline.h b/spine-cpp/include/spine/InheritTimeline.h index bd915653b..7aa970720 100644 --- a/spine-cpp/include/spine/InheritTimeline.h +++ b/spine-cpp/include/spine/InheritTimeline.h @@ -39,7 +39,7 @@ namespace spine { /// Changes a bone's BoneLocal::getInherit(). - class InheritTimeline : public Timeline, public BoneTimeline { + class SP_API InheritTimeline : public Timeline, public BoneTimeline { friend class SkeletonBinary; friend class SkeletonJson; diff --git a/spine-cpp/include/spine/Json.h b/spine-cpp/include/spine/Json.h index 4bf1a41c2..b7683f16d 100644 --- a/spine-cpp/include/spine/Json.h +++ b/spine-cpp/include/spine/Json.h @@ -39,7 +39,7 @@ #endif namespace spine { - class Json : public SpineObject { + class SP_API Json : public SpineObject { friend class SkeletonJson; public: diff --git a/spine-cpp/include/spine/LinkedMesh.h b/spine-cpp/include/spine/LinkedMesh.h index c411c3af1..75ec16185 100644 --- a/spine-cpp/include/spine/LinkedMesh.h +++ b/spine-cpp/include/spine/LinkedMesh.h @@ -36,7 +36,7 @@ namespace spine { class MeshAttachment; - class LinkedMesh : public SpineObject { + class SP_API LinkedMesh : public SpineObject { friend class SkeletonBinary; friend class SkeletonJson; diff --git a/spine-cpp/include/spine/MathUtil.h b/spine-cpp/include/spine/MathUtil.h index b07f4b6fc..96e257dcd 100644 --- a/spine-cpp/include/spine/MathUtil.h +++ b/spine-cpp/include/spine/MathUtil.h @@ -39,7 +39,7 @@ namespace spine { - class MathUtil : public SpineObject { + class SP_API MathUtil : public SpineObject { private: MathUtil(); diff --git a/spine-cpp/include/spine/MeshAttachment.h b/spine-cpp/include/spine/MeshAttachment.h index 3519043fe..29ee64799 100644 --- a/spine-cpp/include/spine/MeshAttachment.h +++ b/spine-cpp/include/spine/MeshAttachment.h @@ -39,7 +39,7 @@ namespace spine { /// Attachment that displays a texture region using a mesh. - class MeshAttachment : public VertexAttachment { + class SP_API MeshAttachment : public VertexAttachment { friend class SkeletonBinary; friend class SkeletonJson; diff --git a/spine-cpp/include/spine/PathAttachment.h b/spine-cpp/include/spine/PathAttachment.h index 7fefc6ea9..f0ebbcc1d 100644 --- a/spine-cpp/include/spine/PathAttachment.h +++ b/spine-cpp/include/spine/PathAttachment.h @@ -34,7 +34,7 @@ #include namespace spine { - class PathAttachment : public VertexAttachment { + class SP_API PathAttachment : public VertexAttachment { friend class SkeletonBinary; friend class SkeletonJson; diff --git a/spine-cpp/include/spine/PathConstraint.h b/spine-cpp/include/spine/PathConstraint.h index f6f379907..41cb36b1a 100644 --- a/spine-cpp/include/spine/PathConstraint.h +++ b/spine-cpp/include/spine/PathConstraint.h @@ -49,7 +49,7 @@ namespace spine { /// constrained bones so they follow a PathAttachment. /// /// See https://esotericsoftware.com/spine-path-constraints Path constraints in the Spine User Guide. - class PathConstraint : public ConstraintGeneric { + class SP_API PathConstraint : public ConstraintGeneric { friend class Skeleton; friend class PathConstraintMixTimeline; friend class PathConstraintPositionTimeline; diff --git a/spine-cpp/include/spine/PathConstraintData.h b/spine-cpp/include/spine/PathConstraintData.h index 8ca2fc530..008c4bf47 100644 --- a/spine-cpp/include/spine/PathConstraintData.h +++ b/spine-cpp/include/spine/PathConstraintData.h @@ -34,7 +34,7 @@ #include #include #include - +#include #include #include #include @@ -48,7 +48,7 @@ namespace spine { /// Stores the setup pose for a PathConstraint. /// /// See https://esotericsoftware.com/spine-path-constraints Path constraints in the Spine User Guide. - class PathConstraintData : public ConstraintDataGeneric { + class SP_API PathConstraintData : public ConstraintDataGeneric { friend class SkeletonBinary; friend class SkeletonJson; diff --git a/spine-cpp/include/spine/PathConstraintMixTimeline.h b/spine-cpp/include/spine/PathConstraintMixTimeline.h index 892db3dcb..44fdf8fcd 100644 --- a/spine-cpp/include/spine/PathConstraintMixTimeline.h +++ b/spine-cpp/include/spine/PathConstraintMixTimeline.h @@ -37,7 +37,7 @@ namespace spine { /// Changes a path constraint's PathConstraintPose::getMixRotate(), PathConstraintPose::getMixX(), and /// PathConstraintPose::getMixY(). - class PathConstraintMixTimeline : public CurveTimeline, public ConstraintTimeline { + class SP_API PathConstraintMixTimeline : public CurveTimeline, public ConstraintTimeline { friend class SkeletonBinary; friend class SkeletonJson; diff --git a/spine-cpp/include/spine/PathConstraintPose.h b/spine-cpp/include/spine/PathConstraintPose.h index fdc751b0d..7ced81989 100644 --- a/spine-cpp/include/spine/PathConstraintPose.h +++ b/spine-cpp/include/spine/PathConstraintPose.h @@ -35,7 +35,7 @@ namespace spine { /// Stores a pose for a path constraint. - class PathConstraintPose : public Pose { + class SP_API PathConstraintPose : public Pose { friend class PathConstraint; friend class PathConstraintPositionTimeline; friend class PathConstraintSpacingTimeline; diff --git a/spine-cpp/include/spine/PathConstraintPositionTimeline.h b/spine-cpp/include/spine/PathConstraintPositionTimeline.h index 057ac00dd..2ddd67bcd 100644 --- a/spine-cpp/include/spine/PathConstraintPositionTimeline.h +++ b/spine-cpp/include/spine/PathConstraintPositionTimeline.h @@ -35,7 +35,7 @@ namespace spine { /// Changes a path constraint's PathConstraintPose::getPosition(). - class PathConstraintPositionTimeline : public ConstraintTimeline1 { + class SP_API PathConstraintPositionTimeline : public ConstraintTimeline1 { friend class SkeletonBinary; friend class SkeletonJson; diff --git a/spine-cpp/include/spine/PathConstraintSpacingTimeline.h b/spine-cpp/include/spine/PathConstraintSpacingTimeline.h index 2e0ef20ad..443f07380 100644 --- a/spine-cpp/include/spine/PathConstraintSpacingTimeline.h +++ b/spine-cpp/include/spine/PathConstraintSpacingTimeline.h @@ -34,7 +34,7 @@ namespace spine { /// Changes a path constraint's PathConstraintPose::getSpacing(). - class PathConstraintSpacingTimeline : public ConstraintTimeline1 { + class SP_API PathConstraintSpacingTimeline : public ConstraintTimeline1 { friend class SkeletonBinary; friend class SkeletonJson; diff --git a/spine-cpp/include/spine/PhysicsConstraint.h b/spine-cpp/include/spine/PhysicsConstraint.h index c24b3a3c2..121a4148b 100644 --- a/spine-cpp/include/spine/PhysicsConstraint.h +++ b/spine-cpp/include/spine/PhysicsConstraint.h @@ -44,7 +44,7 @@ namespace spine { /// Stores the current pose for a physics constraint. A physics constraint applies physics to bones. /// /// See https://esotericsoftware.com/spine-physics-constraints Physics constraints in the Spine User Guide. - class PhysicsConstraint : public ConstraintGeneric { + class SP_API PhysicsConstraint : public ConstraintGeneric { friend class Skeleton; friend class PhysicsConstraintTimeline; friend class PhysicsConstraintInertiaTimeline; diff --git a/spine-cpp/include/spine/PhysicsConstraintData.h b/spine-cpp/include/spine/PhysicsConstraintData.h index 47ee61f47..33f3bf827 100644 --- a/spine-cpp/include/spine/PhysicsConstraintData.h +++ b/spine-cpp/include/spine/PhysicsConstraintData.h @@ -41,7 +41,7 @@ namespace spine { /// Stores the setup pose for a PhysicsConstraint. /// /// See https://esotericsoftware.com/spine-physics-constraints Physics constraints in the Spine User Guide. - class PhysicsConstraintData : public ConstraintDataGeneric { + class SP_API PhysicsConstraintData : public ConstraintDataGeneric { friend class SkeletonBinary; friend class SkeletonJson; friend class PhysicsConstraint; diff --git a/spine-cpp/include/spine/PhysicsConstraintPose.h b/spine-cpp/include/spine/PhysicsConstraintPose.h index 1d62757f8..330179f0b 100644 --- a/spine-cpp/include/spine/PhysicsConstraintPose.h +++ b/spine-cpp/include/spine/PhysicsConstraintPose.h @@ -35,7 +35,7 @@ namespace spine { /// Stores a pose for a physics constraint. - class PhysicsConstraintPose : public Pose { + class SP_API PhysicsConstraintPose : public Pose { friend class PhysicsConstraint; friend class PhysicsConstraintTimeline; friend class SkeletonJson; diff --git a/spine-cpp/include/spine/PhysicsConstraintTimeline.h b/spine-cpp/include/spine/PhysicsConstraintTimeline.h index 9303b8ee4..2eb7ea4f4 100644 --- a/spine-cpp/include/spine/PhysicsConstraintTimeline.h +++ b/spine-cpp/include/spine/PhysicsConstraintTimeline.h @@ -39,7 +39,7 @@ namespace spine { /// The base class for most PhysicsConstraint timelines. - class PhysicsConstraintTimeline : public CurveTimeline1, public ConstraintTimeline { + class SP_API PhysicsConstraintTimeline : public CurveTimeline1, public ConstraintTimeline { friend class SkeletonBinary; friend class SkeletonJson; @@ -70,7 +70,7 @@ namespace spine { }; /// Changes a physics constraint's PhysicsConstraintPose::getInertia(). - class PhysicsConstraintInertiaTimeline : public PhysicsConstraintTimeline { + class SP_API PhysicsConstraintInertiaTimeline : public PhysicsConstraintTimeline { friend class SkeletonBinary; friend class SkeletonJson; @@ -96,7 +96,7 @@ namespace spine { }; /// Changes a physics constraint's PhysicsConstraintPose::getStrength(). - class PhysicsConstraintStrengthTimeline : public PhysicsConstraintTimeline { + class SP_API PhysicsConstraintStrengthTimeline : public PhysicsConstraintTimeline { friend class SkeletonBinary; friend class SkeletonJson; @@ -122,7 +122,7 @@ namespace spine { }; /// Changes a physics constraint's PhysicsConstraintPose::getDamping(). - class PhysicsConstraintDampingTimeline : public PhysicsConstraintTimeline { + class SP_API PhysicsConstraintDampingTimeline : public PhysicsConstraintTimeline { friend class SkeletonBinary; friend class SkeletonJson; @@ -149,7 +149,7 @@ namespace spine { /// Changes a physics constraint's PhysicsConstraintPose::getMassInverse(). The /// timeline values are not inverted. - class PhysicsConstraintMassTimeline : public PhysicsConstraintTimeline { + class SP_API PhysicsConstraintMassTimeline : public PhysicsConstraintTimeline { friend class SkeletonBinary; friend class SkeletonJson; @@ -175,7 +175,7 @@ namespace spine { }; /// Changes a physics constraint's PhysicsConstraintPose::getWind(). - class PhysicsConstraintWindTimeline : public PhysicsConstraintTimeline { + class SP_API PhysicsConstraintWindTimeline : public PhysicsConstraintTimeline { friend class SkeletonBinary; friend class SkeletonJson; @@ -201,7 +201,7 @@ namespace spine { }; /// Changes a physics constraint's PhysicsConstraintPose::getGravity(). - class PhysicsConstraintGravityTimeline : public PhysicsConstraintTimeline { + class SP_API PhysicsConstraintGravityTimeline : public PhysicsConstraintTimeline { friend class SkeletonBinary; friend class SkeletonJson; @@ -227,7 +227,7 @@ namespace spine { }; /// Changes a physics constraint's PhysicsConstraintPose::getMix(). - class PhysicsConstraintMixTimeline : public PhysicsConstraintTimeline { + class SP_API PhysicsConstraintMixTimeline : public PhysicsConstraintTimeline { friend class SkeletonBinary; friend class SkeletonJson; @@ -253,7 +253,7 @@ namespace spine { }; /// Resets a physics constraint when specific animation times are reached. - class PhysicsConstraintResetTimeline : public Timeline, public ConstraintTimeline { + class SP_API PhysicsConstraintResetTimeline : public Timeline, public ConstraintTimeline { friend class SkeletonBinary; friend class SkeletonJson; diff --git a/spine-cpp/include/spine/PointAttachment.h b/spine-cpp/include/spine/PointAttachment.h index 884c5f70a..5e162b487 100644 --- a/spine-cpp/include/spine/PointAttachment.h +++ b/spine-cpp/include/spine/PointAttachment.h @@ -43,7 +43,7 @@ namespace spine { /// /// See https://esotericsoftware.com/spine-points for Point Attachments in the Spine User Guide. /// - class PointAttachment : public Attachment { + class SP_API PointAttachment : public Attachment { friend class SkeletonBinary; friend class SkeletonJson; diff --git a/spine-cpp/include/spine/Pool.h b/spine-cpp/include/spine/Pool.h index 5fe91be15..53d095191 100644 --- a/spine-cpp/include/spine/Pool.h +++ b/spine-cpp/include/spine/Pool.h @@ -37,7 +37,7 @@ namespace spine { template - class Pool : public SpineObject { + class SP_API Pool : public SpineObject { public: Pool() { } diff --git a/spine-cpp/include/spine/Pose.h b/spine-cpp/include/spine/Pose.h index fd80f829a..30f1e2477 100644 --- a/spine-cpp/include/spine/Pose.h +++ b/spine-cpp/include/spine/Pose.h @@ -34,7 +34,7 @@ namespace spine { template - class Pose : public SpineObject { + class SP_API Pose : public SpineObject { public: Pose() {}; virtual ~Pose() {}; diff --git a/spine-cpp/include/spine/Posed.h b/spine-cpp/include/spine/Posed.h index 8c5e39b40..ad813b061 100644 --- a/spine-cpp/include/spine/Posed.h +++ b/spine-cpp/include/spine/Posed.h @@ -33,7 +33,7 @@ #include namespace spine { - class Posed { + class SP_API Posed { public: Posed() { } diff --git a/spine-cpp/include/spine/PosedActive.h b/spine-cpp/include/spine/PosedActive.h index 720fad14e..02bdef531 100644 --- a/spine-cpp/include/spine/PosedActive.h +++ b/spine-cpp/include/spine/PosedActive.h @@ -30,11 +30,11 @@ #ifndef Spine_PosedActive_h #define Spine_PosedActive_h - +#include namespace spine { /// Simple mixin class that adds active state tracking - class PosedActive { + class SP_API PosedActive { protected: bool _active; diff --git a/spine-cpp/include/spine/PosedData.h b/spine-cpp/include/spine/PosedData.h index 2a4f152af..1b765c46a 100644 --- a/spine-cpp/include/spine/PosedData.h +++ b/spine-cpp/include/spine/PosedData.h @@ -37,7 +37,7 @@ namespace spine { template class Pose; - class PosedData : public SpineObject { + class SP_API PosedData : public SpineObject { friend class SkeletonBinary; friend class SkeletonJson; friend class BoneTimeline1; diff --git a/spine-cpp/include/spine/RTTI.h b/spine-cpp/include/spine/RTTI.h index 5de8c3561..43cdbe5ec 100644 --- a/spine-cpp/include/spine/RTTI.h +++ b/spine-cpp/include/spine/RTTI.h @@ -30,10 +30,10 @@ #ifndef Spine_RTTI_h #define Spine_RTTI_h - +#include namespace spine { - class RTTI { + class SP_API RTTI { public: explicit RTTI(const char *className); diff --git a/spine-cpp/include/spine/RegionAttachment.h b/spine-cpp/include/spine/RegionAttachment.h index 922e1d982..af5820e4b 100644 --- a/spine-cpp/include/spine/RegionAttachment.h +++ b/spine-cpp/include/spine/RegionAttachment.h @@ -43,7 +43,7 @@ namespace spine { class Slot; /// Attachment that displays a texture region. - class RegionAttachment : public Attachment { + class SP_API RegionAttachment : public Attachment { friend class SkeletonBinary; friend class SkeletonJson; diff --git a/spine-cpp/include/spine/RotateTimeline.h b/spine-cpp/include/spine/RotateTimeline.h index 55eb2d8f3..84de7e99f 100644 --- a/spine-cpp/include/spine/RotateTimeline.h +++ b/spine-cpp/include/spine/RotateTimeline.h @@ -34,7 +34,7 @@ namespace spine { /// Changes a bone's local rotation. - class RotateTimeline : public BoneTimeline1 { + class SP_API RotateTimeline : public BoneTimeline1 { friend class SkeletonBinary; friend class SkeletonJson; diff --git a/spine-cpp/include/spine/ScaleTimeline.h b/spine-cpp/include/spine/ScaleTimeline.h index 85232f1f7..759bf94d6 100644 --- a/spine-cpp/include/spine/ScaleTimeline.h +++ b/spine-cpp/include/spine/ScaleTimeline.h @@ -34,7 +34,7 @@ namespace spine { /// Changes a bone's local BoneLocal::getScaleX() and BoneLocal::getScaleY(). - class ScaleTimeline : public BoneTimeline2 { + class SP_API ScaleTimeline : public BoneTimeline2 { friend class SkeletonBinary; friend class SkeletonJson; @@ -49,7 +49,7 @@ namespace spine { }; /// Changes a bone's local BoneLocal::getScaleX(). - class ScaleXTimeline : public BoneTimeline1 { + class SP_API ScaleXTimeline : public BoneTimeline1 { friend class SkeletonBinary; friend class SkeletonJson; @@ -64,7 +64,7 @@ namespace spine { }; /// Changes a bone's local BoneLocal::getScaleY(). - class ScaleYTimeline : public BoneTimeline1 { + class SP_API ScaleYTimeline : public BoneTimeline1 { friend class SkeletonBinary; friend class SkeletonJson; diff --git a/spine-cpp/include/spine/Sequence.h b/spine-cpp/include/spine/Sequence.h index c3ec021bc..6b4554edd 100644 --- a/spine-cpp/include/spine/Sequence.h +++ b/spine-cpp/include/spine/Sequence.h @@ -42,7 +42,7 @@ namespace spine { class SkeletonBinary; class SkeletonJson; - class Sequence : public SpineObject { + class SP_API Sequence : public SpineObject { friend class SkeletonBinary; friend class SkeletonJson; diff --git a/spine-cpp/include/spine/SequenceTimeline.h b/spine-cpp/include/spine/SequenceTimeline.h index 36a078a5a..f5e2f7bd9 100644 --- a/spine-cpp/include/spine/SequenceTimeline.h +++ b/spine-cpp/include/spine/SequenceTimeline.h @@ -39,7 +39,7 @@ namespace spine { class HasTextureRegion; /// Changes a slot's SlotPose::getSequenceIndex() for an attachment's Sequence. - class SequenceTimeline : public Timeline, public SlotTimeline { + class SP_API SequenceTimeline : public Timeline, public SlotTimeline { friend class SkeletonBinary; friend class SkeletonJson; diff --git a/spine-cpp/include/spine/ShearTimeline.h b/spine-cpp/include/spine/ShearTimeline.h index 71a164756..b04af3e94 100644 --- a/spine-cpp/include/spine/ShearTimeline.h +++ b/spine-cpp/include/spine/ShearTimeline.h @@ -34,7 +34,7 @@ namespace spine { /// Changes a bone's local BoneLocal::getShearX() and BoneLocal::getShearY(). - class ShearTimeline : public BoneTimeline2 { + class SP_API ShearTimeline : public BoneTimeline2 { friend class SkeletonBinary; friend class SkeletonJson; @@ -49,7 +49,7 @@ namespace spine { }; /// Changes a bone's local BoneLocal::getShearX(). - class ShearXTimeline : public BoneTimeline1 { + class SP_API ShearXTimeline : public BoneTimeline1 { friend class SkeletonBinary; friend class SkeletonJson; @@ -64,7 +64,7 @@ namespace spine { }; /// Changes a bone's local BoneLocal::getShearY(). - class ShearYTimeline : public BoneTimeline1 { + class SP_API ShearYTimeline : public BoneTimeline1 { friend class SkeletonBinary; friend class SkeletonJson; diff --git a/spine-cpp/include/spine/Skeleton.h b/spine-cpp/include/spine/Skeleton.h index dd72b1211..dcd8f67e2 100644 --- a/spine-cpp/include/spine/Skeleton.h +++ b/spine-cpp/include/spine/Skeleton.h @@ -65,7 +65,7 @@ namespace spine { class SkeletonClipping; - class Skeleton : public SpineObject { + class SP_API Skeleton : public SpineObject { friend class AnimationState; friend class SkeletonBounds; diff --git a/spine-cpp/include/spine/SkeletonBinary.h b/spine-cpp/include/spine/SkeletonBinary.h index d251a588c..a6179744f 100644 --- a/spine-cpp/include/spine/SkeletonBinary.h +++ b/spine-cpp/include/spine/SkeletonBinary.h @@ -65,7 +65,7 @@ namespace spine { class Sequence; - class SkeletonBinary : public SpineObject { + class SP_API SkeletonBinary : public SpineObject { public: static const int BONE_ROTATE = 0; static const int BONE_TRANSLATE = 1; diff --git a/spine-cpp/include/spine/SkeletonBounds.h b/spine-cpp/include/spine/SkeletonBounds.h index 25c039d6f..2593410f4 100644 --- a/spine-cpp/include/spine/SkeletonBounds.h +++ b/spine-cpp/include/spine/SkeletonBounds.h @@ -43,7 +43,7 @@ namespace spine { /// Collects each BoundingBoxAttachment that is visible and computes the world vertices for its polygon. /// The polygon vertices are provided along with convenience methods for doing hit detection. - class SkeletonBounds : public SpineObject { + class SP_API SkeletonBounds : public SpineObject { public: SkeletonBounds(); diff --git a/spine-cpp/include/spine/SkeletonClipping.h b/spine-cpp/include/spine/SkeletonClipping.h index ffadd9a57..c9fb7de81 100644 --- a/spine-cpp/include/spine/SkeletonClipping.h +++ b/spine-cpp/include/spine/SkeletonClipping.h @@ -38,7 +38,7 @@ namespace spine { class Skeleton; class ClippingAttachment; - class SkeletonClipping : public SpineObject { + class SP_API SkeletonClipping : public SpineObject { public: SkeletonClipping(); diff --git a/spine-cpp/include/spine/SkeletonData.h b/spine-cpp/include/spine/SkeletonData.h index ad717ec30..a5fd92f03 100644 --- a/spine-cpp/include/spine/SkeletonData.h +++ b/spine-cpp/include/spine/SkeletonData.h @@ -59,7 +59,7 @@ namespace spine { /// /// See Data objects in the Spine Runtimes /// Guide. - class SkeletonData : public SpineObject { + class SP_API SkeletonData : public SpineObject { friend class SkeletonBinary; friend class SkeletonJson; diff --git a/spine-cpp/include/spine/SkeletonJson.h b/spine-cpp/include/spine/SkeletonJson.h index fb7024f90..d004930f6 100644 --- a/spine-cpp/include/spine/SkeletonJson.h +++ b/spine-cpp/include/spine/SkeletonJson.h @@ -65,7 +65,7 @@ namespace spine { class Attachment; - class SkeletonJson : public SpineObject { + class SP_API SkeletonJson : public SpineObject { public: explicit SkeletonJson(Atlas &atlas); diff --git a/spine-cpp/include/spine/SkeletonRenderer.h b/spine-cpp/include/spine/SkeletonRenderer.h index 90447a49b..244b521e9 100644 --- a/spine-cpp/include/spine/SkeletonRenderer.h +++ b/spine-cpp/include/spine/SkeletonRenderer.h @@ -37,7 +37,7 @@ namespace spine { class Skeleton; - struct RenderCommand { + struct SP_API RenderCommand { float *positions; float *uvs; uint32_t *colors; @@ -50,7 +50,7 @@ namespace spine { RenderCommand *next; }; - class SkeletonRenderer : public SpineObject { + class SP_API SkeletonRenderer : public SpineObject { public: explicit SkeletonRenderer(); diff --git a/spine-cpp/include/spine/Skin.h b/spine-cpp/include/spine/Skin.h index 697611d25..bf645e2eb 100644 --- a/spine-cpp/include/spine/Skin.h +++ b/spine-cpp/include/spine/Skin.h @@ -46,15 +46,15 @@ namespace spine { /// Stores attachments by slot index and attachment name. /// See SkeletonData::getDefaultSkin, Skeleton::getSkin, and /// http://esotericsoftware.com/spine-runtime-skins in the Spine Runtimes Guide. - class Skin : public SpineObject { + class SP_API Skin : public SpineObject { friend class Skeleton; public: - class AttachmentMap : public SpineObject { + class SP_API AttachmentMap : public SpineObject { friend class Skin; public: - struct Entry { + struct SP_API Entry { size_t _slotIndex; String _name; Attachment *_attachment; @@ -63,7 +63,7 @@ namespace spine { } }; - class Entries { + class SP_API Entries { friend class AttachmentMap; public: diff --git a/spine-cpp/include/spine/Slider.h b/spine-cpp/include/spine/Slider.h index 55c8755df..67c8a1d9b 100644 --- a/spine-cpp/include/spine/Slider.h +++ b/spine-cpp/include/spine/Slider.h @@ -42,7 +42,7 @@ namespace spine { /// Stores the setup pose for a PhysicsConstraint. /// /// See https://esotericsoftware.com/spine-physics-constraints Physics constraints in the Spine User Guide. - class Slider : public ConstraintGeneric { + class SP_API Slider : public ConstraintGeneric { friend class Skeleton; friend class SliderTimeline; friend class SliderMixTimeline; diff --git a/spine-cpp/include/spine/SliderData.h b/spine-cpp/include/spine/SliderData.h index 4dc075256..94aec7bfe 100644 --- a/spine-cpp/include/spine/SliderData.h +++ b/spine-cpp/include/spine/SliderData.h @@ -43,7 +43,7 @@ namespace spine { class Skeleton; /// Stores the setup pose for a Slider - class SliderData : public ConstraintDataGeneric { + class SP_API SliderData : public ConstraintDataGeneric { friend class SkeletonBinary; friend class SkeletonJson; friend class Slider; diff --git a/spine-cpp/include/spine/SliderMixTimeline.h b/spine-cpp/include/spine/SliderMixTimeline.h index 066fb5c4f..542af4134 100644 --- a/spine-cpp/include/spine/SliderMixTimeline.h +++ b/spine-cpp/include/spine/SliderMixTimeline.h @@ -34,7 +34,7 @@ namespace spine { /// Changes a slider's SliderPose::getMix(). - class SliderMixTimeline : public ConstraintTimeline1 { + class SP_API SliderMixTimeline : public ConstraintTimeline1 { friend class SkeletonBinary; friend class SkeletonJson; diff --git a/spine-cpp/include/spine/SliderPose.h b/spine-cpp/include/spine/SliderPose.h index 450d03df8..04de5bbd1 100644 --- a/spine-cpp/include/spine/SliderPose.h +++ b/spine-cpp/include/spine/SliderPose.h @@ -37,7 +37,7 @@ namespace spine { class Slider; /// Stores a pose for a slider. - class SliderPose : public Pose { + class SP_API SliderPose : public Pose { friend class Slider; friend class SliderMixTimeline; friend class SliderTimeline; diff --git a/spine-cpp/include/spine/SliderTimeline.h b/spine-cpp/include/spine/SliderTimeline.h index 0d6af45f3..281713ef4 100644 --- a/spine-cpp/include/spine/SliderTimeline.h +++ b/spine-cpp/include/spine/SliderTimeline.h @@ -34,7 +34,7 @@ namespace spine { /// Changes a slider's SliderPose::getTime(). - class SliderTimeline : public ConstraintTimeline1 { + class SP_API SliderTimeline : public ConstraintTimeline1 { friend class SkeletonBinary; friend class SkeletonJson; diff --git a/spine-cpp/include/spine/Slot.h b/spine-cpp/include/spine/Slot.h index 41b79fea6..edb90e2a5 100644 --- a/spine-cpp/include/spine/Slot.h +++ b/spine-cpp/include/spine/Slot.h @@ -45,7 +45,7 @@ namespace spine { /// Stores a slot's current pose. Slots organize attachments for Skeleton drawOrder purposes and provide a place to store /// state for an attachment. State cannot be stored in an attachment itself because attachments are stateless and may be shared /// across multiple skeletons. - class Slot : public PosedGeneric { + class SP_API Slot : public PosedGeneric { friend class VertexAttachment; friend class Skeleton; diff --git a/spine-cpp/include/spine/SlotCurveTimeline.h b/spine-cpp/include/spine/SlotCurveTimeline.h index 2fcf38ffb..6e20a377f 100644 --- a/spine-cpp/include/spine/SlotCurveTimeline.h +++ b/spine-cpp/include/spine/SlotCurveTimeline.h @@ -38,7 +38,7 @@ namespace spine { class SlotPose; /// Base class for slot timelines that use curves. - class SlotCurveTimeline : public CurveTimeline, public SlotTimeline { + class SP_API SlotCurveTimeline : public CurveTimeline, public SlotTimeline { friend class SkeletonBinary; friend class SkeletonJson; diff --git a/spine-cpp/include/spine/SlotData.h b/spine-cpp/include/spine/SlotData.h index d14126ab8..373291131 100644 --- a/spine-cpp/include/spine/SlotData.h +++ b/spine-cpp/include/spine/SlotData.h @@ -40,7 +40,7 @@ namespace spine { class BoneData; /// Stores the setup pose for a Slot. - class SlotData : public PosedDataGeneric { + class SP_API SlotData : public PosedDataGeneric { friend class SkeletonBinary; friend class SkeletonJson; friend class PathConstraint; diff --git a/spine-cpp/include/spine/SlotPose.h b/spine-cpp/include/spine/SlotPose.h index d24383a07..ed77a56e5 100644 --- a/spine-cpp/include/spine/SlotPose.h +++ b/spine-cpp/include/spine/SlotPose.h @@ -40,7 +40,7 @@ namespace spine { class Attachment; class VertexAttachment; - class SlotPose : public Pose { + class SP_API SlotPose : public Pose { friend class Slot; friend class SlotCurveTimeline; friend class DeformTimeline; diff --git a/spine-cpp/include/spine/SlotTimeline.h b/spine-cpp/include/spine/SlotTimeline.h index 47592ace6..d16ca9041 100644 --- a/spine-cpp/include/spine/SlotTimeline.h +++ b/spine-cpp/include/spine/SlotTimeline.h @@ -30,13 +30,13 @@ #ifndef Spine_SlotTimeline_h #define Spine_SlotTimeline_h - +#include #include namespace spine { /// An interface for timelines which change the property of a slot. - class SlotTimeline { + class SP_API SlotTimeline { RTTI_DECL_NOPARENT friend class AlphaTimeline; diff --git a/spine-cpp/include/spine/SpineObject.h b/spine-cpp/include/spine/SpineObject.h index 4a26d09f8..dc893695a 100644 --- a/spine-cpp/include/spine/SpineObject.h +++ b/spine-cpp/include/spine/SpineObject.h @@ -33,12 +33,12 @@ #include #include - +#include namespace spine { class String; - class SpineObject { + class SP_API SpineObject { public: void *operator new(size_t sz); diff --git a/spine-cpp/include/spine/SpineString.h b/spine-cpp/include/spine/SpineString.h index 1ae30e660..99667e57f 100644 --- a/spine-cpp/include/spine/SpineString.h +++ b/spine-cpp/include/spine/SpineString.h @@ -37,7 +37,7 @@ #include namespace spine { - class String : public SpineObject { + class SP_API String : public SpineObject { public: String() : _length(0), _buffer(NULL), _tempowner(true) { } diff --git a/spine-cpp/include/spine/TextureLoader.h b/spine-cpp/include/spine/TextureLoader.h index fcf8cc642..60f86afb9 100644 --- a/spine-cpp/include/spine/TextureLoader.h +++ b/spine-cpp/include/spine/TextureLoader.h @@ -36,7 +36,7 @@ namespace spine { class AtlasPage; - class TextureLoader : public SpineObject { + class SP_API TextureLoader : public SpineObject { public: TextureLoader(); diff --git a/spine-cpp/include/spine/TextureRegion.h b/spine-cpp/include/spine/TextureRegion.h index c794f1647..158133ec5 100644 --- a/spine-cpp/include/spine/TextureRegion.h +++ b/spine-cpp/include/spine/TextureRegion.h @@ -34,7 +34,7 @@ #include namespace spine { - class TextureRegion : public SpineObject { + class SP_API TextureRegion : public SpineObject { friend class MeshAttachment; friend class RegionAttachment; friend class Atlas; diff --git a/spine-cpp/include/spine/Timeline.h b/spine-cpp/include/spine/Timeline.h index 6208758f8..777ee3c9d 100644 --- a/spine-cpp/include/spine/Timeline.h +++ b/spine-cpp/include/spine/Timeline.h @@ -42,7 +42,7 @@ namespace spine { class Event; - class Timeline : public SpineObject { + class SP_API Timeline : public SpineObject { RTTI_DECL_NOPARENT public: diff --git a/spine-cpp/include/spine/TransformConstraint.h b/spine-cpp/include/spine/TransformConstraint.h index dec2d274f..ecd803318 100644 --- a/spine-cpp/include/spine/TransformConstraint.h +++ b/spine-cpp/include/spine/TransformConstraint.h @@ -40,7 +40,7 @@ namespace spine { class Bone; class BonePose; - class TransformConstraint : public ConstraintGeneric { + class SP_API TransformConstraint : public ConstraintGeneric { friend class Skeleton; friend class TransformConstraintTimeline; diff --git a/spine-cpp/include/spine/TransformConstraintData.h b/spine-cpp/include/spine/TransformConstraintData.h index 98b207f98..6cc344672 100644 --- a/spine-cpp/include/spine/TransformConstraintData.h +++ b/spine-cpp/include/spine/TransformConstraintData.h @@ -45,7 +45,7 @@ namespace spine { class ToProperty; /// Source property for a TransformConstraint. - class FromProperty : public SpineObject { + class SP_API FromProperty : public SpineObject { friend class SkeletonBinary; public: @@ -65,7 +65,7 @@ namespace spine { }; /// Constrained property for a TransformConstraint. - class ToProperty : public SpineObject { + class SP_API ToProperty : public SpineObject { friend class SkeletonBinary; public: @@ -90,7 +90,7 @@ namespace spine { virtual void apply(Skeleton &skeleton, TransformConstraintPose &pose, BonePose &bone, float value, bool local, bool additive) = 0; }; - class FromRotate : public FromProperty { + class SP_API FromRotate : public FromProperty { public: RTTI_DECL @@ -102,7 +102,7 @@ namespace spine { float value(Skeleton &skeleton, BonePose &source, bool local, float *offsets) override; }; - class ToRotate : public ToProperty { + class SP_API ToRotate : public ToProperty { public: RTTI_DECL @@ -115,7 +115,7 @@ namespace spine { void apply(Skeleton &skeleton, TransformConstraintPose &pose, BonePose &bone, float value, bool local, bool additive) override; }; - class FromX : public FromProperty { + class SP_API FromX : public FromProperty { public: RTTI_DECL @@ -127,7 +127,7 @@ namespace spine { float value(Skeleton &skeleton, BonePose &source, bool local, float *offsets) override; }; - class ToX : public ToProperty { + class SP_API ToX : public ToProperty { public: RTTI_DECL @@ -140,7 +140,7 @@ namespace spine { void apply(Skeleton &skeleton, TransformConstraintPose &pose, BonePose &bone, float value, bool local, bool additive) override; }; - class FromY : public FromProperty { + class SP_API FromY : public FromProperty { public: RTTI_DECL @@ -152,7 +152,7 @@ namespace spine { float value(Skeleton &skeleton, BonePose &source, bool local, float *offsets) override; }; - class ToY : public ToProperty { + class SP_API ToY : public ToProperty { public: RTTI_DECL @@ -165,7 +165,7 @@ namespace spine { void apply(Skeleton &skeleton, TransformConstraintPose &pose, BonePose &bone, float value, bool local, bool additive) override; }; - class FromScaleX : public FromProperty { + class SP_API FromScaleX : public FromProperty { public: RTTI_DECL @@ -177,7 +177,7 @@ namespace spine { float value(Skeleton &skeleton, BonePose &source, bool local, float *offsets) override; }; - class ToScaleX : public ToProperty { + class SP_API ToScaleX : public ToProperty { public: RTTI_DECL @@ -190,7 +190,7 @@ namespace spine { void apply(Skeleton &skeleton, TransformConstraintPose &pose, BonePose &bone, float value, bool local, bool additive) override; }; - class FromScaleY : public FromProperty { + class SP_API FromScaleY : public FromProperty { public: RTTI_DECL @@ -202,7 +202,7 @@ namespace spine { float value(Skeleton &skeleton, BonePose &source, bool local, float *offsets) override; }; - class ToScaleY : public ToProperty { + class SP_API ToScaleY : public ToProperty { public: RTTI_DECL @@ -215,7 +215,7 @@ namespace spine { void apply(Skeleton &skeleton, TransformConstraintPose &pose, BonePose &bone, float value, bool local, bool additive) override; }; - class FromShearY : public FromProperty { + class SP_API FromShearY : public FromProperty { public: RTTI_DECL @@ -227,7 +227,7 @@ namespace spine { float value(Skeleton &skeleton, BonePose &source, bool local, float *offsets) override; }; - class ToShearY : public ToProperty { + class SP_API ToShearY : public ToProperty { public: RTTI_DECL @@ -243,7 +243,7 @@ namespace spine { /// Stores the setup pose for a TransformConstraint. /// /// See https://esotericsoftware.com/spine-transform-constraints Transform constraints in the Spine User Guide. - class TransformConstraintData : public ConstraintDataGeneric { + class SP_API TransformConstraintData : public ConstraintDataGeneric { public: RTTI_DECL static const int ROTATION; diff --git a/spine-cpp/include/spine/TransformConstraintPose.h b/spine-cpp/include/spine/TransformConstraintPose.h index 48b0c6084..f96a4944d 100644 --- a/spine-cpp/include/spine/TransformConstraintPose.h +++ b/spine-cpp/include/spine/TransformConstraintPose.h @@ -35,7 +35,7 @@ namespace spine { /// Stores a pose for a transform constraint. - class TransformConstraintPose : public Pose { + class SP_API TransformConstraintPose : public Pose { friend class FromProperty; friend class ToProperty; friend class FromRotate; diff --git a/spine-cpp/include/spine/TransformConstraintTimeline.h b/spine-cpp/include/spine/TransformConstraintTimeline.h index d1ab5d484..097f63503 100644 --- a/spine-cpp/include/spine/TransformConstraintTimeline.h +++ b/spine-cpp/include/spine/TransformConstraintTimeline.h @@ -38,7 +38,7 @@ namespace spine { /// Changes a transform constraint's TransformConstraintPose::getMixRotate(), TransformConstraintPose::getMixX(), /// TransformConstraintPose::getMixY(), TransformConstraintPose::getMixScaleX(), /// TransformConstraintPose::getMixScaleY(), and TransformConstraintPose::getMixShearY(). - class TransformConstraintTimeline : public CurveTimeline, public ConstraintTimeline { + class SP_API TransformConstraintTimeline : public CurveTimeline, public ConstraintTimeline { friend class SkeletonBinary; friend class SkeletonJson; diff --git a/spine-cpp/include/spine/TranslateTimeline.h b/spine-cpp/include/spine/TranslateTimeline.h index 73c4dfc13..5b24789fe 100644 --- a/spine-cpp/include/spine/TranslateTimeline.h +++ b/spine-cpp/include/spine/TranslateTimeline.h @@ -35,7 +35,7 @@ namespace spine { /// Changes a bone's local X and Y translation. - class TranslateTimeline : public BoneTimeline2 { + class SP_API TranslateTimeline : public BoneTimeline2 { friend class SkeletonBinary; friend class SkeletonJson; @@ -50,7 +50,7 @@ namespace spine { }; /// Changes a bone's local X translation. - class TranslateXTimeline : public BoneTimeline1 { + class SP_API TranslateXTimeline : public BoneTimeline1 { friend class SkeletonBinary; friend class SkeletonJson; @@ -65,7 +65,7 @@ namespace spine { }; /// Changes a bone's local Y translation. - class TranslateYTimeline : public BoneTimeline1 { + class SP_API TranslateYTimeline : public BoneTimeline1 { friend class SkeletonBinary; friend class SkeletonJson; diff --git a/spine-cpp/include/spine/Triangulator.h b/spine-cpp/include/spine/Triangulator.h index a3e1e356c..aa5a15400 100644 --- a/spine-cpp/include/spine/Triangulator.h +++ b/spine-cpp/include/spine/Triangulator.h @@ -34,7 +34,7 @@ #include namespace spine { - class Triangulator : public SpineObject { + class SP_API Triangulator : public SpineObject { public: ~Triangulator(); diff --git a/spine-cpp/include/spine/Update.h b/spine-cpp/include/spine/Update.h index 9b33134e6..52fd951ec 100644 --- a/spine-cpp/include/spine/Update.h +++ b/spine-cpp/include/spine/Update.h @@ -30,7 +30,7 @@ #ifndef Spine_Update_h #define Spine_Update_h - +#include #include #include #include @@ -39,7 +39,7 @@ namespace spine { class Skeleton; /// The interface for items updated by Skeleton::updateWorldTransform(). - class Update : public SpineObject { + class SP_API Update : public SpineObject { RTTI_DECL_NOPARENT public: Update(); diff --git a/spine-cpp/include/spine/VertexAttachment.h b/spine-cpp/include/spine/VertexAttachment.h index 4ef3d797c..51ef93d47 100644 --- a/spine-cpp/include/spine/VertexAttachment.h +++ b/spine-cpp/include/spine/VertexAttachment.h @@ -40,7 +40,7 @@ namespace spine { /// An attachment with vertices that are transformed by one or more bones and can be deformed by a slot's /// SlotPose::getDeform(). - class VertexAttachment : public Attachment { + class SP_API VertexAttachment : public Attachment { friend class SkeletonBinary; friend class SkeletonJson; diff --git a/spine-cpp/include/spine/dll.h b/spine-cpp/include/spine/dll.h new file mode 100644 index 000000000..2681a5381 --- /dev/null +++ b/spine-cpp/include/spine/dll.h @@ -0,0 +1,51 @@ +/****************************************************************************** + * 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_SHAREDLIB_H +#define SPINE_SHAREDLIB_H + +#ifdef _WIN32 +#define DLLIMPORT __declspec(dllimport) +#define DLLEXPORT __declspec(dllexport) +#else +#ifndef DLLIMPORT +#define DLLIMPORT +#endif +#ifndef DLLEXPORT +#define DLLEXPORT +#endif +#endif + +#ifdef SPINEPLUGIN_API +#define SP_API SPINEPLUGIN_API +#else +#define SP_API +#endif + +#endif /* SPINE_SHAREDLIB_H */ diff --git a/spine-cpp/src/spine/SkeletonJson.cpp b/spine-cpp/src/spine/SkeletonJson.cpp index 58da263a4..d23c61adf 100644 --- a/spine-cpp/src/spine/SkeletonJson.cpp +++ b/spine-cpp/src/spine/SkeletonJson.cpp @@ -84,7 +84,7 @@ using namespace spine; -class Vertices : public SpineObject { +class SP_API Vertices : public SpineObject { public: Array _bones; Array _weights;