// // MWPhotoBrowser.h // MWPhotoBrowser // // Created by Michael Waterfall on 14/10/2010. // Copyright 2010 d3i. All rights reserved. // #import #import "MWPhoto.h" #import "MWPhotoProtocol.h" #import "MWCaptionView.h" // Debug Logging #if 0 // Set to 1 to enable debug logging #define MWLog(x, ...) NSLog(x, ## __VA_ARGS__); #else #define MWLog(x, ...) #endif @class MWPhotoBrowser; @protocol MWPhotoBrowserDelegate - (NSUInteger)numberOfPhotosInPhotoBrowser:(MWPhotoBrowser *)photoBrowser; - (id )photoBrowser:(MWPhotoBrowser *)photoBrowser photoAtIndex:(NSUInteger)index; @optional - (id )photoBrowser:(MWPhotoBrowser *)photoBrowser thumbPhotoAtIndex:(NSUInteger)index; - (MWCaptionView *)photoBrowser:(MWPhotoBrowser *)photoBrowser captionViewForPhotoAtIndex:(NSUInteger)index; - (NSString *)photoBrowser:(MWPhotoBrowser *)photoBrowser titleForPhotoAtIndex:(NSUInteger)index; - (void)photoBrowser:(MWPhotoBrowser *)photoBrowser didDisplayPhotoAtIndex:(NSUInteger)index; - (void)photoBrowser:(MWPhotoBrowser *)photoBrowser actionButtonPressedForPhotoAtIndex:(NSUInteger)index; - (BOOL)photoBrowser:(MWPhotoBrowser *)photoBrowser isPhotoSelectedAtIndex:(NSUInteger)index; - (void)photoBrowser:(MWPhotoBrowser *)photoBrowser photoAtIndex:(NSUInteger)index selectedChanged:(BOOL)selected; - (void)photoBrowserDidFinishModalPresentation:(MWPhotoBrowser *)photoBrowser; @end @interface MWPhotoBrowser : UIViewController @property (nonatomic, weak) IBOutlet id delegate; @property (nonatomic) BOOL zoomPhotosToFill; @property (nonatomic) BOOL displayNavArrows; @property (nonatomic) BOOL displayActionButton; @property (nonatomic) BOOL displaySelectionButtons; @property (nonatomic) BOOL alwaysShowControls; @property (nonatomic) BOOL enableGrid; @property (nonatomic) BOOL enableSwipeToDismiss; @property (nonatomic) BOOL startOnGrid; @property (nonatomic) BOOL autoPlayOnAppear; @property (nonatomic) NSUInteger delayToHideElements; @property (nonatomic, readonly) NSUInteger currentIndex; // Customise image selection icons as they are the only icons with a colour tint // Icon should be located in the app's main bundle @property (nonatomic, strong) NSString *customImageSelectedIconName; @property (nonatomic, strong) NSString *customImageSelectedSmallIconName; // Init - (id)initWithPhotos:(NSArray *)photosArray; - (id)initWithDelegate:(id )delegate; // Reloads the photo browser and refetches data - (void)reloadData; // Set page that photo browser starts on - (void)setCurrentPhotoIndex:(NSUInteger)index; // Navigation - (void)showNextPhotoAnimated:(BOOL)animated; - (void)showPreviousPhotoAnimated:(BOOL)animated; @end