text: //
  //  SVProgressHUD.h
  //
  //  Created by Sam Vermette on 27.03.11.
  //  Copyright 2011 Sam Vermette. All rights reserved.
  //
  //  https://github.com/samvermette/SVProgressHUD
  //
  
  #import <UIKit/UIKit.h>
  #import <AvailabilityMacros.h>
  
  extern NSString * const SVProgressHUDDidReceiveTouchEventNotification;
  extern NSString * const SVProgressHUDWillDisappearNotification;
  extern NSString * const SVProgressHUDDidDisappearNotification;
  extern NSString * const SVProgressHUDWillAppearNotification;
  extern NSString * const SVProgressHUDDidAppearNotification;
  
  extern NSString * const SVProgressHUDStatusUserInfoKey;
  
  enum {
      SVProgressHUDMaskTypeNone = 1, // allow user interactions while HUD is displayed
      SVProgressHUDMaskTypeClear, // don't allow
      SVProgressHUDMaskTypeBlack, // don't allow and dim the UI in the back of the HUD
      SVProgressHUDMaskTypeGradient // don't allow and dim the UI with a a-la-alert-view bg gradient
  };
  
  typedef NSUInteger SVProgressHUDMaskType;
  
  @interface SVProgressHUD : UIView
  
  #if __IPHONE_OS_VERSION_MIN_REQUIRED >= 50000
  @property (readwrite, nonatomic, retain) UIColor *hudBackgroundColor NS_AVAILABLE_IOS(5_0) UI_APPEARANCE_SELECTOR;
  @property (readwrite, nonatomic, retain) UIColor *hudForegroundColor NS_AVAILABLE_IOS(5_0) UI_APPEARANCE_SELECTOR;
  @property (readwrite, nonatomic, retain) UIColor *hudStatusShadowColor NS_AVAILABLE_IOS(5_0) UI_APPEARANCE_SELECTOR;
  @property (readwrite, nonatomic, retain) UIColor *hudRingBackgroundColor NS_AVAILABLE_IOS(5_0) UI_APPEARANCE_SELECTOR;
  @property (readwrite, nonatomic, retain) UIColor *hudRingForegroundColor NS_AVAILABLE_IOS(5_0) UI_APPEARANCE_SELECTOR;
  @property (readwrite, nonatomic, retain) UIFont *hudFont NS_AVAILABLE_IOS(5_0) UI_APPEARANCE_SELECTOR;
  @property (readwrite, nonatomic, retain) UIImage *hudSuccessImage NS_AVAILABLE_IOS(5_0) UI_APPEARANCE_SELECTOR;
  @property (readwrite, nonatomic, retain) UIImage *hudErrorImage NS_AVAILABLE_IOS(5_0) UI_APPEARANCE_SELECTOR;
  #endif
  
  + (void)setOffsetFromCenter:(UIOffset)offset;
  + (void)resetOffsetFromCenter;
  
  + (void)show;
  + (void)showWithMaskType:(SVProgressHUDMaskType)maskType;
  + (void)showWithStatus:(NSString*)status;
  + (void)showWithStatus:(NSString*)status maskType:(SVProgressHUDMaskType)maskType;
  
  + (void)showProgress:(float)progress;
  + (void)showProgress:(float)progress status:(NSString*)status;
  + (void)showProgress:(float)progress status:(NSString*)status maskType:(SVProgressHUDMaskType)maskType;
  
  + (void)setStatus:(NSString*)string; // change the HUD loading status while it's showing
  
  // stops the activity indicator, shows a glyph + status, and dismisses HUD 1s later
  + (void)showSuccessWithStatus:(NSString*)string;
  + (void)showErrorWithStatus:(NSString *)string;
  + (void)showImage:(UIImage*)image status:(NSString*)status; // use 28x28 white pngs
  
  + (void)popActivity;
  + (void)dismiss;
  
  + (BOOL)isVisible;
  
  @end
  