//
//  GSPenPoint.h
//  GlyphsCore
//
//  Created by Georg Seifert on 04.01.26.
//  Copyright © 2026 schriftgestaltung.de. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <GlyphsCore/GSSelectableElementProtocol.h>

NS_ASSUME_NONNULL_BEGIN

extern NSString *const GSPenPointKeyProgOut;
extern NSString *const GSPenPointKeyProgIn;

@interface GSPenPoint : NSObject <GSSelectableElementProtocol>

@property (weak, nullable) GSContainer *parent;
@property CGFloat t;
@property CGFloat angle;
@property CGFloat width;
@property CGFloat height;
@property CGFloat strokePosition;
@property CGFloat progressionIn;
@property CGFloat progressionOut;

- (instancetype)initWithDict:(NSDictionary *)dict format:(GSFormatVersion)formatVersion;

- (instancetype)initWithT:(CGFloat)t width:(CGFloat)w height:(CGFloat)h position:(CGFloat)pos angle:(CGFloat)a progIn:(CGFloat)progIn progOut:(CGFloat)progOut;

- (BOOL)hasMeaningfulValues;

@end

NS_ASSUME_NONNULL_END
