WMGaugeView.h 3.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. /*
  2. * WMGaugeView.h
  3. *
  4. * Copyright (C) 2014 William Markezana <william.markezana@me.com>
  5. *
  6. */
  7. #import <UIKit/UIKit.h>
  8. #import "WMGaugeViewStyle.h"
  9. #import "WMGaugeViewStyleFlatThin.h"
  10. #import "WMGaugeViewStyle3D.h"
  11. /**
  12. * Styling enumerations
  13. */
  14. typedef NS_ENUM(NSUInteger, WMGaugeViewSubdivisionsAlignment) {
  15. WMGaugeViewSubdivisionsAlignmentTop,
  16. WMGaugeViewSubdivisionsAlignmentCenter,
  17. WMGaugeViewSubdivisionsAlignmentBottom
  18. };
  19. /**
  20. * WMGaugeView class
  21. */
  22. @interface WMGaugeView : UIView
  23. /**
  24. * WMGaugeView properties
  25. */
  26. @property (nonatomic, readwrite, assign) bool showInnerBackground;
  27. @property (nonatomic, readwrite, assign) bool showInnerRim;
  28. @property (nonatomic, readwrite, assign) CGFloat innerRimWidth;
  29. @property (nonatomic, readwrite, assign) CGFloat innerRimBorderWidth;
  30. @property (nonatomic, readwrite, assign) CGFloat scalePosition;
  31. @property (nonatomic, readwrite, assign) CGFloat scaleStartAngle;
  32. @property (nonatomic, readwrite, assign) CGFloat scaleEndAngle;
  33. @property (nonatomic, readwrite, assign) CGFloat scaleDivisions;
  34. @property (nonatomic, readwrite, assign) CGFloat scaleSubdivisions;
  35. @property (nonatomic, readwrite, assign) bool showScaleShadow;
  36. @property (nonatomic, readwrite, assign) bool showScale;
  37. @property (nonatomic, readwrite, assign) bool showScaleValues;
  38. @property (nonatomic, readwrite, assign) WMGaugeViewSubdivisionsAlignment scalesubdivisionsAligment;
  39. @property (nonatomic, readwrite, assign) CGFloat scaleDivisionsLength;
  40. @property (nonatomic, readwrite, assign) CGFloat scaleDivisionsWidth;
  41. @property (nonatomic, readwrite, assign) CGFloat scaleSubdivisionsLength;
  42. @property (nonatomic, readwrite, assign) CGFloat scaleSubdivisionsWidth;
  43. @property (nonatomic, readwrite, strong) UIColor *scaleDivisionColor;
  44. @property (nonatomic, readwrite, strong) UIColor *scaleSubDivisionColor;
  45. @property (nonatomic, readwrite, strong) UIFont *scaleFont;
  46. @property (nonatomic, readwrite, assign) float value;
  47. @property (nonatomic, readwrite, assign) float minValue;
  48. @property (nonatomic, readwrite, assign) float maxValue;
  49. @property (nonatomic, readwrite, assign) bool showRangeLabels;
  50. @property (nonatomic, readwrite, assign) CGFloat rangeLabelsWidth;
  51. @property (nonatomic, readwrite, strong) UIFont *rangeLabelsFont;
  52. @property (nonatomic, readwrite, assign) BOOL adjustRangeLabelSizeToFitWidth;
  53. @property (nonatomic, readwrite, strong) UIColor *rangeLabelsFontColor;
  54. @property (nonatomic, readwrite, assign) CGFloat rangeLabelsFontKerning;
  55. @property (nonatomic, readwrite, strong) NSArray<NSNumber*> *rangeValues;
  56. @property (nonatomic, readwrite, strong) NSArray<UIColor*> *rangeColors;
  57. @property (nonatomic, readwrite, strong) NSArray<NSString*> *rangeLabels;
  58. @property (nonatomic, readwrite, strong) UIColor *unitOfMeasurementColor;
  59. @property (nonatomic, readwrite, assign) CGFloat unitOfMeasurementVerticalOffset;
  60. @property (nonatomic, readwrite, strong) UIFont *unitOfMeasurementFont;
  61. @property (nonatomic, readwrite, strong) NSString *unitOfMeasurement;
  62. @property (nonatomic, readwrite, assign) bool showUnitOfMeasurement;
  63. @property (nonatomic, readwrite, strong) id<WMGaugeViewStyle> style;
  64. /**
  65. * WMGaugeView public functions
  66. */
  67. - (void)setValue:(float)value animated:(BOOL)animated;
  68. - (void)setValue:(float)value animated:(BOOL)animated completion:(void (^)(BOOL finished))completion;
  69. - (void)setValue:(float)value animated:(BOOL)animated duration:(NSTimeInterval)duration;
  70. - (void)setValue:(float)value animated:(BOOL)animated duration:(NSTimeInterval)duration completion:(void (^)(BOOL finished))completion;
  71. @end