Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //
- // GraphicView.swift
- // W24X
- //
- // Created by Anil on 21/03/15.
- // Copyright (c) 2015 Variya Soft Solutions. All rights reserved.
- //
- import UIKit
- protocol GraphicViewDelegate {
- func metarTouchedWithMetar(thisMetar: MetarObject)
- func tafTouchedWithTAF(thisTAF: TAFObject)
- func metarDataToggleTouched()
- }
- let DEGREES_TO_RADIANS(degrees)((M_PI * degrees)/180)
- class GraphicView: UIView {
- // delegates
- var appDelegate = AppDelegate()
- var myDelegate : GraphicViewDelegate?
- // vars
- var thisStation = StationObject()
- var graphicBackgroundColor = UIColor()
- var baseRadius = Float()
- var metarObjectBase = MetarObject()
- var tfrObjectBase = TFRObject()
- var tafObjectBase = TAFObject()
- var airmetObjectBase = AirmetObject()
- func metarSingleTap(gesture : UITapGestureRecognizer){
- // callback
- myDelegate?.metarDataToggleTouched()
- }
- func metarDoubleTap(gesture: UITapGestureRecognizer!){
- //callback
- myDelegate?.metarTouchedWithMetar(metarObjectBase)
- }
- func tafSingleTap(gesture: UITapGestureRecognizer!){
- //callback
- println("Single")
- }
- func tafDoubleTap(gesture: UITapGestureRecognizer!){
- //callback
- myDelegate?.tafTouchedWithTAF(tafObjectBase)
- }
- func updateView(){
- self.setNeedsDisplay()
- }
- override func drawRect(rect: CGRect){
- //Drawing Code
- println("drawing")
- //check
- if self.subviews.count > 0{
- //clear
- for tempView in self.subviews{
- //remove
- (tempView as UIView).removeFromSuperview()
- }
- }
- //vars
- var center = CGPointMake(self.frame.size.width / 2, self.frame.size.height / 2)
- var metarRadius: Float = baseRadius;
- var tfrRadius : Float = metarRadius + 8
- var tafRadius : Float = tfrRadius + 48
- var tafOuterPadding : Float = 1
- var airmetIFRRadius : Float = tafRadius + tafOuterPadding + 8
- var airmetIFROuterPadding : Float = 1
- var airmetICERadius : Float = airmetIFRRadius + airmetIFROuterPadding + 8
- var airmetICEOuterPadding : Float = 1
- var airmetTURBRadius : Float = airmetICERadius + airmetICEOuterPadding + 8
- var airmetTURBOuterPadding : Float = 1
- var airmetMTNRadius : Float = airmetTURBRadius + airmetTURBOuterPadding + 8
- var airmetMTNOuterPadding : Float = 1
- var airmetCONVRadius : Float = airmetMTNRadius + airmetMTNOuterPadding + 8
- // offset
- var nowDate = NSDate()
- //dout
- var timeZoneSeconds = NSTimeInterval(NSTimeZone.localTimeZone().secondsFromGMT)
- var utcDate : NSDate = nowDate.dateByAddingTimeInterval(timeZoneSeconds * -1)
- var metarDate : NSDate = metarObjectBase.dateUTC
- var distanceBetweenDates : NSTimeInterval = utcDate.timeIntervalSinceDate(metarDate)
- var minutesInAnHour : Double = 60
- var secondsInAnHour : Double = 3600
- var minutesBetweenDates = NSInteger(distanceBetweenDates / minutesInAnHour)
- var hoursBetweenDates = NSInteger(distanceBetweenDates / secondsInAnHour)
- var timeOffset = NSInteger(hoursBetweenDates)
- //check
- if appDelegate.myGlobals.airmetOn {
- /* ==================== */
- // airmet conv bkg
- /* ====================*/
- var airmetCONVBkg : UIBezierPath = UIBezierPath(arcCenter: center, radius: airmetCONVRadius, startAngle: DEGREES_TO_RADIANS(0), endAngle: DEGREES_TO_RADIANS(360), clockwise: true)
- graphicBackgroundColor.setFill()
- airmetCONVBkg.fill()
- /* ==================== */
- // airmet conv
- /* ====================*/
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement