aboutsummaryrefslogtreecommitdiff
path: root/iosApp/WhirlyGlobeMaplyComponent.xcframework/ios-arm64/WhirlyGlobeMaplyComponent.framework/Headers/GlobePinchDelegate.h
blob: 35d40d85087bc1939e28293ba2a4b1c7e9423846 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
/*  GlobePinchDelegate.h
 *  WhirlyGlobeLib
 *
 *  Created by Steve Gifford on 8/22/12.
 *  Copyright 2012-2022 mousebird consulting
 *
 *  Licensed under the Apache License, Version 2.0 (the "License");
 *  you may not use this file except in compliance with the License.
 *  You may obtain a copy of the License at
 *  http://www.apache.org/licenses/LICENSE-2.0
 *
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 */

#import <UIKit/UIKit.h>

@class WhirlyGlobeRotateDelegate;

// Sent out when the pinch delegate takes control
#define kPinchDelegateDidStart @"WKPinchDelegateStarted"
// Sent out when the pinch delegate finished (but hands off to momentum)
#define kPinchDelegateDidEnd @"WKPinchDelegateEnded"

/** WhirlyGlobe Pinch Gesture Delegate
 Responds to pinches on a UIView and manipulates the globe view
 accordingly.
 */
@interface WhirlyGlobePinchDelegate : NSObject <UIGestureRecognizerDelegate>

/// Min and max height to allow the user to change
@property (nonatomic,assign) float minHeight,maxHeight;

/// If set we're cooperating with the rotation delegate (HACK!)
@property (nonatomic,weak) WhirlyGlobeRotateDelegate *rotateDelegate;

/// If set, we'll zoom around the pinch, rather than the center of the view
@property (nonatomic,assign) bool zoomAroundPinch;

/// If set, we'll rotate around the pinch
@property (nonatomic,assign) bool doRotation;

/// If set, we'll pan around the center point.  If not, we just zoom.
@property (nonatomic,assign) bool allowPan;

/// If set, we'll maintain north as up
@property (nonatomic,assign) bool northUp;

@property (nonatomic,weak) UIGestureRecognizer *gestureRecognizer;

// If set, we'll keep track up rather than north up
- (void)setTrackUp:(double)trackUp;

// Turn track up back off
- (void)clearTrackUp;


@end