Files
rive-ios/Source/Renderer/LayerState.mm
csmartdalton 17a669aad6 Drop the ColumnLimit to 80 for clang-format
This gives better support for smaller screens and side-by-side windows.

Also standardize the formatting check on GitHub on version 17.

Diffs=
e52e9fff29 Drop the ColumnLimit to 80 for clang-format (#8320)

Co-authored-by: Chris Dalton <99840794+csmartdalton@users.noreply.github.com>
2024-10-11 19:25:57 +00:00

110 lines
1.7 KiB
Plaintext

//
// LayerState.mm
// RiveRuntime
//
// Created by Maxwell Talbot on 8/30/20.
// Copyright © 2021 Rive. All rights reserved.
//
#import "Rive.h"
#import "RivePrivateHeaders.h"
@implementation RiveLayerState
{
const rive::LayerState* instance;
}
- (instancetype)initWithLayerState:(const rive::LayerState*)layerState
{
if (self = [super init])
{
self->instance = layerState;
return self;
}
else
{
return nil;
}
}
- (const void*)rive_layer_state
{
return instance;
}
- (bool)isEntryState
{
return instance->is<rive::EntryState>();
}
- (bool)isExitState
{
return instance->is<rive::ExitState>();
}
- (bool)isAnyState
{
return instance->is<rive::AnyState>();
}
- (bool)isAnimationState
{
return instance->is<rive::AnimationState>();
}
- (NSString*)name
{
return @"RiveLayerState";
}
@end
@implementation RiveAnyState
- (NSString*)name
{
return @"AnyState";
}
@end
@implementation RiveEntryState
- (NSString*)name
{
return @"EntryState";
}
@end
@implementation RiveExitState
- (NSString*)name
{
return @"ExitState";
}
@end
@implementation RiveAnimationState
- (NSString*)name
{
auto inst = [self rive_layer_state];
auto animation = ((const rive::AnimationState*)inst)->animation();
if (animation == nil)
{
return [NSString stringWithCString:"Unknown"
encoding:[NSString defaultCStringEncoding]];
}
return [NSString stringWithCString:animation->name().c_str()
encoding:[NSString defaultCStringEncoding]];
}
@end
@implementation RiveUnknownState
- (NSString*)name
{
return @"UnknownState";
}
@end