Add minimum viable product

This commit is contained in:
Spotlight 2021-11-15 02:33:34 -06:00
commit 5a5dfb7bb2
Signed by: spotlight
GPG key ID: 874AA355B3209BDC
41 changed files with 405 additions and 0 deletions

18
Headers/CALayer.h Normal file
View file

@ -0,0 +1,18 @@
//
// CALayer.h
// ScreenShredder
//
// Created by Spotlight Deveaux on 2021-11-14.
//
#ifndef CALayer_h
#define CALayer_h
@import QuartzCore;
#import "CAState.h"
@interface CALayer (PrivateDefinitions)
@property(readonly) NSArray<CAState *> *_Nonnull states;
@end
#endif /* CALayer_h */

31
Headers/CAPackage.h Normal file
View file

@ -0,0 +1,31 @@
//
// CAPackage.h
// ScreenShredder
//
// Created by Spotlight Deveaux on 2021-11-14.
//
#ifndef CAPackage_h
#define CAPackage_h
@import QuartzCore;
extern NSString *_Nonnull kCAPackageTypeArchive;
@interface CAPackage : NSObject
+ (CAPackage *_Nullable)packageWithContentsOfURL:(NSURL *_Nonnull)url
type:(NSString *_Nonnull)type
options:(NSDictionary *_Nullable)opts
error:(NSError *_Nullable *_Nullable)
outError;
- (NSArray<NSString *> *_Nonnull)publishedObjectNames;
- (CALayer *_Nullable)publishedObjectWithName:(NSString *_Nonnull)name;
@property(readonly, getter=isGeometryFlipped) BOOL geometryFlipped;
@property(readonly) CALayer *_Nonnull rootLayer;
@end
#endif /* CAPackage_h */

21
Headers/CAState.h Normal file
View file

@ -0,0 +1,21 @@
//
// CAState.h
// ScreenShredder
//
// Created by Spotlight Deveaux on 2021-11-14.
//
#ifndef CAState_h
#define CAState_h
@import QuartzCore;
@interface CAState : NSObject
// We most likely don't need to define its methods, as we use none directly.
// Instead, we define this solely for type checking.
// (I apologize if you were looking for them here.)
@end
#endif /* CAState_h */

View file

@ -0,0 +1,43 @@
//
// CAStateController.h
// ScreenShredder
//
// Created by Spotlight Deveaux on 2021-11-14.
//
#ifndef CAStateController_h
#define CAStateController_h
@import QuartzCore;
#import "CAState.h"
@interface CAStateController : NSObject
// TODO: Do we need to bother with delegates?
//@property(__weak) NSObject *<CAStateControllerDelegate> delegate;
//- (NSObject *<CAStateControllerDelegate>)delegate;
//- (void)setDelegate:(NSObject *<CAStateControllerDelegate>)delegate;
- (CALayer *_Nullable)layer;
- (void)_removeTransition:(id _Nonnull)arg1 layer:(CALayer *_Nonnull)arg2;
- (CAStateController *_Nonnull)initWithLayer:(CALayer *_Nonnull)layer;
- (CAState *_Nonnull)stateOfLayer:(CALayer *_Nonnull)arg1;
- (void)setState:(CAState *_Nonnull)state
ofLayer:(CALayer *_Nonnull)layer
transitionSpeed:(float)speed;
- (void)setState:(CAState *_Nonnull)state ofLayer:(CALayer *_Nonnull)layer;
- (void)setInitialStatesOfLayer:(CALayer *_Nonnull)layer
transitionSpeed:(float)speed;
- (void)setInitialStatesOfLayer:(CALayer *_Nonnull)layer;
// TODO: What type is id in the beneath here?
- (id _Nonnull)removeAllStateChanges;
- (void)restoreStateChanges:(id _Nonnull)arg1;
- (void)cancelTimers;
- (void)_nextStateTimer:(id _Nonnull)arg1;
- (void)_addAnimation:(id _Nonnull)arg1
forKey:(id _Nonnull)arg2
target:(id _Nonnull)arg3
undo:(id _Nonnull)arg4;
@end
#endif /* CAStateController_h */