// // RiveFile.h // RiveRuntime // // Created by Matt Sullivan on 8/30/20. // Copyright © 2020 Rive. All rights reserved. // #ifndef rive_h #define rive_h #import #import #import #import #import #import #import #import #import #import #import // TODO: fix our headers so these can become exposed here #import #import #import #import NS_ASSUME_NONNULL_BEGIN /* * LoopMode */ typedef NS_ENUM(NSInteger, RiveLoop) { oneShot, loop, pingPong, autoLoop }; /* * Direction */ typedef NS_ENUM(NSInteger, RiveDirection) { backwards, forwards, autoDirection, }; /* * Fits */ typedef NS_ENUM(NSInteger, RiveFit) { fill, contain, cover, fitHeight, fitWidth, scaleDown, noFit }; /* * Alignments */ typedef NS_ENUM(NSInteger, RiveAlignment) { topLeft, topCenter, topRight, centerLeft, center, centerRight, bottomLeft, bottomCenter, bottomRight }; FOUNDATION_EXPORT NSString* const RiveErrorDomain; typedef NS_ENUM(NSInteger, RiveErrorCode) { RiveNoArtboardsFound = 100, RiveNoArtboardFound = 101, RiveNoAnimations = 200, RiveNoAnimationFound = 201, RiveNoStateMachines = 300, RiveNoStateMachineFound = 301, RiveNoStateMachineInputFound = 400, RiveUnknownStateMachineInput = 401, RiveNoStateChangeFound = 402, RiveUnsupportedVersion = 500, RiveMalformedFile = 600, RiveUnknownError = 700, }; /* * RiveRenderer */ @interface RiveRenderer : NSObject - (instancetype)initWithContext:(nonnull CGContextRef)context; - (void)alignWithRect:(CGRect)rect withContentRect:(CGRect)contentRect withAlignment:(RiveAlignment)alignment withFit:(RiveFit)fit; @end typedef bool (^LoadAsset)(RiveFileAsset* asset, NSData* data, RiveFactory* factory); NS_ASSUME_NONNULL_END #endif /* rive_h */