//
//  KMAnnotationPropertiesViewController.h
//  SignFlow
//
//  Created by wanjun on 2021/6/15.
//

#import <Cocoa/Cocoa.h>
#import "CPDFListView.h"

typedef NS_ENUM(NSInteger, KMOpenPropertiesType) {
    KMOpenPropertiesType_None = 0,
    KMOpenPropertiesType_PageDisplay,
    KMOpenPropertiesType_Stamp,
    KMOpenPropertiesType_Link,
    KMOpenPropertiesType_ListBox,
    KMOpenPropertiesType_ComboBox,
    KMOpenPropertiesType_Button,
    KMOpenPropertiesType_FormSignatureClick
};

@class KMMainViewController;

typedef void(^PageDisplayReaderMode)(BOOL isReaderMode);
typedef void(^AnnotationTypeDidChange)(CPDFAnnotation *anno);

@interface KMAnnotationPropertiesViewController : NSViewController

@property (nonatomic, retain) NSArray *annotations;

@property (nonatomic, assign) CAnnotationType annotationMode;

@property (nonatomic, strong) CPDFListView *pdfView;

@property (nonatomic, assign) BOOL isEmptyAnnotation;

@property (nonatomic, assign) BOOL isContinuousAddStamp;

@property (nonatomic, assign) KMOpenPropertiesType openPropertiesType;

@property (nonatomic, copy) PageDisplayReaderMode pageDisplayReaderMode;
@property (nonatomic, copy) AnnotationTypeDidChange annoTypeDidChange;

@property (nonatomic, assign) IBOutlet KMMainViewController *mainController;

@property (nonatomic, assign) BOOL isClickFormSignature;

+ (CGFloat)heightWithAnnotation:(CPDFAnnotation *)annotation;
+ (CGFloat)heightWithAnnotationMode:(CAnnotationType)annotationMode;

@end