ArcGIS Runtime SDK for iOS: AGSLabelDefinition.h Source File
ArcGIS Runtime SDK for iOS  100.15
AGSLabelDefinition.h
Go to the documentation of this file.
1 /*
2  COPYRIGHT 2022 ESRI
3 
4  All rights reserved under the copyright laws of the United States
5  and applicable international laws, treaties, and conventions.
6 
7  This material is licensed for use under the Esri Master License
8  Agreement (MLA), and is bound by the terms of that agreement.
9  You may redistribute and use this code without modification,
10  provided you adhere to the terms of the MLA and include this
11  copyright notice.
12 
13  See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english
14 
15  For additional information, contact:
16  Environmental Systems Research Institute, Inc.
17  Attn: Contracts and Legal Services Department
18  380 New York Street
19  Redlands, California, 92373
20  USA
21 
22  email: contracts@esri.com
23  */
24  //Required for Globals API doc
26 
27 #import <Foundation/Foundation.h>
28 #import <CoreGraphics/CGBase.h>
29 #import <ArcGIS/AGSObject.h>
30 #import <ArcGIS/AGSJSONSerializable.h>
31 #import <ArcGIS/AGSLabelingInfo.h>
32 
33 
34 
38 typedef NS_ENUM(NSInteger, AGSLabelDeconflictionStrategy) {
44 };
45 
49 typedef NS_ENUM(NSInteger, AGSLabelLineConnection) {
54 };
55 
59 typedef NS_ENUM(NSInteger, AGSLabelMultipartStrategy) {
65 };
66 
70 typedef NS_ENUM(NSInteger, AGSLabelOverlapStrategy) {
75 };
76 
80 typedef NS_ENUM(NSInteger, AGSLabelOverrunStrategy) {
84 };
85 
90 typedef NS_ENUM(NSInteger, AGSLabelRemoveDuplicatesStrategy) {
96 };
97 
101 typedef NS_ENUM(NSInteger, AGSLabelRepeatStrategy) {
105 };
106 
111 typedef NS_ENUM(NSInteger, AGSLabelTextLayout) {
117 };
118 
122 typedef NS_ENUM(NSInteger, AGSLabelTextOrientation) {
126 };
127 
138 typedef NS_ENUM(NSInteger, AGSLabelStackAlignment) {
142 };
143 
149 typedef NS_ENUM(NSInteger, AGSLabelStackBreakPosition) {
153 };
154 
158 typedef NS_ENUM(NSInteger, AGSLabelStackStrategy) {
162 };
163 
164 @class AGSLabelExpression;
166 @class AGSTextSymbol;
167 @class AGSLabelAngle;
168 
225 
226 #pragma mark -
227 #pragma mark initializers
228 
234 - (instancetype)initWithLabelExpression:(AGSLabelExpression *)labelExpression
235  textSymbol:(nullable AGSTextSymbol *)textSymbol;
236 
242 + (instancetype)labelDefinitionWithLabelExpression:(AGSLabelExpression *)labelExpression
243  textSymbol:(nullable AGSTextSymbol *)textSymbol;
244 
245 #pragma mark -
246 #pragma mark properties
247 
261 @property (nullable, nonatomic, strong, readwrite) AGSLabelAngle *angle;
262 
271 @property (nonatomic, assign, readwrite) AGSLabelDeconflictionStrategy deconflictionStrategy;
272 
313 @property (nonatomic, strong, readwrite) AGSLabelExpression *expression;
314 
322 @property (nonatomic, assign, readwrite) AGSLabelOverlapStrategy featureBoundaryOverlapStrategy;
323 
331 @property (nonatomic, assign, readwrite) AGSLabelOverlapStrategy featureInteriorOverlapStrategy;
332 
341 @property (nonatomic, assign, readwrite) AGSLabelOverlapStrategy labelOverlapStrategy;
342 
350 @property (nonatomic, assign, readwrite) AGSLabelLineConnection lineConnection;
351 
362 @property (nonatomic, assign, readwrite) double maxScale;
363 
374 @property (nonatomic, assign, readwrite) double minScale;
375 
381 @property (nonatomic, assign, readwrite) AGSLabelMultipartStrategy multipartStrategy;
382 
390 @property (nonatomic, copy, readwrite) NSString *name;
391 
403 @property (nonatomic, assign, readwrite) CGFloat offsetDistance;
404 
412 @property (nonatomic, assign, readwrite) AGSLabelOverrunStrategy overrunStrategy;
413 
423 @property (nonatomic, assign, readwrite) AGSLabelingPlacement placement;
424 
449 @property (nonatomic, assign, readwrite) double priority;
450 
458 @property (nonatomic, assign, readwrite) CGFloat removeDuplicatesDistance;
459 
470 @property (nonatomic, assign, readwrite) AGSLabelRemoveDuplicatesStrategy removeDuplicatesStrategy;
471 
481 @property (nonatomic, assign, readwrite) CGFloat repeatDistance;
482 
492 @property (nonatomic, assign, readwrite) AGSLabelRepeatStrategy repeatStrategy;
493 
510 @property (nonatomic, assign, readwrite) AGSLabelStackAlignment stackAlignment;
511 
525 @property (nonatomic, assign, readwrite) double stackRowLength;
526 
556 @property (nonatomic, copy, readwrite) NSArray<AGSLabelStackSeparator *> *stackSeparators;
557 
566 @property (nonatomic, assign, readwrite) AGSLabelStackStrategy stackStrategy;
567 
584 @property (nonatomic, assign, readwrite) AGSLabelTextLayout textLayout;
585 
598 @property (nonatomic, assign, readwrite) AGSLabelTextOrientation textOrientation;
599 
605 @property (nullable, nonatomic, strong, readwrite) AGSTextSymbol *textSymbol;
606 
616 @property (nonatomic, assign, readwrite) BOOL useCodedValues;
617 
628 @property (nonatomic, copy, readwrite) NSString *whereClause;
629 
644 @property (nonatomic, assign, readwrite) AGSLabelStackBreakPosition stackBreakPosition;
645 
646 @end
647 
649 
656 - (instancetype)init ;
657 
664 + (instancetype)labelDefinition ;
665 
666 @end
667 
668 
AGSLabelOverlapStrategy
Definition: AGSLabelDefinition.h:70
@ AGSLabelOverlapStrategyAllow
Definition: AGSLabelDefinition.h:72
@ AGSLabelOverlapStrategyExclude
Definition: AGSLabelDefinition.h:74
@ AGSLabelOverlapStrategyAutomatic
Definition: AGSLabelDefinition.h:71
@ AGSLabelOverlapStrategyAvoid
Definition: AGSLabelDefinition.h:73
AGSLabelOverrunStrategy
Definition: AGSLabelDefinition.h:80
@ AGSLabelOverrunStrategyAutomatic
Definition: AGSLabelDefinition.h:81
@ AGSLabelOverrunStrategyAllow
Definition: AGSLabelDefinition.h:83
@ AGSLabelOverrunStrategyNone
Definition: AGSLabelDefinition.h:82
AGSLabelStackBreakPosition
Definition: AGSLabelDefinition.h:149
@ AGSLabelStackBreakPositionBefore
Definition: AGSLabelDefinition.h:152
@ AGSLabelStackBreakPositionAfter
Definition: AGSLabelDefinition.h:151
@ AGSLabelStackBreakPositionAutomatic
Definition: AGSLabelDefinition.h:150
AGSLabelDeconflictionStrategy
Definition: AGSLabelDefinition.h:38
@ AGSLabelDeconflictionStrategyDynamicNeverRemove
Definition: AGSLabelDefinition.h:43
@ AGSLabelDeconflictionStrategyDynamic
Definition: AGSLabelDefinition.h:40
@ AGSLabelDeconflictionStrategyNone
Definition: AGSLabelDefinition.h:41
@ AGSLabelDeconflictionStrategyStatic
Definition: AGSLabelDefinition.h:42
@ AGSLabelDeconflictionStrategyAutomatic
Definition: AGSLabelDefinition.h:39
AGSLabelStackStrategy
Definition: AGSLabelDefinition.h:158
@ AGSLabelStackStrategyAllow
Definition: AGSLabelDefinition.h:161
@ AGSLabelStackStrategyNone
Definition: AGSLabelDefinition.h:160
@ AGSLabelStackStrategyAutomatic
Definition: AGSLabelDefinition.h:159
AGSLabelTextLayout
Definition: AGSLabelDefinition.h:111
@ AGSLabelTextLayoutFollowFeature
Definition: AGSLabelDefinition.h:116
@ AGSLabelTextLayoutAutomatic
Definition: AGSLabelDefinition.h:112
@ AGSLabelTextLayoutStraight
Definition: AGSLabelDefinition.h:115
@ AGSLabelTextLayoutHorizontal
Definition: AGSLabelDefinition.h:113
@ AGSLabelTextLayoutPerpendicular
Definition: AGSLabelDefinition.h:114
AGSLabelStackAlignment
Definition: AGSLabelDefinition.h:138
@ AGSLabelStackAlignmentTextSymbol
Definition: AGSLabelDefinition.h:141
@ AGSLabelStackAlignmentDynamic
Definition: AGSLabelDefinition.h:140
@ AGSLabelStackAlignmentAutomatic
Definition: AGSLabelDefinition.h:139
AGSLabelMultipartStrategy
Definition: AGSLabelDefinition.h:59
@ AGSLabelMultipartStrategyLabelPerSegment
Definition: AGSLabelDefinition.h:64
@ AGSLabelMultipartStrategyLabelPerPart
Definition: AGSLabelDefinition.h:63
@ AGSLabelMultipartStrategyAutomatic
Definition: AGSLabelDefinition.h:60
@ AGSLabelMultipartStrategyLabelLargest
Definition: AGSLabelDefinition.h:61
@ AGSLabelMultipartStrategyLabelPerFeature
Definition: AGSLabelDefinition.h:62
AGSLabelRemoveDuplicatesStrategy
Definition: AGSLabelDefinition.h:90
@ AGSLabelRemoveDuplicatesStrategyNone
Definition: AGSLabelDefinition.h:95
@ AGSLabelRemoveDuplicatesStrategyLabelClass
Definition: AGSLabelDefinition.h:94
@ AGSLabelRemoveDuplicatesStrategyAll
Definition: AGSLabelDefinition.h:92
@ AGSLabelRemoveDuplicatesStrategyFeatureType
Definition: AGSLabelDefinition.h:93
@ AGSLabelRemoveDuplicatesStrategyAutomatic
Definition: AGSLabelDefinition.h:91
AGSLabelRepeatStrategy
Definition: AGSLabelDefinition.h:101
@ AGSLabelRepeatStrategyNone
Definition: AGSLabelDefinition.h:103
@ AGSLabelRepeatStrategyAutomatic
Definition: AGSLabelDefinition.h:102
@ AGSLabelRepeatStrategyRepeat
Definition: AGSLabelDefinition.h:104
AGSLabelTextOrientation
Definition: AGSLabelDefinition.h:122
@ AGSLabelTextOrientationAutomatic
Definition: AGSLabelDefinition.h:123
@ AGSLabelTextOrientationDirection
Definition: AGSLabelDefinition.h:124
@ AGSLabelTextOrientationScreen
Definition: AGSLabelDefinition.h:125
AGSLabelLineConnection
Definition: AGSLabelDefinition.h:49
@ AGSLabelLineConnectionUnambiguousLabels
Definition: AGSLabelDefinition.h:53
@ AGSLabelLineConnectionMinimizeLabels
Definition: AGSLabelDefinition.h:51
@ AGSLabelLineConnectionAutomatic
Definition: AGSLabelDefinition.h:50
@ AGSLabelLineConnectionNone
Definition: AGSLabelDefinition.h:52
AGSLabelingPlacement
Definition: AGSLabelingInfo.h:36
Definition: AGSLabelDefinition.h:648
Specifies how to calculate the angular position and layout direction for labels on or around point fe...
Definition: AGSLabelAngle.h:52
An object that defines the text, appearance, and position of labels for features within a given scale...
Definition: AGSLabelDefinition.h:224
AGSLabelOverlapStrategy featureBoundaryOverlapStrategy
Definition: AGSLabelDefinition.h:322
AGSLabelStackStrategy stackStrategy
Definition: AGSLabelDefinition.h:566
NSString * name
Definition: AGSLabelDefinition.h:390
AGSLabelRemoveDuplicatesStrategy removeDuplicatesStrategy
Definition: AGSLabelDefinition.h:470
AGSLabelLineConnection lineConnection
Definition: AGSLabelDefinition.h:350
AGSLabelOverrunStrategy overrunStrategy
Definition: AGSLabelDefinition.h:412
AGSLabelingPlacement placement
Definition: AGSLabelDefinition.h:423
CGFloat removeDuplicatesDistance
Definition: AGSLabelDefinition.h:458
NSArray< AGSLabelStackSeparator * > * stackSeparators
Definition: AGSLabelDefinition.h:556
AGSLabelStackAlignment stackAlignment
Definition: AGSLabelDefinition.h:510
NSString * whereClause
Definition: AGSLabelDefinition.h:628
AGSTextSymbol * textSymbol
Definition: AGSLabelDefinition.h:605
AGSLabelExpression * expression
Definition: AGSLabelDefinition.h:313
double maxScale
Definition: AGSLabelDefinition.h:362
CGFloat offsetDistance
Definition: AGSLabelDefinition.h:403
BOOL useCodedValues
Definition: AGSLabelDefinition.h:616
double minScale
Definition: AGSLabelDefinition.h:374
AGSLabelOverlapStrategy featureInteriorOverlapStrategy
Definition: AGSLabelDefinition.h:331
AGSLabelStackBreakPosition stackBreakPosition
Definition: AGSLabelDefinition.h:644
AGSLabelOverlapStrategy labelOverlapStrategy
Definition: AGSLabelDefinition.h:341
AGSLabelAngle * angle
Definition: AGSLabelDefinition.h:261
AGSLabelMultipartStrategy multipartStrategy
Definition: AGSLabelDefinition.h:381
AGSLabelTextOrientation textOrientation
Definition: AGSLabelDefinition.h:598
AGSLabelDeconflictionStrategy deconflictionStrategy
Definition: AGSLabelDefinition.h:271
double stackRowLength
Definition: AGSLabelDefinition.h:525
AGSLabelRepeatStrategy repeatStrategy
Definition: AGSLabelDefinition.h:492
AGSLabelTextLayout textLayout
Definition: AGSLabelDefinition.h:584
CGFloat repeatDistance
Definition: AGSLabelDefinition.h:481
double priority
Definition: AGSLabelDefinition.h:449
Abstract base class for the different types of expressions that can be used to create label text....
Definition: AGSLabelExpression.h:40
A separator character in a label, where a line break may be inserted in long text.
Definition: AGSLabelStackSeparator.h:53
Definition: AGSObject.h:28
A text symbol.
Definition: AGSTextSymbol.h:92
A protocol to convert objects to and from JSON.
Definition: AGSJSONSerializable.h:38