37 lines
1.3 KiB
Objective-C
37 lines
1.3 KiB
Objective-C
// -*- Mode: ObjC; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
|
//
|
|
// This file is part of the LibreOffice project.
|
|
//
|
|
// This Source Code Form is subject to the terms of the Mozilla Public
|
|
// License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
|
|
#import "MLOObject.h"
|
|
|
|
typedef void (^MLOAnimationBlock)(CGFloat fraction);
|
|
typedef void (^MLOAnimationBlockEnd)();
|
|
|
|
typedef enum {CANCELABLE, MANDATORY} MLOAnimationBehavior;
|
|
#define MLOAnimationBehaviorString(enum) [@[@"CANCELABLE",@"MANDATORY"] objectAtIndex:enum]
|
|
typedef enum {DELTA_ONLY,FULL_FRACTION} MLOAnimationFractionType;
|
|
#define MLOAnimationFractionTypeString(enum) [@[@"DELTA_ONLY",@"FULL_FRACTION"] objectAtIndex:enum]
|
|
|
|
static const NSTimeInterval DEFAULT_MLO_ANIMATION_DURAION=1.0F;
|
|
|
|
static const CGFloat DEFAULT_ANIMATION_FPS=25;
|
|
|
|
@interface MLOAnimation : MLOObject
|
|
@property NSTimeInterval duration;
|
|
@property CGFloat fps;
|
|
@property (nonatomic,strong) MLOAnimationBlockEnd endBlock;
|
|
|
|
-(id)initWithBehavior:(BOOL) behavior fractionType:(MLOAnimationFractionType) fractionType animation:(MLOAnimationBlock) animation;
|
|
-(void) linearCurve;
|
|
-(void) easeOutCurve;
|
|
-(void) easeInCurve;
|
|
-(void) cancel;
|
|
-(void) animate;
|
|
-(BOOL) isCancelled;
|
|
|
|
@end
|