mirror of
https://github.com/rive-app/rive-ios.git
synced 2026-01-18 17:11:28 +01:00
refactor(apple): mark more (view)model members as @objc (#10433) 3bd0ee9ad9
Co-authored-by: David Skuza <david@rive.app>
This commit is contained in:
@@ -1 +1 @@
|
||||
827077b899b109dcb4b5eb57c8e999246f5d44b5
|
||||
3bd0ee9ad9142a72767898ff8d58c779cb5c7bda
|
||||
|
||||
@@ -21,15 +21,15 @@ import Combine
|
||||
private var isAutoBindEnabled = false
|
||||
private var autoBindCallback: AutoBindCallback?
|
||||
|
||||
public init(riveFile: RiveFile) {
|
||||
@objc public init(riveFile: RiveFile) {
|
||||
self.riveFile = riveFile
|
||||
}
|
||||
|
||||
public init(fileName: String, extension: String = ".riv", in bundle: Bundle = .main, loadCdn: Bool = true, customLoader: LoadAsset? = nil) throws {
|
||||
@objc public init(fileName: String, extension: String = ".riv", in bundle: Bundle = .main, loadCdn: Bool = true, customLoader: LoadAsset? = nil) throws {
|
||||
riveFile = try RiveFile(name: fileName, extension: `extension`, in: bundle, loadCdn: loadCdn, customLoader: customLoader)
|
||||
}
|
||||
|
||||
public init(webURL: String, delegate: RiveFileDelegate, loadCdn: Bool) {
|
||||
@objc public init(webURL: String, delegate: RiveFileDelegate, loadCdn: Bool) {
|
||||
riveFile = RiveFile(httpUrl: webURL, loadCdn:loadCdn, with: delegate)!
|
||||
}
|
||||
|
||||
@@ -57,7 +57,7 @@ import Combine
|
||||
// MARK: - Setters
|
||||
|
||||
/// Sets a new Artboard and makes the current StateMachine and Animation nil
|
||||
open func setArtboard(_ name: String) throws {
|
||||
@objc open func setArtboard(_ name: String) throws {
|
||||
do {
|
||||
RiveLogger.log(model: self, event: .artboardByName(name))
|
||||
stateMachine = nil
|
||||
@@ -101,7 +101,7 @@ import Combine
|
||||
}
|
||||
}
|
||||
|
||||
open func setStateMachine(_ name: String) throws {
|
||||
@objc open func setStateMachine(_ name: String) throws {
|
||||
do {
|
||||
stateMachine = try artboard.stateMachine(fromName: name)
|
||||
RiveLogger.log(model: self, event: .stateMachineByName(name))
|
||||
@@ -143,7 +143,7 @@ import Combine
|
||||
}
|
||||
}
|
||||
|
||||
open func setAnimation(_ name: String) throws {
|
||||
@objc open func setAnimation(_ name: String) throws {
|
||||
guard animation?.name() != name else { return }
|
||||
do {
|
||||
animation = try artboard.animation(fromName: name)
|
||||
|
||||
@@ -193,7 +193,7 @@ open class RiveView: RiveRendererView {
|
||||
#endif
|
||||
|
||||
/// This resets the view with the new model. Useful when the `RiveView` was initialized without one.
|
||||
open func setModel(_ model: RiveModel, autoPlay: Bool = true) throws {
|
||||
@objc open func setModel(_ model: RiveModel, autoPlay: Bool = true) throws {
|
||||
stopTimer()
|
||||
isPlaying = false
|
||||
riveModel = model
|
||||
@@ -216,6 +216,7 @@ open class RiveView: RiveRendererView {
|
||||
/// Hints to underlying CADisplayLink the preferred FPS to run at
|
||||
/// - Parameters:
|
||||
/// - preferredFramesPerSecond: Integer number of seconds to set preferred FPS at
|
||||
@objc(setPreferredFPS:)
|
||||
open func setPreferredFramesPerSecond(preferredFramesPerSecond: Int) {
|
||||
userFPS = preferredFramesPerSecond
|
||||
displaySync?.set(preferredFramesPerSecond: preferredFramesPerSecond)
|
||||
@@ -225,6 +226,7 @@ open class RiveView: RiveRendererView {
|
||||
/// - Parameters:
|
||||
/// - preferredFrameRateRange: Frame rate range to set
|
||||
@available(iOS 15, macOS 14, tvOS 15, visionOS 1, *)
|
||||
@objc(setPreferredFrameRateRange:)
|
||||
open func setPreferredFrameRateRange(preferredFrameRateRange: CAFrameRateRange) {
|
||||
userFPS = preferredFrameRateRange
|
||||
displaySync?.set(preferredFrameRateRange: preferredFrameRateRange)
|
||||
|
||||
@@ -167,7 +167,7 @@ import Combine
|
||||
|
||||
// MARK: - RiveView
|
||||
|
||||
open private(set) var riveModel: RiveModel? {
|
||||
@objc open private(set) var riveModel: RiveModel? {
|
||||
didSet {
|
||||
if let model = riveModel {
|
||||
try! riveView?.setModel(model, autoPlay: autoPlay)
|
||||
@@ -175,22 +175,22 @@ import Combine
|
||||
}
|
||||
}
|
||||
|
||||
open var isPlaying: Bool { riveView?.isPlaying ?? false }
|
||||
|
||||
open var autoPlay: Bool
|
||||
|
||||
open var fit: RiveFit = .contain {
|
||||
@objc open var isPlaying: Bool { riveView?.isPlaying ?? false }
|
||||
|
||||
@objc open var autoPlay: Bool
|
||||
|
||||
@objc open var fit: RiveFit = .contain {
|
||||
didSet { riveView?.fit = fit }
|
||||
}
|
||||
|
||||
open var alignment: RiveAlignment = .center {
|
||||
@objc open var alignment: RiveAlignment = .center {
|
||||
didSet { riveView?.alignment = alignment }
|
||||
}
|
||||
|
||||
/// The scale factor to apply when using the `layout` fit. By default, this value is -1, where Rive will determine
|
||||
/// the correct scale for your device.To override this default behavior, set this value to a value greater than 0.
|
||||
/// - Note: If the scale factor <= 0, nothing will be drawn.
|
||||
open var layoutScaleFactor: Double = layoutScaleFactorAutomatic {
|
||||
@objc open var layoutScaleFactor: Double = layoutScaleFactorAutomatic {
|
||||
didSet { riveView?.layoutScaleFactor = layoutScaleFactor }
|
||||
}
|
||||
|
||||
@@ -199,7 +199,7 @@ import Combine
|
||||
/// When false, only the Rive view will handle touch / click events, and will not forward
|
||||
/// to any next responder(s). Defaults to `false`, as to preserve pre-existing runtime functionality.
|
||||
/// - Note: On iOS, this is handled separately from `isExclusiveTouch`.
|
||||
open var forwardsListenerEvents: Bool = false {
|
||||
@objc open var forwardsListenerEvents: Bool = false {
|
||||
didSet { riveView?.forwardsListenerEvents = forwardsListenerEvents }
|
||||
}
|
||||
|
||||
@@ -209,6 +209,7 @@ import Combine
|
||||
/// - Parameters:
|
||||
/// - preferredFramesPerSecond: Integer number of seconds to set preferred FPS at
|
||||
@available(macOS 14, *)
|
||||
@objc(setPreferredFramesPerSecond:)
|
||||
public func setPreferredFramesPerSecond(preferredFramesPerSecond: Int) {
|
||||
riveView?.setPreferredFramesPerSecond(preferredFramesPerSecond: preferredFramesPerSecond)
|
||||
}
|
||||
@@ -218,6 +219,7 @@ import Combine
|
||||
/// - Parameters:
|
||||
/// - preferredFrameRateRange: Frame rate range to set
|
||||
@available(macOS 14, *)
|
||||
@objc(setPreferredFrameRateRange)
|
||||
public func setPreferredFrameRateRange(preferredFrameRateRange: CAFrameRateRange) {
|
||||
riveView?.setPreferredFrameRateRange(preferredFrameRateRange: preferredFrameRateRange)
|
||||
}
|
||||
@@ -226,7 +228,8 @@ import Combine
|
||||
/// For more, see: https://developer.apple.com/documentation/quartzcore/cadisplaylink/1648421-preferredframespersecond
|
||||
/// - Parameters:
|
||||
/// - preferredFramesPerSecond: Integer number of seconds to set preferred FPS at
|
||||
public func setPreferredFramesPerSecond(preferredFramesPerSecond: Int) {
|
||||
@objc(setPreferredFramesPerSecond:)
|
||||
open func setPreferredFramesPerSecond(preferredFramesPerSecond: Int) {
|
||||
riveView?.setPreferredFramesPerSecond(preferredFramesPerSecond: preferredFramesPerSecond)
|
||||
}
|
||||
|
||||
@@ -235,7 +238,8 @@ import Combine
|
||||
/// - Parameters:
|
||||
/// - preferredFrameRateRange: Frame rate range to set
|
||||
@available(iOS 15.0, tvOS 15.0, visionOS 1.0, *)
|
||||
public func setPreferredFrameRateRange(preferredFrameRateRange: CAFrameRateRange) {
|
||||
@objc(setPreferredFrameRateRange:)
|
||||
open func setPreferredFrameRateRange(preferredFrameRateRange: CAFrameRateRange) {
|
||||
riveView?.setPreferredFrameRateRange(preferredFrameRateRange: preferredFrameRateRange)
|
||||
}
|
||||
#endif
|
||||
@@ -422,7 +426,7 @@ import Combine
|
||||
/// - Parameters:
|
||||
/// - inputName: The name of a `Trigger` input on the active StateMachine
|
||||
/// - path: A String representing the path to the nested artboard delimited by "/" (ie. "Nested" or "Level1/Level2/Level3")
|
||||
open func triggerInput(_ inputName: String, path: String) {
|
||||
@objc open func triggerInput(_ inputName: String, path: String) {
|
||||
RiveLogger.log(viewModel: self, event: .triggerInput(inputName, path))
|
||||
riveModel?.artboard?.getTrigger(inputName, path: path).fire()
|
||||
play()
|
||||
@@ -433,6 +437,7 @@ import Combine
|
||||
/// - inputName: The name of a `Boolean` input on the active StateMachine
|
||||
/// - value: A Bool value for the input
|
||||
/// - path: A String representing the path to the nested artboard delimited by "/" (ie. "Nested" or "Level1/Level2/Level3")
|
||||
@objc(setBooleanInput:value:atPath:)
|
||||
open func setInput(_ inputName: String, value: Bool, path: String) {
|
||||
RiveLogger.log(viewModel: self, event: .booleanInput(inputName, path, value))
|
||||
riveModel?.artboard?.getBool(inputName, path: path).setValue(value)
|
||||
@@ -444,6 +449,7 @@ import Combine
|
||||
/// - inputName: The name of a `Number` input on the active StateMachine
|
||||
/// - value: A Float value for the input
|
||||
/// - path: A String representing the path to the nested artboard delimited by "/" (ie. "Nested" or "Level1/Level2/Level3")
|
||||
@objc(setFloatInput:value:atPath:)
|
||||
open func setInput(_ inputName: String, value: Float, path: String) {
|
||||
RiveLogger.log(viewModel: self, event: .floatInput(inputName, path, value))
|
||||
riveModel?.artboard?.getNumber(inputName, path: path).setValue(value);
|
||||
@@ -455,6 +461,7 @@ import Combine
|
||||
/// - inputName: The name of a `Number` input on the active StateMachine
|
||||
/// - value: A Double value for the input
|
||||
/// - path: A String representing the path to the nested artboard delimited by "/" (ie. "Nested" or "Level1/Level2/Level3")
|
||||
@objc(setDoubleInput:value:atPath:)
|
||||
open func setInput(_ inputName: String, value: Double, path: String) {
|
||||
RiveLogger.log(viewModel: self, event: .doubleInput(inputName, path, value))
|
||||
setInput(inputName, value: Float(value), path: path)
|
||||
@@ -555,6 +562,7 @@ import Combine
|
||||
return view
|
||||
}
|
||||
|
||||
@objc(setRiveView:)
|
||||
open func setRiveView(view:RiveView)
|
||||
{
|
||||
registerView(view)
|
||||
@@ -586,7 +594,7 @@ import Combine
|
||||
}
|
||||
|
||||
/// Stops maintaining a connection to any `RiveView`
|
||||
open func deregisterView() {
|
||||
@objc open func deregisterView() {
|
||||
riveView = nil
|
||||
}
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
import Foundation
|
||||
|
||||
extension RiveStateMachineInstance {
|
||||
public var inputs: [StateMachineInput] {
|
||||
@objc public var inputs: [StateMachineInput] {
|
||||
var inputs: [StateMachineInput] = []
|
||||
|
||||
for i in 0 ..< inputCount() {
|
||||
|
||||
Reference in New Issue
Block a user