SkeletonData.h 3.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. /******************************************************************************
  2. * Spine Runtimes Software License
  3. * Version 2
  4. *
  5. * Copyright (c) 2013, Esoteric Software
  6. * All rights reserved.
  7. *
  8. * You are granted a perpetual, non-exclusive, non-sublicensable and
  9. * non-transferable license to install, execute and perform the Spine Runtimes
  10. * Software (the "Software") solely for internal use. Without the written
  11. * permission of Esoteric Software, you may not (a) modify, translate, adapt or
  12. * otherwise create derivative works, improvements of the Software or develop
  13. * new applications using the Software or (b) remove, delete, alter or obscure
  14. * any trademarks or any copyright, trademark, patent or other intellectual
  15. * property or proprietary rights notices on or in the Software, including
  16. * any copy thereof. Redistributions in binary or source form must include
  17. * this license and terms. THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE
  18. * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
  19. * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  20. * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTARE BE LIABLE FOR ANY
  21. * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
  22. * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
  23. * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  24. * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  25. * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  26. * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  27. *****************************************************************************/
  28. #ifndef SPINE_SKELETONDATA_H_
  29. #define SPINE_SKELETONDATA_H_
  30. #include <spine/BoneData.h>
  31. #include <spine/SlotData.h>
  32. #include <spine/Skin.h>
  33. #include <spine/EventData.h>
  34. #include <spine/Animation.h>
  35. #ifdef __cplusplus
  36. extern "C" {
  37. #endif
  38. typedef struct {
  39. int boneCount;
  40. spBoneData** bones;
  41. int slotCount;
  42. spSlotData** slots;
  43. int skinCount;
  44. spSkin** skins;
  45. spSkin* defaultSkin;
  46. int eventCount;
  47. spEventData** events;
  48. int animationCount;
  49. spAnimation** animations;
  50. } spSkeletonData;
  51. spSkeletonData* spSkeletonData_create ();
  52. void spSkeletonData_dispose (spSkeletonData* self);
  53. spBoneData* spSkeletonData_findBone (const spSkeletonData* self, const char* boneName);
  54. int spSkeletonData_findBoneIndex (const spSkeletonData* self, const char* boneName);
  55. spSlotData* spSkeletonData_findSlot (const spSkeletonData* self, const char* slotName);
  56. int spSkeletonData_findSlotIndex (const spSkeletonData* self, const char* slotName);
  57. spSkin* spSkeletonData_findSkin (const spSkeletonData* self, const char* skinName);
  58. spEventData* spSkeletonData_findEvent (const spSkeletonData* self, const char* eventName);
  59. spAnimation* spSkeletonData_findAnimation (const spSkeletonData* self, const char* animationName);
  60. #ifdef SPINE_SHORT_NAMES
  61. typedef spSkeletonData SkeletonData;
  62. #define SkeletonData_create(...) spSkeletonData_create(__VA_ARGS__)
  63. #define SkeletonData_dispose(...) spSkeletonData_dispose(__VA_ARGS__)
  64. #define SkeletonData_findBone(...) spSkeletonData_findBone(__VA_ARGS__)
  65. #define SkeletonData_findBoneIndex(...) spSkeletonData_findBoneIndex(__VA_ARGS__)
  66. #define SkeletonData_findSlot(...) spSkeletonData_findSlot(__VA_ARGS__)
  67. #define SkeletonData_findSlotIndex(...) spSkeletonData_findSlotIndex(__VA_ARGS__)
  68. #define SkeletonData_findSkin(...) spSkeletonData_findSkin(__VA_ARGS__)
  69. #define SkeletonData_findEvent(...) spSkeletonData_findEvent(__VA_ARGS__)
  70. #define SkeletonData_findAnimation(...) spSkeletonData_findAnimation(__VA_ARGS__)
  71. #endif
  72. #ifdef __cplusplus
  73. }
  74. #endif
  75. #endif /* SPINE_SKELETONDATA_H_ */