diff options
author | Minh Nguyễn <mxn@1ec5.org> | 2016-06-13 14:47:13 -0700 |
---|---|---|
committer | Konstantin Käfer <mail@kkaefer.com> | 2016-06-14 10:02:06 +0200 |
commit | b9702ef41a4cfdd0ab3107cfe5cec16ba3a4c230 (patch) | |
tree | 21a11f25139c129561d6830932a9eee4f2be895d /platform/macos/src/MGLCompassCell.m | |
parent | 1e41c151f6edfba69037c854a5cb7abc18bb55e7 (diff) | |
download | qtlocation-mapboxgl-b9702ef41a4cfdd0ab3107cfe5cec16ba3a4c230.tar.gz |
[macos] Renamed OS X SDK to macOS SDK
Also renamed as many references to OS X as possible to macOS in documentation.
Diffstat (limited to 'platform/macos/src/MGLCompassCell.m')
-rw-r--r-- | platform/macos/src/MGLCompassCell.m | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/platform/macos/src/MGLCompassCell.m b/platform/macos/src/MGLCompassCell.m new file mode 100644 index 0000000000..b3a4ad4544 --- /dev/null +++ b/platform/macos/src/MGLCompassCell.m @@ -0,0 +1,34 @@ +#import "MGLCompassCell.h" + +@implementation MGLCompassCell + +- (instancetype)init { + if (self = [super init]) { + self.sliderType = NSCircularSlider; + // A tick mark for each cardinal direction. + self.numberOfTickMarks = 4; + // This slider goes backwards! + self.minValue = -360; + self.maxValue = 0; + } + return self; +} + +- (void)drawKnob:(NSRect)knobRect { + // Draw a red triangle pointing whichever way the slider is facing. + NSBezierPath *trianglePath = [NSBezierPath bezierPath]; + [trianglePath moveToPoint:NSMakePoint(NSMinX(knobRect), NSMaxY(knobRect))]; + [trianglePath lineToPoint:NSMakePoint(NSMaxX(knobRect), NSMaxY(knobRect))]; + [trianglePath lineToPoint:NSMakePoint(NSMidX(knobRect), NSMinY(knobRect))]; + [trianglePath closePath]; + NSAffineTransform *transform = [NSAffineTransform transform]; + [transform translateXBy:NSMidX(knobRect) yBy:NSMidY(knobRect)]; + [transform scaleBy:0.8]; + [transform rotateByDegrees:self.doubleValue]; + [transform translateXBy:-NSMidX(knobRect) yBy:-NSMidY(knobRect)]; + [trianglePath transformUsingAffineTransform:transform]; + [[NSColor redColor] setFill]; + [trianglePath fill]; +} + +@end |