esriCarto.tlh
上传用户:juying163
上传日期:2014-09-24
资源大小:5867k
文件大小:859k
源码类别:

GIS编程

开发平台:

Visual C++

  1.     virtual HRESULT __stdcall get_CenterRight (
  2.         long * Priority ) = 0;
  3.     virtual HRESULT __stdcall put_CenterRight (
  4.         long Priority ) = 0;
  5.     virtual HRESULT __stdcall get_BelowRight (
  6.         long * Priority ) = 0;
  7.     virtual HRESULT __stdcall put_BelowRight (
  8.         long Priority ) = 0;
  9.     virtual HRESULT __stdcall get_BelowCenter (
  10.         long * Priority ) = 0;
  11.     virtual HRESULT __stdcall put_BelowCenter (
  12.         long Priority ) = 0;
  13.     virtual HRESULT __stdcall get_BelowLeft (
  14.         long * Priority ) = 0;
  15.     virtual HRESULT __stdcall put_BelowLeft (
  16.         long Priority ) = 0;
  17.     virtual HRESULT __stdcall get_CenterLeft (
  18.         long * Priority ) = 0;
  19.     virtual HRESULT __stdcall put_CenterLeft (
  20.         long Priority ) = 0;
  21. };
  22. struct __declspec(uuid("aa157206-e079-11d2-9f48-00c04f6bc6a5"))
  23. IAnnotationExpressionEngine : IUnknown
  24. {
  25.     //
  26.     // Raw methods provided by interface
  27.     //
  28.     virtual HRESULT __stdcall get_Name (
  29.         BSTR * Expression ) = 0;
  30.     virtual HRESULT __stdcall get_AppendCode (
  31.         BSTR * AppendCode ) = 0;
  32.     virtual HRESULT __stdcall CreateFunction (
  33.         BSTR Name,
  34.         BSTR parameters,
  35.         BSTR Expression,
  36.         BSTR * function ) = 0;
  37.     virtual HRESULT __stdcall SetExpression (
  38.         BSTR preCode,
  39.         BSTR Expression,
  40.         struct IAnnotationExpressionParser * * ExpressionParser ) = 0;
  41.     virtual HRESULT __stdcall SetCode (
  42.         BSTR fullCode,
  43.         BSTR runFunction,
  44.         struct IAnnotationExpressionParser * * ExpressionParser ) = 0;
  45. };
  46. struct __declspec(uuid("aa157205-e079-11d2-9f48-00c04f6bc6a5"))
  47. IAnnotationExpressionParser : IUnknown
  48. {
  49.     //
  50.     // Raw methods provided by interface
  51.     //
  52.     virtual HRESULT __stdcall get_Expression (
  53.         BSTR * Expression ) = 0;
  54.     virtual HRESULT __stdcall get_AttributeCount (
  55.         long * attributes ) = 0;
  56.     virtual HRESULT __stdcall get_Attribute (
  57.         long Index,
  58.         BSTR * Attribute ) = 0;
  59.     virtual HRESULT __stdcall FindLabel (
  60.         struct IFeature * Feature,
  61.         BSTR * Label ) = 0;
  62.     virtual HRESULT __stdcall LastError (
  63.         long * number,
  64.         long * line,
  65.         BSTR * Description ) = 0;
  66. };
  67. enum esriSymbolRotationType
  68. {
  69.     esriRotateSymbolGeographic = 0,
  70.     esriRotateSymbolArithmetic = 1
  71. };
  72. enum esriOverposterCaps
  73. {
  74.     esriCanPlaceLabels = 0,
  75.     esriCanPlaceSymbols = 1,
  76.     esriCanAddBarriers = 2
  77. };
  78. enum esriOverposterPolygonPlacementMethod
  79. {
  80.     esriAlwaysHorizontal = 0,
  81.     esriAlwaysStraight = 1,
  82.     esriMixedStrategy = 2
  83. };
  84. enum esriPlacedObjectType
  85. {
  86.     esriPlacedLabel = 0,
  87.     esriPlacedSymbol = 1
  88. };
  89. enum esriPlacementCode
  90. {
  91.     esriPlacementOk = 0,
  92.     esriPlacementUnplaced = 1,
  93.     esriPlacementSystemError = 2
  94. };
  95. enum esriLabelRotationType
  96. {
  97.     esriRotateLabelGeographic = 0,
  98.     esriRotateLabelArithmetic = 1,
  99.     esriRotateLabelRadians = 2,
  100.     esriRotateLabelAV3 = 3
  101. };
  102. struct __declspec(uuid("01c12b93-a3fb-11d2-a2fe-080009b6f22b"))
  103. BarrierCollection;
  104.     // [ default ] interface IUnknown
  105.     // interface IBarrierCollection
  106. struct __declspec(uuid("3141f2f2-38e2-11d1-8809-080009ec732a"))
  107. IPlacedObject : IUnknown
  108. {
  109.     //
  110.     // Raw methods provided by interface
  111.     //
  112.     virtual HRESULT __stdcall get_ObjectType (
  113.         enum esriPlacedObjectType * Type ) = 0;
  114.     virtual HRESULT __stdcall put_ObjectType (
  115.         enum esriPlacedObjectType Type ) = 0;
  116.     virtual HRESULT __stdcall get_FeatureId (
  117.         long * FeatureId ) = 0;
  118.     virtual HRESULT __stdcall put_FeatureId (
  119.         long FeatureId ) = 0;
  120.     virtual HRESULT __stdcall get_ControlShape (
  121.         struct IGeometry * * Shape ) = 0;
  122.     virtual HRESULT __stdcall put_ControlShape (
  123.         struct IGeometry * Shape ) = 0;
  124.     virtual HRESULT __stdcall get_Label (
  125.         BSTR * Label ) = 0;
  126.     virtual HRESULT __stdcall put_Label (
  127.         BSTR Label ) = 0;
  128.     virtual HRESULT __stdcall get_ClassIndex (
  129.         long * Index ) = 0;
  130.     virtual HRESULT __stdcall put_ClassIndex (
  131.         long Index ) = 0;
  132.     virtual HRESULT __stdcall get_PlacementCode (
  133.         enum esriPlacementCode * PlacementCode ) = 0;
  134.     virtual HRESULT __stdcall put_PlacementCode (
  135.         enum esriPlacementCode PlacementCode ) = 0;
  136.     virtual HRESULT __stdcall get_PlacementMessage (
  137.         BSTR * message ) = 0;
  138.     virtual HRESULT __stdcall put_PlacementMessage (
  139.         BSTR message ) = 0;
  140.     virtual HRESULT __stdcall get_Angle (
  141.         double * Angle ) = 0;
  142. };
  143. struct __declspec(uuid("bddfa62b-1810-4e9c-85c3-2c2b50ea70b6"))
  144. IPlacedObject2 : IUnknown
  145. {
  146.     //
  147.     // Raw methods provided by interface
  148.     //
  149.     virtual HRESULT __stdcall get_ObjectType (
  150.         enum esriPlacedObjectType * Type ) = 0;
  151.     virtual HRESULT __stdcall put_ObjectType (
  152.         enum esriPlacedObjectType Type ) = 0;
  153.     virtual HRESULT __stdcall get_FeatureId (
  154.         long * FeatureId ) = 0;
  155.     virtual HRESULT __stdcall put_FeatureId (
  156.         long FeatureId ) = 0;
  157.     virtual HRESULT __stdcall get_ControlShape (
  158.         struct IGeometry * * Shape ) = 0;
  159.     virtual HRESULT __stdcall put_ControlShape (
  160.         struct IGeometry * Shape ) = 0;
  161.     virtual HRESULT __stdcall get_Label (
  162.         BSTR * Label ) = 0;
  163.     virtual HRESULT __stdcall put_Label (
  164.         BSTR Label ) = 0;
  165.     virtual HRESULT __stdcall get_ClassIndex (
  166.         long * Index ) = 0;
  167.     virtual HRESULT __stdcall put_ClassIndex (
  168.         long Index ) = 0;
  169.     virtual HRESULT __stdcall get_PlacementCode (
  170.         enum esriPlacementCode * PlacementCode ) = 0;
  171.     virtual HRESULT __stdcall put_PlacementCode (
  172.         enum esriPlacementCode PlacementCode ) = 0;
  173.     virtual HRESULT __stdcall get_PlacementMessage (
  174.         BSTR * message ) = 0;
  175.     virtual HRESULT __stdcall put_PlacementMessage (
  176.         BSTR message ) = 0;
  177.     virtual HRESULT __stdcall get_Angle (
  178.         double * Angle ) = 0;
  179.     virtual HRESULT __stdcall get_ControlShapeEndPoint (
  180.         WKSPoint * point ) = 0;
  181.     virtual HRESULT __stdcall get_LabelWidth (
  182.         double * Width ) = 0;
  183.     virtual HRESULT __stdcall get_LabelHeight (
  184.         double * Height ) = 0;
  185. };
  186. struct __declspec(uuid("2f68dd01-d7e6-4e21-8ef9-14165ef00552"))
  187. IPlacedObject3 : IUnknown
  188. {
  189.     //
  190.     // Raw methods provided by interface
  191.     //
  192.     virtual HRESULT __stdcall get_ObjectType (
  193.         enum esriPlacedObjectType * Type ) = 0;
  194.     virtual HRESULT __stdcall put_ObjectType (
  195.         enum esriPlacedObjectType Type ) = 0;
  196.     virtual HRESULT __stdcall get_FeatureId (
  197.         long * FeatureId ) = 0;
  198.     virtual HRESULT __stdcall put_FeatureId (
  199.         long FeatureId ) = 0;
  200.     virtual HRESULT __stdcall get_ControlShape (
  201.         struct IGeometry * * Shape ) = 0;
  202.     virtual HRESULT __stdcall put_ControlShape (
  203.         struct IGeometry * Shape ) = 0;
  204.     virtual HRESULT __stdcall get_Label (
  205.         BSTR * Label ) = 0;
  206.     virtual HRESULT __stdcall put_Label (
  207.         BSTR Label ) = 0;
  208.     virtual HRESULT __stdcall get_ClassIndex (
  209.         long * Index ) = 0;
  210.     virtual HRESULT __stdcall put_ClassIndex (
  211.         long Index ) = 0;
  212.     virtual HRESULT __stdcall get_PlacementCode (
  213.         enum esriPlacementCode * PlacementCode ) = 0;
  214.     virtual HRESULT __stdcall put_PlacementCode (
  215.         enum esriPlacementCode PlacementCode ) = 0;
  216.     virtual HRESULT __stdcall get_PlacementMessage (
  217.         BSTR * message ) = 0;
  218.     virtual HRESULT __stdcall put_PlacementMessage (
  219.         BSTR message ) = 0;
  220.     virtual HRESULT __stdcall get_Angle (
  221.         double * Angle ) = 0;
  222.     virtual HRESULT __stdcall get_ControlShapeEndPoint (
  223.         WKSPoint * point ) = 0;
  224.     virtual HRESULT __stdcall get_LabelWidth (
  225.         double * Width ) = 0;
  226.     virtual HRESULT __stdcall get_LabelHeight (
  227.         double * Height ) = 0;
  228.     virtual HRESULT __stdcall get_AreaCentroid (
  229.         WKSPoint * bestLabelPt ) = 0;
  230.     virtual HRESULT __stdcall get_LabelInsidePolygon (
  231.         VARIANT_BOOL * flag ) = 0;
  232. };
  233. struct __declspec(uuid("3141f2f7-38e2-11d1-8809-080009ec732a"))
  234. IOverposterLayerProperties : IUnknown
  235. {
  236.     //
  237.     // Raw methods provided by interface
  238.     //
  239.     virtual HRESULT __stdcall put_PlaceLabels (
  240.         VARIANT_BOOL place ) = 0;
  241.     virtual HRESULT __stdcall get_PlaceLabels (
  242.         VARIANT_BOOL * place ) = 0;
  243.     virtual HRESULT __stdcall put_PlaceSymbols (
  244.         VARIANT_BOOL place ) = 0;
  245.     virtual HRESULT __stdcall get_PlaceSymbols (
  246.         VARIANT_BOOL * place ) = 0;
  247.     virtual HRESULT __stdcall put_IsBarrier (
  248.         VARIANT_BOOL IsBarrier ) = 0;
  249.     virtual HRESULT __stdcall get_IsBarrier (
  250.         VARIANT_BOOL * IsBarrier ) = 0;
  251. };
  252. struct __declspec(uuid("c1e3c2fd-dcc1-4f7e-be2d-2f989b0b7e6a"))
  253. IOverposterLayerProperties2 : IUnknown
  254. {
  255.     //
  256.     // Raw methods provided by interface
  257.     //
  258.     virtual HRESULT __stdcall put_PlaceLabels (
  259.         VARIANT_BOOL place ) = 0;
  260.     virtual HRESULT __stdcall get_PlaceLabels (
  261.         VARIANT_BOOL * place ) = 0;
  262.     virtual HRESULT __stdcall put_PlaceSymbols (
  263.         VARIANT_BOOL place ) = 0;
  264.     virtual HRESULT __stdcall get_PlaceSymbols (
  265.         VARIANT_BOOL * place ) = 0;
  266.     virtual HRESULT __stdcall put_IsBarrier (
  267.         VARIANT_BOOL IsBarrier ) = 0;
  268.     virtual HRESULT __stdcall get_IsBarrier (
  269.         VARIANT_BOOL * IsBarrier ) = 0;
  270.     virtual HRESULT __stdcall get_TagUnplaced (
  271.         VARIANT_BOOL * Value ) = 0;
  272.     virtual HRESULT __stdcall put_TagUnplaced (
  273.         VARIANT_BOOL Value ) = 0;
  274.     virtual HRESULT __stdcall get_HasFeatureWeight (
  275.         VARIANT_BOOL * Value ) = 0;
  276. };
  277. struct __declspec(uuid("e265c5b5-4513-4bb9-b280-27b03aae5957"))
  278. IOverposterProperties : IUnknown
  279. {
  280.     //
  281.     // Raw methods provided by interface
  282.     //
  283.     virtual HRESULT __stdcall get_Name (
  284.         BSTR * Name ) = 0;
  285.     virtual HRESULT __stdcall get_AnnotateFeatureID (
  286.         struct IUID * * uid ) = 0;
  287.     virtual HRESULT __stdcall get_AnnotateMapID (
  288.         struct IUID * * uid ) = 0;
  289.     virtual HRESULT __stdcall get_FeatureLayerPropertiesID (
  290.         struct IUID * * uid ) = 0;
  291.     virtual HRESULT __stdcall get_LabelStyleID (
  292.         struct IUID * * uid ) = 0;
  293. };
  294. struct __declspec(uuid("8112f1a9-0ecd-4e5e-977c-80b358a574b9"))
  295. IOverposterOptions : IUnknown
  296. {
  297.     //
  298.     // Raw methods provided by interface
  299.     //
  300.     virtual HRESULT __stdcall TranslateLabel (
  301.         struct ILabelEngineLayerProperties * Layerprops,
  302.         BSTR labelIn,
  303.         VARIANT_BOOL * translated,
  304.         BSTR * labelOut ) = 0;
  305.     virtual HRESULT __stdcall StackLabel (
  306.         struct ILabelEngineLayerProperties * Layerprops,
  307.         VARIANT_BOOL forceStack,
  308.         BSTR labelIn,
  309.         VARIANT_BOOL * stacked,
  310.         BSTR * labelOut ) = 0;
  311.     virtual HRESULT __stdcall get_EnableLabelCache (
  312.         VARIANT_BOOL * flag ) = 0;
  313.     virtual HRESULT __stdcall put_EnableLabelCache (
  314.         VARIANT_BOOL flag ) = 0;
  315.     virtual HRESULT __stdcall get_EnableDrawUnplaced (
  316.         VARIANT_BOOL * flag ) = 0;
  317.     virtual HRESULT __stdcall put_EnableDrawUnplaced (
  318.         VARIANT_BOOL flag ) = 0;
  319.     virtual HRESULT __stdcall putref_UnplacedLabelColor (
  320.         struct IColor * Color ) = 0;
  321.     virtual HRESULT __stdcall get_UnplacedLabelColor (
  322.         struct IColor * * Color ) = 0;
  323.     virtual HRESULT __stdcall put_InvertedLabelTolerance (
  324.         double Angle ) = 0;
  325.     virtual HRESULT __stdcall get_InvertedLabelTolerance (
  326.         double * Angle ) = 0;
  327.     virtual HRESULT __stdcall put_RotateLabelWithDataFrame (
  328.         VARIANT_BOOL flag ) = 0;
  329.     virtual HRESULT __stdcall get_RotateLabelWithDataFrame (
  330.         VARIANT_BOOL * flag ) = 0;
  331. };
  332. struct __declspec(uuid("3141f2f5-38e2-11d1-8809-080009ec732a"))
  333. IOverposter : IUnknown
  334. {
  335.     //
  336.     // Raw methods provided by interface
  337.     //
  338.     virtual HRESULT __stdcall get_NumClasses (
  339.         long * Count ) = 0;
  340.     virtual HRESULT __stdcall get_Capabilities (
  341.         struct ILayer * Layer,
  342.         enum esriOverposterCaps * caps ) = 0;
  343.     virtual HRESULT __stdcall AddClass (
  344.         struct IOverposterLayerProperties * props,
  345.         long * ClassIndex ) = 0;
  346.     virtual HRESULT __stdcall InsertClass (
  347.         long Index,
  348.         struct IOverposterLayerProperties * props ) = 0;
  349.     virtual HRESULT __stdcall RemoveClass (
  350.         long ClassIndex ) = 0;
  351.     virtual HRESULT __stdcall ResetClasses ( ) = 0;
  352.     virtual HRESULT __stdcall Initialize (
  353.         struct IEnvelope * Extent,
  354.         struct IDisplay * Display ) = 0;
  355.     virtual HRESULT __stdcall AddBarriers (
  356.         enum esriBasicOverposterWeight Weight,
  357.         struct IGeometryCollection * Barriers ) = 0;
  358.     virtual HRESULT __stdcall AddLabel (
  359.         long ClassIndex,
  360.         BSTR Label,
  361.         double Width,
  362.         double Height,
  363.         struct IGeometry * ControlShape,
  364.         long FeatureId,
  365.         struct ISymbol * Symbol ) = 0;
  366.     virtual HRESULT __stdcall AddCurvedLabel (
  367.         long ClassIndex,
  368.         BSTR Label,
  369.         VARIANT widths,
  370.         VARIANT ascents,
  371.         VARIANT descents,
  372.         double fontHeight,
  373.         double fontDescent,
  374.         struct IGeometry * ControlShape,
  375.         long FeatureId,
  376.         struct ISymbol * Symbol ) = 0;
  377.     virtual HRESULT __stdcall AddSymbol (
  378.         long ClassIndex,
  379.         struct ISymbol * Symbol,
  380.         struct IGeometry * Geometry,
  381.         long FeatureId ) = 0;
  382.     virtual HRESULT __stdcall PlaceObjects ( ) = 0;
  383.     virtual HRESULT __stdcall NextPlaced (
  384.         struct IPlacedObject * * Object,
  385.         struct ITrackCancel * trackCancel,
  386.         struct IStepProgressor * StepProgressor ) = 0;
  387.     virtual HRESULT __stdcall NextUnplaced (
  388.         struct IPlacedObject * * Object ) = 0;
  389.     virtual HRESULT __stdcall NextUnused (
  390.         struct IPlacedObject * * Object ) = 0;
  391.     virtual HRESULT __stdcall ReleaseResources ( ) = 0;
  392.     virtual HRESULT __stdcall get_NumberOfUnplacedLabels (
  393.         long * Count ) = 0;
  394.     virtual HRESULT __stdcall get_NumberOfPlacedLabels (
  395.         long * Count ) = 0;
  396. };
  397. struct __declspec(uuid("ffec8117-ec4f-4329-bb7d-420453d29edd"))
  398. IOverposter2 : IUnknown
  399. {
  400.     //
  401.     // Raw methods provided by interface
  402.     //
  403.     virtual HRESULT __stdcall get_NumClasses (
  404.         long * Count ) = 0;
  405.     virtual HRESULT __stdcall get_Capabilities (
  406.         struct ILayer * Layer,
  407.         enum esriOverposterCaps * caps ) = 0;
  408.     virtual HRESULT __stdcall AddClass (
  409.         struct IOverposterLayerProperties * props,
  410.         long * ClassIndex ) = 0;
  411.     virtual HRESULT __stdcall InsertClass (
  412.         long Index,
  413.         struct IOverposterLayerProperties * props ) = 0;
  414.     virtual HRESULT __stdcall RemoveClass (
  415.         long ClassIndex ) = 0;
  416.     virtual HRESULT __stdcall ResetClasses ( ) = 0;
  417.     virtual HRESULT __stdcall Initialize (
  418.         struct IEnvelope * Extent,
  419.         struct IDisplay * Display ) = 0;
  420.     virtual HRESULT __stdcall AddBarriers (
  421.         enum esriBasicOverposterWeight Weight,
  422.         struct IGeometryCollection * Barriers ) = 0;
  423.     virtual HRESULT __stdcall AddLabel (
  424.         long ClassIndex,
  425.         BSTR Label,
  426.         double Width,
  427.         double Height,
  428.         struct IGeometry * ControlShape,
  429.         long FeatureId,
  430.         struct ISymbol * Symbol ) = 0;
  431.     virtual HRESULT __stdcall AddCurvedLabel (
  432.         long ClassIndex,
  433.         BSTR Label,
  434.         VARIANT widths,
  435.         VARIANT ascents,
  436.         VARIANT descents,
  437.         double fontHeight,
  438.         double fontDescent,
  439.         struct IGeometry * ControlShape,
  440.         long FeatureId,
  441.         struct ISymbol * Symbol ) = 0;
  442.     virtual HRESULT __stdcall AddSymbol (
  443.         long ClassIndex,
  444.         struct ISymbol * Symbol,
  445.         struct IGeometry * Geometry,
  446.         long FeatureId ) = 0;
  447.     virtual HRESULT __stdcall PlaceObjects ( ) = 0;
  448.     virtual HRESULT __stdcall NextPlaced (
  449.         struct IPlacedObject * * Object,
  450.         struct ITrackCancel * trackCancel,
  451.         struct IStepProgressor * StepProgressor ) = 0;
  452.     virtual HRESULT __stdcall NextUnplaced (
  453.         struct IPlacedObject * * Object ) = 0;
  454.     virtual HRESULT __stdcall NextUnused (
  455.         struct IPlacedObject * * Object ) = 0;
  456.     virtual HRESULT __stdcall ReleaseResources ( ) = 0;
  457.     virtual HRESULT __stdcall get_NumberOfUnplacedLabels (
  458.         long * Count ) = 0;
  459.     virtual HRESULT __stdcall get_NumberOfPlacedLabels (
  460.         long * Count ) = 0;
  461.     virtual HRESULT __stdcall AddLabel2 (
  462.         long ClassIndex,
  463.         BSTR Label,
  464.         double Width,
  465.         double Height,
  466.         struct IGeometry * ControlShape,
  467.         long FeatureId,
  468.         struct ISymbol * Symbol,
  469.         double Angle ) = 0;
  470. };
  471. struct __declspec(uuid("75dddcde-ca45-49da-a5c3-7663e2977dd5"))
  472. IOverposter3 : IUnknown
  473. {
  474.     //
  475.     // Raw methods provided by interface
  476.     //
  477.     virtual HRESULT __stdcall get_NumClasses (
  478.         long * Count ) = 0;
  479.     virtual HRESULT __stdcall get_Capabilities (
  480.         struct ILayer * Layer,
  481.         enum esriOverposterCaps * caps ) = 0;
  482.     virtual HRESULT __stdcall AddClass (
  483.         struct IOverposterLayerProperties * props,
  484.         long * ClassIndex ) = 0;
  485.     virtual HRESULT __stdcall InsertClass (
  486.         long Index,
  487.         struct IOverposterLayerProperties * props ) = 0;
  488.     virtual HRESULT __stdcall RemoveClass (
  489.         long ClassIndex ) = 0;
  490.     virtual HRESULT __stdcall ResetClasses ( ) = 0;
  491.     virtual HRESULT __stdcall Initialize (
  492.         struct IEnvelope * Extent,
  493.         struct IDisplay * Display,
  494.         struct IOverposterProperties * pOverposterProps ) = 0;
  495.     virtual HRESULT __stdcall AddBarriers (
  496.         enum esriBasicOverposterWeight Weight,
  497.         struct IGeometryCollection * Barriers ) = 0;
  498.     virtual HRESULT __stdcall AddLabel (
  499.         long ClassIndex,
  500.         BSTR Label,
  501.         double Width,
  502.         double Height,
  503.         struct IGeometry * ControlShape,
  504.         long FeatureId,
  505.         struct ISymbol * Symbol ) = 0;
  506.     virtual HRESULT __stdcall AddCurvedLabel (
  507.         long ClassIndex,
  508.         BSTR Label,
  509.         VARIANT widths,
  510.         VARIANT ascents,
  511.         VARIANT descents,
  512.         double fontHeight,
  513.         double fontDescent,
  514.         struct IGeometry * ControlShape,
  515.         long FeatureId,
  516.         struct ISymbol * Symbol ) = 0;
  517.     virtual HRESULT __stdcall AddSymbol (
  518.         long ClassIndex,
  519.         struct ISymbol * Symbol,
  520.         struct IGeometry * Geometry,
  521.         long FeatureId ) = 0;
  522.     virtual HRESULT __stdcall PlaceObjects ( ) = 0;
  523.     virtual HRESULT __stdcall NextPlaced (
  524.         struct IPlacedObject * * Object,
  525.         struct ITrackCancel * trackCancel,
  526.         struct IStepProgressor * StepProgressor ) = 0;
  527.     virtual HRESULT __stdcall NextUnplaced (
  528.         struct IPlacedObject * * Object ) = 0;
  529.     virtual HRESULT __stdcall NextUnused (
  530.         struct IPlacedObject * * Object ) = 0;
  531.     virtual HRESULT __stdcall ReleaseResources ( ) = 0;
  532.     virtual HRESULT __stdcall get_NumberOfUnplacedLabels (
  533.         long * Count ) = 0;
  534.     virtual HRESULT __stdcall get_NumberOfPlacedLabels (
  535.         long * Count ) = 0;
  536.     virtual HRESULT __stdcall AddLabel2 (
  537.         long ClassIndex,
  538.         BSTR Label,
  539.         double Width,
  540.         double Height,
  541.         struct IGeometry * ControlShape,
  542.         long FeatureId,
  543.         struct ISymbol * Symbol,
  544.         double Angle ) = 0;
  545. };
  546. struct __declspec(uuid("6cc4facb-5f13-418a-bf24-d2c61d56fe66"))
  547. IBasicOverposterLayerProperties2 : IUnknown
  548. {
  549.     //
  550.     // Raw methods provided by interface
  551.     //
  552.     virtual HRESULT __stdcall get_FeatureType (
  553.         enum esriBasicOverposterFeatureType * Type ) = 0;
  554.     virtual HRESULT __stdcall put_FeatureType (
  555.         enum esriBasicOverposterFeatureType Type ) = 0;
  556.     virtual HRESULT __stdcall get_FeatureWeight (
  557.         enum esriBasicOverposterWeight * Weight ) = 0;
  558.     virtual HRESULT __stdcall put_FeatureWeight (
  559.         enum esriBasicOverposterWeight Weight ) = 0;
  560.     virtual HRESULT __stdcall get_LabelWeight (
  561.         enum esriBasicOverposterWeight * Weight ) = 0;
  562.     virtual HRESULT __stdcall put_LabelWeight (
  563.         enum esriBasicOverposterWeight Weight ) = 0;
  564.     virtual HRESULT __stdcall get_NumLabelsOption (
  565.         enum esriBasicNumLabelsOption * option ) = 0;
  566.     virtual HRESULT __stdcall put_NumLabelsOption (
  567.         enum esriBasicNumLabelsOption option ) = 0;
  568.     virtual HRESULT __stdcall get_LineLabelPosition (
  569.         struct ILineLabelPosition * * position ) = 0;
  570.     virtual HRESULT __stdcall put_LineLabelPosition (
  571.         struct ILineLabelPosition * position ) = 0;
  572.     virtual HRESULT __stdcall get_LineLabelPlacementPriorities (
  573.         struct ILineLabelPlacementPriorities * * linePlacementPriorities ) = 0;
  574.     virtual HRESULT __stdcall put_LineLabelPlacementPriorities (
  575.         struct ILineLabelPlacementPriorities * linePlacementPriorities ) = 0;
  576.     virtual HRESULT __stdcall get_GenerateUnplacedLabels (
  577.         VARIANT_BOOL * flag ) = 0;
  578.     virtual HRESULT __stdcall put_GenerateUnplacedLabels (
  579.         VARIANT_BOOL flag ) = 0;
  580.     virtual HRESULT __stdcall get_PointPlacementMethod (
  581.         enum esriOverposterPointPlacementMethod * Method ) = 0;
  582.     virtual HRESULT __stdcall put_PointPlacementMethod (
  583.         enum esriOverposterPointPlacementMethod Method ) = 0;
  584.     virtual HRESULT __stdcall get_PointPlacementOnTop (
  585.         VARIANT_BOOL * OnTop ) = 0;
  586.     virtual HRESULT __stdcall put_PointPlacementOnTop (
  587.         VARIANT_BOOL OnTop ) = 0;
  588.     virtual HRESULT __stdcall get_PointPlacementPriorities (
  589.         struct IPointPlacementPriorities * * PointPlacementPriorities ) = 0;
  590.     virtual HRESULT __stdcall put_PointPlacementPriorities (
  591.         struct IPointPlacementPriorities * PointPlacementPriorities ) = 0;
  592.     virtual HRESULT __stdcall get_PointPlacementAngles (
  593.         VARIANT * angles ) = 0;
  594.     virtual HRESULT __stdcall put_PointPlacementAngles (
  595.         VARIANT angles ) = 0;
  596.     virtual HRESULT __stdcall get_BufferRatio (
  597.         double * BufferRatio ) = 0;
  598.     virtual HRESULT __stdcall put_BufferRatio (
  599.         double BufferRatio ) = 0;
  600.     virtual HRESULT __stdcall get_LineOffset (
  601.         double * LineOffset ) = 0;
  602.     virtual HRESULT __stdcall put_LineOffset (
  603.         double LineOffset ) = 0;
  604.     virtual HRESULT __stdcall get_MaxDistanceFromTarget (
  605.         double * Distance ) = 0;
  606.     virtual HRESULT __stdcall put_MaxDistanceFromTarget (
  607.         double Distance ) = 0;
  608. };
  609. struct __declspec(uuid("7bdbb1ec-e951-4058-8140-d5cd88556613"))
  610. IBasicOverposterLayerProperties3 : IUnknown
  611. {
  612.     //
  613.     // Raw methods provided by interface
  614.     //
  615.     virtual HRESULT __stdcall get_FeatureType (
  616.         enum esriBasicOverposterFeatureType * Type ) = 0;
  617.     virtual HRESULT __stdcall put_FeatureType (
  618.         enum esriBasicOverposterFeatureType Type ) = 0;
  619.     virtual HRESULT __stdcall get_FeatureWeight (
  620.         enum esriBasicOverposterWeight * Weight ) = 0;
  621.     virtual HRESULT __stdcall put_FeatureWeight (
  622.         enum esriBasicOverposterWeight Weight ) = 0;
  623.     virtual HRESULT __stdcall get_LabelWeight (
  624.         enum esriBasicOverposterWeight * Weight ) = 0;
  625.     virtual HRESULT __stdcall put_LabelWeight (
  626.         enum esriBasicOverposterWeight Weight ) = 0;
  627.     virtual HRESULT __stdcall get_NumLabelsOption (
  628.         enum esriBasicNumLabelsOption * option ) = 0;
  629.     virtual HRESULT __stdcall put_NumLabelsOption (
  630.         enum esriBasicNumLabelsOption option ) = 0;
  631.     virtual HRESULT __stdcall get_LineLabelPosition (
  632.         struct ILineLabelPosition * * position ) = 0;
  633.     virtual HRESULT __stdcall put_LineLabelPosition (
  634.         struct ILineLabelPosition * position ) = 0;
  635.     virtual HRESULT __stdcall get_LineLabelPlacementPriorities (
  636.         struct ILineLabelPlacementPriorities * * linePlacementPriorities ) = 0;
  637.     virtual HRESULT __stdcall put_LineLabelPlacementPriorities (
  638.         struct ILineLabelPlacementPriorities * linePlacementPriorities ) = 0;
  639.     virtual HRESULT __stdcall get_GenerateUnplacedLabels (
  640.         VARIANT_BOOL * flag ) = 0;
  641.     virtual HRESULT __stdcall put_GenerateUnplacedLabels (
  642.         VARIANT_BOOL flag ) = 0;
  643.     virtual HRESULT __stdcall get_PointPlacementMethod (
  644.         enum esriOverposterPointPlacementMethod * Method ) = 0;
  645.     virtual HRESULT __stdcall put_PointPlacementMethod (
  646.         enum esriOverposterPointPlacementMethod Method ) = 0;
  647.     virtual HRESULT __stdcall get_PointPlacementOnTop (
  648.         VARIANT_BOOL * OnTop ) = 0;
  649.     virtual HRESULT __stdcall put_PointPlacementOnTop (
  650.         VARIANT_BOOL OnTop ) = 0;
  651.     virtual HRESULT __stdcall get_PointPlacementPriorities (
  652.         struct IPointPlacementPriorities * * PointPlacementPriorities ) = 0;
  653.     virtual HRESULT __stdcall put_PointPlacementPriorities (
  654.         struct IPointPlacementPriorities * PointPlacementPriorities ) = 0;
  655.     virtual HRESULT __stdcall get_PointPlacementAngles (
  656.         VARIANT * angles ) = 0;
  657.     virtual HRESULT __stdcall put_PointPlacementAngles (
  658.         VARIANT angles ) = 0;
  659.     virtual HRESULT __stdcall get_BufferRatio (
  660.         double * BufferRatio ) = 0;
  661.     virtual HRESULT __stdcall put_BufferRatio (
  662.         double BufferRatio ) = 0;
  663.     virtual HRESULT __stdcall get_LineOffset (
  664.         double * LineOffset ) = 0;
  665.     virtual HRESULT __stdcall put_LineOffset (
  666.         double LineOffset ) = 0;
  667.     virtual HRESULT __stdcall get_MaxDistanceFromTarget (
  668.         double * Distance ) = 0;
  669.     virtual HRESULT __stdcall put_MaxDistanceFromTarget (
  670.         double Distance ) = 0;
  671.     virtual HRESULT __stdcall get_RotationType (
  672.         enum esriLabelRotationType * Type ) = 0;
  673.     virtual HRESULT __stdcall put_RotationType (
  674.         enum esriLabelRotationType Type ) = 0;
  675.     virtual HRESULT __stdcall get_RotationField (
  676.         BSTR * Field ) = 0;
  677.     virtual HRESULT __stdcall put_RotationField (
  678.         BSTR Field ) = 0;
  679.     virtual HRESULT __stdcall get_PerpendicularToAngle (
  680.         VARIANT_BOOL * flag ) = 0;
  681.     virtual HRESULT __stdcall put_PerpendicularToAngle (
  682.         VARIANT_BOOL flag ) = 0;
  683. };
  684. struct __declspec(uuid("f64b3a44-c14c-4b12-994f-ae72196eec56"))
  685. IBasicOverposterLayerProperties4 : IUnknown
  686. {
  687.     //
  688.     // Raw methods provided by interface
  689.     //
  690.     virtual HRESULT __stdcall get_FeatureType (
  691.         enum esriBasicOverposterFeatureType * Type ) = 0;
  692.     virtual HRESULT __stdcall put_FeatureType (
  693.         enum esriBasicOverposterFeatureType Type ) = 0;
  694.     virtual HRESULT __stdcall get_FeatureWeight (
  695.         enum esriBasicOverposterWeight * Weight ) = 0;
  696.     virtual HRESULT __stdcall put_FeatureWeight (
  697.         enum esriBasicOverposterWeight Weight ) = 0;
  698.     virtual HRESULT __stdcall get_LabelWeight (
  699.         enum esriBasicOverposterWeight * Weight ) = 0;
  700.     virtual HRESULT __stdcall put_LabelWeight (
  701.         enum esriBasicOverposterWeight Weight ) = 0;
  702.     virtual HRESULT __stdcall get_NumLabelsOption (
  703.         enum esriBasicNumLabelsOption * option ) = 0;
  704.     virtual HRESULT __stdcall put_NumLabelsOption (
  705.         enum esriBasicNumLabelsOption option ) = 0;
  706.     virtual HRESULT __stdcall get_LineLabelPosition (
  707.         struct ILineLabelPosition * * position ) = 0;
  708.     virtual HRESULT __stdcall put_LineLabelPosition (
  709.         struct ILineLabelPosition * position ) = 0;
  710.     virtual HRESULT __stdcall get_LineLabelPlacementPriorities (
  711.         struct ILineLabelPlacementPriorities * * linePlacementPriorities ) = 0;
  712.     virtual HRESULT __stdcall put_LineLabelPlacementPriorities (
  713.         struct ILineLabelPlacementPriorities * linePlacementPriorities ) = 0;
  714.     virtual HRESULT __stdcall get_GenerateUnplacedLabels (
  715.         VARIANT_BOOL * flag ) = 0;
  716.     virtual HRESULT __stdcall put_GenerateUnplacedLabels (
  717.         VARIANT_BOOL flag ) = 0;
  718.     virtual HRESULT __stdcall get_PointPlacementMethod (
  719.         enum esriOverposterPointPlacementMethod * Method ) = 0;
  720.     virtual HRESULT __stdcall put_PointPlacementMethod (
  721.         enum esriOverposterPointPlacementMethod Method ) = 0;
  722.     virtual HRESULT __stdcall get_PointPlacementOnTop (
  723.         VARIANT_BOOL * OnTop ) = 0;
  724.     virtual HRESULT __stdcall put_PointPlacementOnTop (
  725.         VARIANT_BOOL OnTop ) = 0;
  726.     virtual HRESULT __stdcall get_PointPlacementPriorities (
  727.         struct IPointPlacementPriorities * * PointPlacementPriorities ) = 0;
  728.     virtual HRESULT __stdcall put_PointPlacementPriorities (
  729.         struct IPointPlacementPriorities * PointPlacementPriorities ) = 0;
  730.     virtual HRESULT __stdcall get_PointPlacementAngles (
  731.         VARIANT * angles ) = 0;
  732.     virtual HRESULT __stdcall put_PointPlacementAngles (
  733.         VARIANT angles ) = 0;
  734.     virtual HRESULT __stdcall get_BufferRatio (
  735.         double * BufferRatio ) = 0;
  736.     virtual HRESULT __stdcall put_BufferRatio (
  737.         double BufferRatio ) = 0;
  738.     virtual HRESULT __stdcall get_LineOffset (
  739.         double * LineOffset ) = 0;
  740.     virtual HRESULT __stdcall put_LineOffset (
  741.         double LineOffset ) = 0;
  742.     virtual HRESULT __stdcall get_MaxDistanceFromTarget (
  743.         double * Distance ) = 0;
  744.     virtual HRESULT __stdcall put_MaxDistanceFromTarget (
  745.         double Distance ) = 0;
  746.     virtual HRESULT __stdcall get_RotationType (
  747.         enum esriLabelRotationType * Type ) = 0;
  748.     virtual HRESULT __stdcall put_RotationType (
  749.         enum esriLabelRotationType Type ) = 0;
  750.     virtual HRESULT __stdcall get_RotationField (
  751.         BSTR * Field ) = 0;
  752.     virtual HRESULT __stdcall put_RotationField (
  753.         BSTR Field ) = 0;
  754.     virtual HRESULT __stdcall get_PerpendicularToAngle (
  755.         VARIANT_BOOL * flag ) = 0;
  756.     virtual HRESULT __stdcall put_PerpendicularToAngle (
  757.         VARIANT_BOOL flag ) = 0;
  758.     virtual HRESULT __stdcall get_PolygonPlacementMethod (
  759.         enum esriOverposterPolygonPlacementMethod * Method ) = 0;
  760.     virtual HRESULT __stdcall put_PolygonPlacementMethod (
  761.         enum esriOverposterPolygonPlacementMethod Method ) = 0;
  762.     virtual HRESULT __stdcall get_PlaceOnlyInsidePolygon (
  763.         VARIANT_BOOL * flag ) = 0;
  764.     virtual HRESULT __stdcall put_PlaceOnlyInsidePolygon (
  765.         VARIANT_BOOL flag ) = 0;
  766. };
  767. struct __declspec(uuid("c4541861-5a4f-11d2-a2c0-080009b6f22b"))
  768. IBasicOverposterEvents : IUnknown
  769. {
  770.     //
  771.     // Raw methods provided by interface
  772.     //
  773.     virtual HRESULT __stdcall Label (
  774.         struct IPlacedObject * placedObject,
  775.         VARIANT_BOOL * cancel ) = 0;
  776. };
  777. struct __declspec(uuid("3141f2fc-38e2-11d1-8809-080009ec732a"))
  778. BasicOverposter;
  779.     // [ default ] interface IUnknown
  780.     // interface IOverposter
  781.     // interface IOverposter2
  782.     // interface IOverposter3
  783.     // interface IConnectionPointContainer
  784.     // interface IPersist
  785.     // interface IPersistStream
  786.     // [ default, source ] interface IBasicOverposterEvents
  787. struct __declspec(uuid("ee535289-41c9-11d1-880a-080009ec732a"))
  788. BasicOverposterLayerProperties;
  789.     // [ default ] interface IUnknown
  790.     // interface IBasicOverposterLayerProperties
  791.     // interface IBasicOverposterLayerProperties2
  792.     // interface IBasicOverposterLayerProperties3
  793.     // interface IBasicOverposterLayerProperties4
  794.     // interface IOverposterLayerProperties
  795.     // interface IOverposterLayerProperties2
  796.     // interface IPersist
  797.     // interface IPersistStream
  798.     // interface IClone
  799. struct __declspec(uuid("2442958c-d711-11d2-9f41-00c04f6bc6a5"))
  800. LineLabelPosition;
  801.     // [ default ] interface IUnknown
  802.     // interface ILineLabelPosition
  803.     // interface IPersist
  804.     // interface IPersistStream
  805.     // interface IClone
  806. struct __declspec(uuid("261a4377-d9d5-11d2-a806-cc9f870bcd5a"))
  807. LineLabelPlacementPriorities;
  808.     // [ default ] interface IUnknown
  809.     // interface ILineLabelPlacementPriorities
  810.     // interface IPersist
  811.     // interface IPersistStream
  812.     // interface IClone
  813. struct __declspec(uuid("261a4372-d9d5-11d2-a806-cc9f870bcd5a"))
  814. PointPlacementPriorities;
  815.     // [ default ] interface IUnknown
  816.     // interface IPointPlacementPriorities
  817.     // interface IPersist
  818.     // interface IPersistStream
  819.     // interface IClone
  820. struct __declspec(uuid("e0c73d56-6c88-498c-b77c-78606e688c97"))
  821. BasicOverposterProperties;
  822.     // [ default ] interface IUnknown
  823.     // interface IOverposterProperties
  824.     // interface IOverposterOptions
  825.     // interface IPersist
  826.     // interface IPersistStream
  827.     // interface IClone
  828. enum esriMaplexPlacementQuality
  829. {
  830.     esriMaplexPlacementQualityLow = 1,
  831.     esriMaplexPlacementQualityMedium = 2,
  832.     esriMaplexPlacementQualityHigh = 3
  833. };
  834. enum esriMaplexUnit
  835. {
  836.     esriMaplexUnitMap = 0,
  837.     esriMaplexUnitMM = 1,
  838.     esriMaplexUnitInch = 2,
  839.     esriMaplexUnitPoint = 3,
  840.     esriMaplexUnitPercentage = 4
  841. };
  842. enum esriMaplexPointPlacementMethod
  843. {
  844.     esriMaplexAroundPoint = 0,
  845.     esriMaplexCenteredOnPoint = 1,
  846.     esriMaplexNorthOfPoint = 2,
  847.     esriMaplexNortheastOfPoint = 3,
  848.     esriMaplexEastOfPoint = 4,
  849.     esriMaplexSoutheastOfPoint = 5,
  850.     esriMaplexSouthOfPoint = 6,
  851.     esriMaplexSouthwestOfPoint = 7,
  852.     esriMaplexWestOfPoint = 8,
  853.     esriMaplexNorthwestOfPoint = 9
  854. };
  855. enum esriMaplexOffsetAlongLineMethod
  856. {
  857.     esriMaplexBestPositionAlongLine = 0,
  858.     esriMaplexBeforeStartOfLine = 1,
  859.     esriMaplexAlongLineFromStart = 2,
  860.     esriMaplexAlongLineFromEnd = 3,
  861.     esriMaplexAfterEndOfLine = 4
  862. };
  863. enum esriMaplexLinePlacementMethod
  864. {
  865.     esriMaplexCenteredHorizontalOnLine = 0,
  866.     esriMaplexCenteredStraightOnLine = 1,
  867.     esriMaplexCenteredCurvedOnLine = 2,
  868.     esriMaplexCenteredPerpendicularOnLine = 3,
  869.     esriMaplexOffsetHorizontalFromLine = 4,
  870.     esriMaplexOffsetStraightFromLine = 5,
  871.     esriMaplexOffsetCurvedFromLine = 6,
  872.     esriMaplexOffsetPerpendicularFromLine = 7
  873. };
  874. enum esriMaplexPolygonPlacementMethod
  875. {
  876.     esriMaplexHorizontalInPolygon = 0,
  877.     esriMaplexStraightInPolygon = 1,
  878.     esriMaplexCurvedInPolygon = 2,
  879.     esriMaplexHorizontalAroundPolygon = 3,
  880.     esriMaplexRepeatAlongBoundary = 4
  881. };
  882. enum esriMaplexConstrainOffset
  883. {
  884.     esriMaplexNoConstraint = 0,
  885.     esriMaplexAboveLine = 1,
  886.     esriMaplexBelowLine = 2,
  887.     esriMaplexLeftOfLine = 3,
  888.     esriMaplexRightOfLine = 4
  889. };
  890. enum esriMaplexLabelAnchorPoint
  891. {
  892.     esriMaplexCenterOfLabel = 0,
  893.     esriMaplexNearestSideOfLabel = 1,
  894.     esriMaplexFurthestSideOfLabel = 2
  895. };
  896. enum esriMaplexStackingJustification
  897. {
  898.     esriMaplexChooseBestJustification = 0,
  899.     esriMaplexConstrainJustificationLeftOrRight = 1,
  900.     esriMaplexConstrainJustificationLeft = 2,
  901.     esriMaplexConstrainJustificationRight = 3,
  902.     esriMaplexConstrainJustificationCenter = 4
  903. };
  904. struct __declspec(uuid("20664808-77af-65e1-faef-18e6f9ec732a"))
  905. IMaplexRotationProperties : IUnknown
  906. {
  907.     //
  908.     // Raw methods provided by interface
  909.     //
  910.     virtual HRESULT __stdcall get_Enable (
  911.         VARIANT_BOOL * flag ) = 0;
  912.     virtual HRESULT __stdcall put_Enable (
  913.         VARIANT_BOOL flag ) = 0;
  914.     virtual HRESULT __stdcall get_RotationType (
  915.         enum esriLabelRotationType * Type ) = 0;
  916.     virtual HRESULT __stdcall put_RotationType (
  917.         enum esriLabelRotationType Type ) = 0;
  918.     virtual HRESULT __stdcall get_RotationField (
  919.         BSTR * Field ) = 0;
  920.     virtual HRESULT __stdcall put_RotationField (
  921.         BSTR Field ) = 0;
  922.     virtual HRESULT __stdcall get_PerpendicularToAngle (
  923.         VARIANT_BOOL * flag ) = 0;
  924.     virtual HRESULT __stdcall put_PerpendicularToAngle (
  925.         VARIANT_BOOL flag ) = 0;
  926.     virtual HRESULT __stdcall get_AlignLabelToAngle (
  927.         VARIANT_BOOL * flag ) = 0;
  928.     virtual HRESULT __stdcall put_AlignLabelToAngle (
  929.         VARIANT_BOOL flag ) = 0;
  930. };
  931. struct __declspec(uuid("20664808-3a22-12a1-fa09-0a56ff3c731a"))
  932. IMaplexLabelStackingProperties : IUnknown
  933. {
  934.     //
  935.     // Raw methods provided by interface
  936.     //
  937.     virtual HRESULT __stdcall get_StackJustification (
  938.         enum esriMaplexStackingJustification * option ) = 0;
  939.     virtual HRESULT __stdcall put_StackJustification (
  940.         enum esriMaplexStackingJustification option ) = 0;
  941.     virtual HRESULT __stdcall AddSeparator (
  942.         BSTR Separator,
  943.         VARIANT_BOOL Visible,
  944.         VARIANT_BOOL splitForced,
  945.         VARIANT_BOOL splitAfter ) = 0;
  946.     virtual HRESULT __stdcall get_SeparatorCount (
  947.         long * Count ) = 0;
  948.     virtual HRESULT __stdcall QuerySeparator (
  949.         long Index,
  950.         BSTR * Separator,
  951.         VARIANT_BOOL * Visible,
  952.         VARIANT_BOOL * splitForced,
  953.         VARIANT_BOOL * splitAfter ) = 0;
  954.     virtual HRESULT __stdcall ClearSeparators ( ) = 0;
  955.     virtual HRESULT __stdcall get_MaximumNumberOfLines (
  956.         long * limit ) = 0;
  957.     virtual HRESULT __stdcall put_MaximumNumberOfLines (
  958.         long limit ) = 0;
  959.     virtual HRESULT __stdcall get_MinimumNumberOfCharsPerLine (
  960.         long * limit ) = 0;
  961.     virtual HRESULT __stdcall put_MinimumNumberOfCharsPerLine (
  962.         long limit ) = 0;
  963.     virtual HRESULT __stdcall get_MaximumNumberOfCharsPerLine (
  964.         long * limit ) = 0;
  965.     virtual HRESULT __stdcall put_MaximumNumberOfCharsPerLine (
  966.         long limit ) = 0;
  967. };
  968. struct __declspec(uuid("20664808-1a42-1fa1-fcd1-0b532f3c8ffa"))
  969. IMaplexOffsetAlongLineProperties : IUnknown
  970. {
  971.     //
  972.     // Raw methods provided by interface
  973.     //
  974.     virtual HRESULT __stdcall get_PlacementMethod (
  975.         enum esriMaplexOffsetAlongLineMethod * option ) = 0;
  976.     virtual HRESULT __stdcall put_PlacementMethod (
  977.         enum esriMaplexOffsetAlongLineMethod option ) = 0;
  978.     virtual HRESULT __stdcall get_LabelAnchorPoint (
  979.         enum esriMaplexLabelAnchorPoint * option ) = 0;
  980.     virtual HRESULT __stdcall put_LabelAnchorPoint (
  981.         enum esriMaplexLabelAnchorPoint option ) = 0;
  982.     virtual HRESULT __stdcall get_Distance (
  983.         double * Distance ) = 0;
  984.     virtual HRESULT __stdcall put_Distance (
  985.         double Distance ) = 0;
  986.     virtual HRESULT __stdcall get_Tolerance (
  987.         double * Distance ) = 0;
  988.     virtual HRESULT __stdcall put_Tolerance (
  989.         double Distance ) = 0;
  990.     virtual HRESULT __stdcall get_DistanceUnit (
  991.         enum esriMaplexUnit * unit ) = 0;
  992.     virtual HRESULT __stdcall put_DistanceUnit (
  993.         enum esriMaplexUnit unit ) = 0;
  994.     virtual HRESULT __stdcall get_UseLineDirection (
  995.         VARIANT_BOOL * flag ) = 0;
  996.     virtual HRESULT __stdcall put_UseLineDirection (
  997.         VARIANT_BOOL flag ) = 0;
  998. };
  999. struct __declspec(uuid("20664808-3fe2-1ed1-8109-085679ec732a"))
  1000. IMaplexOverposterLayerProperties : IUnknown
  1001. {
  1002.     //
  1003.     // Raw methods provided by interface
  1004.     //
  1005.     virtual HRESULT __stdcall get_FeatureType (
  1006.         enum esriBasicOverposterFeatureType * Type ) = 0;
  1007.     virtual HRESULT __stdcall put_FeatureType (
  1008.         enum esriBasicOverposterFeatureType Type ) = 0;
  1009.     virtual HRESULT __stdcall get_PointPlacementMethod (
  1010.         enum esriMaplexPointPlacementMethod * Method ) = 0;
  1011.     virtual HRESULT __stdcall put_PointPlacementMethod (
  1012.         enum esriMaplexPointPlacementMethod Method ) = 0;
  1013.     virtual HRESULT __stdcall get_LinePlacementMethod (
  1014.         enum esriMaplexLinePlacementMethod * Method ) = 0;
  1015.     virtual HRESULT __stdcall put_LinePlacementMethod (
  1016.         enum esriMaplexLinePlacementMethod Method ) = 0;
  1017.     virtual HRESULT __stdcall get_PolygonPlacementMethod (
  1018.         enum esriMaplexPolygonPlacementMethod * Method ) = 0;
  1019.     virtual HRESULT __stdcall put_PolygonPlacementMethod (
  1020.         enum esriMaplexPolygonPlacementMethod Method ) = 0;
  1021.     virtual HRESULT __stdcall get_CanPlaceLabelOutsidePolygon (
  1022.         VARIANT_BOOL * flag ) = 0;
  1023.     virtual HRESULT __stdcall put_CanPlaceLabelOutsidePolygon (
  1024.         VARIANT_BOOL flag ) = 0;
  1025.     virtual HRESULT __stdcall get_PreferHorizontalPlacement (
  1026.         VARIANT_BOOL * flag ) = 0;
  1027.     virtual HRESULT __stdcall put_PreferHorizontalPlacement (
  1028.         VARIANT_BOOL flag ) = 0;
  1029.     virtual HRESULT __stdcall get_LandParcelPlacement (
  1030.         VARIANT_BOOL * flag ) = 0;
  1031.     virtual HRESULT __stdcall put_LandParcelPlacement (
  1032.         VARIANT_BOOL flag ) = 0;
  1033.     virtual HRESULT __stdcall get_PrimaryOffset (
  1034.         double * Offset ) = 0;
  1035.     virtual HRESULT __stdcall put_PrimaryOffset (
  1036.         double Offset ) = 0;
  1037.     virtual HRESULT __stdcall get_PrimaryOffsetUnit (
  1038.         enum esriMaplexUnit * unit ) = 0;
  1039.     virtual HRESULT __stdcall put_PrimaryOffsetUnit (
  1040.         enum esriMaplexUnit unit ) = 0;
  1041.     virtual HRESULT __stdcall get_SecondaryOffset (
  1042.         double * Offset ) = 0;
  1043.     virtual HRESULT __stdcall put_SecondaryOffset (
  1044.         double Offset ) = 0;
  1045.     virtual HRESULT __stdcall get_ConstrainOffset (
  1046.         enum esriMaplexConstrainOffset * option ) = 0;
  1047.     virtual HRESULT __stdcall put_ConstrainOffset (
  1048.         enum esriMaplexConstrainOffset option ) = 0;
  1049.     virtual HRESULT __stdcall get_EnablePointPlacementPriorities (
  1050.         VARIANT_BOOL * flag ) = 0;
  1051.     virtual HRESULT __stdcall put_EnablePointPlacementPriorities (
  1052.         VARIANT_BOOL flag ) = 0;
  1053.     virtual HRESULT __stdcall get_PointPlacementPriorities (
  1054.         struct IPointPlacementPriorities * * priorities ) = 0;
  1055.     virtual HRESULT __stdcall put_PointPlacementPriorities (
  1056.         struct IPointPlacementPriorities * priorities ) = 0;
  1057.     virtual HRESULT __stdcall get_CanShiftPointLabel (
  1058.         VARIANT_BOOL * flag ) = 0;
  1059.     virtual HRESULT __stdcall put_CanShiftPointLabel (
  1060.         VARIANT_BOOL flag ) = 0;
  1061.     virtual HRESULT __stdcall get_IsStreetPlacement (
  1062.         VARIANT_BOOL * flag ) = 0;
  1063.     virtual HRESULT __stdcall put_IsStreetPlacement (
  1064.         VARIANT_BOOL flag ) = 0;
  1065.     virtual HRESULT __stdcall get_RepeatLabel (
  1066.         VARIANT_BOOL * flag ) = 0;
  1067.     virtual HRESULT __stdcall put_RepeatLabel (
  1068.         VARIANT_BOOL flag ) = 0;
  1069.     virtual HRESULT __stdcall get_MinimumRepetitionInterval (
  1070.         double * Interval ) = 0;
  1071.     virtual HRESULT __stdcall put_MinimumRepetitionInterval (
  1072.         double Interval ) = 0;
  1073.     virtual HRESULT __stdcall get_SpreadCharacters (
  1074.         VARIANT_BOOL * flag ) = 0;
  1075.     virtual HRESULT __stdcall put_SpreadCharacters (
  1076.         VARIANT_BOOL flag ) = 0;
  1077.     virtual HRESULT __stdcall get_MaximumCharacterSpacing (
  1078.         double * spacing ) = 0;
  1079.     virtual HRESULT __stdcall put_MaximumCharacterSpacing (
  1080.         double spacing ) = 0;
  1081.     virtual HRESULT __stdcall get_SpreadWords (
  1082.         VARIANT_BOOL * flag ) = 0;
  1083.     virtual HRESULT __stdcall put_SpreadWords (
  1084.         VARIANT_BOOL flag ) = 0;
  1085.     virtual HRESULT __stdcall get_MaximumWordSpacing (
  1086.         double * spacing ) = 0;
  1087.     virtual HRESULT __stdcall put_MaximumWordSpacing (
  1088.         double spacing ) = 0;
  1089.     virtual HRESULT __stdcall get_PreferredEndOfStreetClearance (
  1090.         double * clearance ) = 0;
  1091.     virtual HRESULT __stdcall put_PreferredEndOfStreetClearance (
  1092.         double clearance ) = 0;
  1093.     virtual HRESULT __stdcall get_MinimumEndOfStreetClearance (
  1094.         double * clearance ) = 0;
  1095.     virtual HRESULT __stdcall put_MinimumEndOfStreetClearance (
  1096.         double clearance ) = 0;
  1097.     virtual HRESULT __stdcall get_CanStackLabel (
  1098.         VARIANT_BOOL * flag ) = 0;
  1099.     virtual HRESULT __stdcall put_CanStackLabel (
  1100.         VARIANT_BOOL flag ) = 0;
  1101.     virtual HRESULT __stdcall get_LabelStackingProperties (
  1102.         struct IMaplexLabelStackingProperties * * props ) = 0;
  1103.     virtual HRESULT __stdcall put_LabelStackingProperties (
  1104.         struct IMaplexLabelStackingProperties * props ) = 0;
  1105.     virtual HRESULT __stdcall get_CanOverrunFeature (
  1106.         VARIANT_BOOL * flag ) = 0;
  1107.     virtual HRESULT __stdcall put_CanOverrunFeature (
  1108.         VARIANT_BOOL flag ) = 0;
  1109.     virtual HRESULT __stdcall get_MaximumLabelOverrun (
  1110.         double * Distance ) = 0;
  1111.     virtual HRESULT __stdcall put_MaximumLabelOverrun (
  1112.         double Distance ) = 0;
  1113.     virtual HRESULT __stdcall get_AllowAsymmetricOverrun (
  1114.         VARIANT_BOOL * flag ) = 0;
  1115.     virtual HRESULT __stdcall put_AllowAsymmetricOverrun (
  1116.         VARIANT_BOOL flag ) = 0;
  1117.     virtual HRESULT __stdcall get_CanAbbreviateLabel (
  1118.         VARIANT_BOOL * flag ) = 0;
  1119.     virtual HRESULT __stdcall put_CanAbbreviateLabel (
  1120.         VARIANT_BOOL flag ) = 0;
  1121.     virtual HRESULT __stdcall get_CanTruncateLabel (
  1122.         VARIANT_BOOL * flag ) = 0;
  1123.     virtual HRESULT __stdcall put_CanTruncateLabel (
  1124.         VARIANT_BOOL flag ) = 0;
  1125.     virtual HRESULT __stdcall get_CanReduceFontSize (
  1126.         VARIANT_BOOL * flag ) = 0;
  1127.     virtual HRESULT __stdcall put_CanReduceFontSize (
  1128.         VARIANT_BOOL flag ) = 0;
  1129.     virtual HRESULT __stdcall put_FontHeightReductionLimit (
  1130.         double limit ) = 0;
  1131.     virtual HRESULT __stdcall get_FontHeightReductionLimit (
  1132.         double * limit ) = 0;
  1133.     virtual HRESULT __stdcall put_FontHeightReductionStep (
  1134.         double step ) = 0;
  1135.     virtual HRESULT __stdcall get_FontHeightReductionStep (
  1136.         double * step ) = 0;
  1137.     virtual HRESULT __stdcall put_FontWidthReductionLimit (
  1138.         double limit ) = 0;
  1139.     virtual HRESULT __stdcall get_FontWidthReductionLimit (
  1140.         double * limit ) = 0;
  1141.     virtual HRESULT __stdcall put_FontWidthReductionStep (
  1142.         double step ) = 0;
  1143.     virtual HRESULT __stdcall get_FontWidthReductionStep (
  1144.         double * step ) = 0;
  1145.     virtual HRESULT __stdcall get_NeverRemoveLabel (
  1146.         VARIANT_BOOL * flag ) = 0;
  1147.     virtual HRESULT __stdcall put_NeverRemoveLabel (
  1148.         VARIANT_BOOL flag ) = 0;
  1149.     virtual HRESULT __stdcall get_LabelPriority (
  1150.         long * Priority ) = 0;
  1151.     virtual HRESULT __stdcall put_LabelPriority (
  1152.         long Priority ) = 0;
  1153.     virtual HRESULT __stdcall get_FeatureWeight (
  1154.         long * Weight ) = 0;
  1155.     virtual HRESULT __stdcall put_FeatureWeight (
  1156.         long Weight ) = 0;
  1157.     virtual HRESULT __stdcall put_PolygonBoundaryWeight (
  1158.         long Weight ) = 0;
  1159.     virtual HRESULT __stdcall get_PolygonBoundaryWeight (
  1160.         long * Weight ) = 0;
  1161.     virtual HRESULT __stdcall get_CanRemoveOverlappingLabel (
  1162.         VARIANT_BOOL * flag ) = 0;
  1163.     virtual HRESULT __stdcall put_CanRemoveOverlappingLabel (
  1164.         VARIANT_BOOL flag ) = 0;
  1165.     virtual HRESULT __stdcall get_ThinDuplicateLabels (
  1166.         VARIANT_BOOL * flag ) = 0;
  1167.     virtual HRESULT __stdcall put_ThinDuplicateLabels (
  1168.         VARIANT_BOOL flag ) = 0;
  1169.     virtual HRESULT __stdcall get_ThinningDistance (
  1170.         double * Distance ) = 0;
  1171.     virtual HRESULT __stdcall put_ThinningDistance (
  1172.         double Distance ) = 0;
  1173.     virtual HRESULT __stdcall get_GraticuleAlignment (
  1174.         VARIANT_BOOL * flag ) = 0;
  1175.     virtual HRESULT __stdcall put_GraticuleAlignment (
  1176.         VARIANT_BOOL flag ) = 0;
  1177.     virtual HRESULT __stdcall get_OffsetAlongLineProperties (
  1178.         struct IMaplexOffsetAlongLineProperties * * props ) = 0;
  1179.     virtual HRESULT __stdcall put_OffsetAlongLineProperties (
  1180.         struct IMaplexOffsetAlongLineProperties * props ) = 0;
  1181.     virtual HRESULT __stdcall get_RotationProperties (
  1182.         struct IMaplexRotationProperties * * props ) = 0;
  1183.     virtual HRESULT __stdcall put_RotationProperties (
  1184.         struct IMaplexRotationProperties * props ) = 0;
  1185.     virtual HRESULT __stdcall get_DictionaryName (
  1186.         BSTR * Text ) = 0;
  1187.     virtual HRESULT __stdcall put_DictionaryName (
  1188.         BSTR Text ) = 0;
  1189.     virtual HRESULT __stdcall get_AlignLabelToLineDirection (
  1190.         VARIANT_BOOL * flag ) = 0;
  1191.     virtual HRESULT __stdcall put_AlignLabelToLineDirection (
  1192.         VARIANT_BOOL flag ) = 0;
  1193.     virtual HRESULT __stdcall get_BackgroundLabel (
  1194.         VARIANT_BOOL * flag ) = 0;
  1195.     virtual HRESULT __stdcall put_BackgroundLabel (
  1196.         VARIANT_BOOL flag ) = 0;
  1197.     virtual HRESULT __stdcall get_MinimumSizeForLabeling (
  1198.         double * Size ) = 0;
  1199.     virtual HRESULT __stdcall put_MinimumSizeForLabeling (
  1200.         double Size ) = 0;
  1201.     virtual HRESULT __stdcall get_LabelBuffer (
  1202.         long * Buffer ) = 0;
  1203.     virtual HRESULT __stdcall put_LabelBuffer (
  1204.         long Buffer ) = 0;
  1205.     virtual HRESULT __stdcall get_FeatureBuffer (
  1206.         long * Buffer ) = 0;
  1207.     virtual HRESULT __stdcall put_FeatureBuffer (
  1208.         long Buffer ) = 0;
  1209. };
  1210. enum esriMaplexAbbrevType
  1211. {
  1212.     esriMaplexAbbrevTypeTranslation = 0,
  1213.     esriMaplexAbbrevTypeKeyword = 1,
  1214.     esriMaplexAbbrevTypeEnding = 2
  1215. };
  1216. struct __declspec(uuid("20664808-0ac0-1ea9-9dd3-faa1142a71f2"))
  1217. IMaplexDictionaryEntry : IUnknown
  1218. {
  1219.     //
  1220.     // Raw methods provided by interface
  1221.     //
  1222.     virtual HRESULT __stdcall get_Text (
  1223.         BSTR * Text ) = 0;
  1224.     virtual HRESULT __stdcall put_Text (
  1225.         BSTR Text ) = 0;
  1226.     virtual HRESULT __stdcall get_Abbreviation (
  1227.         BSTR * Abbreviation ) = 0;
  1228.     virtual HRESULT __stdcall put_Abbreviation (
  1229.         BSTR Abbreviation ) = 0;
  1230.     virtual HRESULT __stdcall get_Type (
  1231.         enum esriMaplexAbbrevType * Type ) = 0;
  1232.     virtual HRESULT __stdcall put_Type (
  1233.         enum esriMaplexAbbrevType Type ) = 0;
  1234. };
  1235. struct __declspec(uuid("20664808-0a3a-1eac-91d3-f3ef422a61a5"))
  1236. IMaplexDictionary : IUnknown
  1237. {
  1238.     //
  1239.     // Raw methods provided by interface
  1240.     //
  1241.     virtual HRESULT __stdcall get_Name (
  1242.         BSTR * Name ) = 0;
  1243.     virtual HRESULT __stdcall put_Name (
  1244.         BSTR Name ) = 0;
  1245.     virtual HRESULT __stdcall get_EntryCount (
  1246.         long * Count ) = 0;
  1247.     virtual HRESULT __stdcall AddEntry (
  1248.         struct IMaplexDictionaryEntry * dicEntry ) = 0;
  1249.     virtual HRESULT __stdcall GetEntry (
  1250.         long Index,
  1251.         struct IMaplexDictionaryEntry * * dicEntry ) = 0;
  1252.     virtual HRESULT __stdcall Clear ( ) = 0;
  1253. };
  1254. struct __declspec(uuid("20664808-0e3a-13ac-eb91-5ac2902ffe2b"))
  1255. IMaplexDictionaries : IUnknown
  1256. {
  1257.     //
  1258.     // Raw methods provided by interface
  1259.     //
  1260.     virtual HRESULT __stdcall get_DictionaryCount (
  1261.         long * Count ) = 0;
  1262.     virtual HRESULT __stdcall AddDictionary (
  1263.         struct IMaplexDictionary * dictionary ) = 0;
  1264.     virtual HRESULT __stdcall GetDictionary (
  1265.         long Index,
  1266.         struct IMaplexDictionary * * dictionary ) = 0;
  1267.     virtual HRESULT __stdcall RemoveDictionary (
  1268.         long Index ) = 0;
  1269.     virtual HRESULT __stdcall Clear ( ) = 0;
  1270. };
  1271. enum esriMaplexConnectionType
  1272. {
  1273.     esriMaplexMinimizeLabels = 0,
  1274.     esriMaplexUnambiguous = 1
  1275. };
  1276. struct __declspec(uuid("20664808-31ea-11a4-890f-0ca0d9ef134c"))
  1277. IMaplexOverposterProperties : IUnknown
  1278. {
  1279.     //
  1280.     // Raw methods provided by interface
  1281.     //
  1282.     virtual HRESULT __stdcall get_PlacementQuality (
  1283.         enum esriMaplexPlacementQuality * quality ) = 0;
  1284.     virtual HRESULT __stdcall put_PlacementQuality (
  1285.         enum esriMaplexPlacementQuality quality ) = 0;
  1286.     virtual HRESULT __stdcall get_AllowBorderOverlap (
  1287.         VARIANT_BOOL * flag ) = 0;
  1288.     virtual HRESULT __stdcall put_AllowBorderOverlap (
  1289.         VARIANT_BOOL flag ) = 0;
  1290.     virtual HRESULT __stdcall get_Dictionaries (
  1291.         struct IMaplexDictionaries * * Dictionaries ) = 0;
  1292.     virtual HRESULT __stdcall put_Dictionaries (
  1293.         struct IMaplexDictionaries * Dictionaries ) = 0;
  1294.     virtual HRESULT __stdcall get_EnableConnection (
  1295.         VARIANT_BOOL * flag ) = 0;
  1296.     virtual HRESULT __stdcall put_EnableConnection (
  1297.         VARIANT_BOOL flag ) = 0;
  1298.     virtual HRESULT __stdcall get_ConnectionType (
  1299.         enum esriMaplexConnectionType * Type ) = 0;
  1300.     virtual HRESULT __stdcall put_ConnectionType (
  1301.         enum esriMaplexConnectionType Type ) = 0;
  1302.     virtual HRESULT __stdcall get_LabelLargestPolygon (
  1303.         VARIANT_BOOL * flag ) = 0;
  1304.     virtual HRESULT __stdcall put_LabelLargestPolygon (
  1305.         VARIANT_BOOL flag ) = 0;
  1306. };
  1307. struct __declspec(uuid("20664808-ca77-1ad2-9f24-30c14ffbc6ab"))
  1308. IMaplexLabelStyle : IUnknown
  1309. {};
  1310. struct __declspec(uuid("20664808-fe45-9018-be1f-66eb0dec7321"))
  1311. MaplexDictionaryEntry;
  1312.     // [ default ] interface IUnknown
  1313.     // interface IMaplexDictionaryEntry
  1314.     // interface IPersistStream
  1315.     // interface IClone
  1316. struct __declspec(uuid("20664808-3de2-1cd1-8a09-08e00dec7321"))
  1317. MaplexDictionary;
  1318.     // [ default ] interface IUnknown
  1319.     // interface IMaplexDictionary
  1320.     // interface IPersistStream
  1321.     // interface IClone
  1322. struct __declspec(uuid("20664808-56db-bd28-67dc-02e33decf321"))
  1323. MaplexDictionaries;
  1324.     // [ default ] interface IUnknown
  1325.     // interface IMaplexDictionaries
  1326.     // interface IPersistStream
  1327.     // interface IClone
  1328. struct __declspec(uuid("20664808-a8c2-c1d1-acdc-1708f95c7321"))
  1329. MaplexOverposterProperties;
  1330.     // [ default ] interface IUnknown
  1331.     // interface IMaplexOverposterProperties
  1332.     // interface IOverposterProperties
  1333.     // interface IOverposterOptions
  1334.     // interface IPersistStream
  1335.     // interface IClone
  1336.     // interface ILicensedComponent
  1337.     // interface ISupportErrorInfo
  1338. struct __declspec(uuid("20664808-0d1c-11d2-a26f-080009b6f22b"))
  1339. MaplexLabelEngineLayerProperties;
  1340.     // [ default ] interface IUnknown
  1341.     // interface IAnnotateProperties
  1342.     // interface IAnnotateLayerProperties
  1343.     // interface ILabelEngineLayerProperties
  1344.     // interface ILabelEngineLayerProperties2
  1345.     // interface IAnnotateLayerTransformationProperties
  1346.     // interface IPersistStream
  1347.     // interface IClone
  1348. struct __declspec(uuid("59a8eeba-8ef7-4143-b497-4efcaf6a2405"))
  1349. ILabelEngineLayerProperties2 : IUnknown
  1350. {
  1351.     //
  1352.     // Raw methods provided by interface
  1353.     //
  1354.     virtual HRESULT __stdcall putref_Symbol (
  1355.         struct ITextSymbol * TextSymbol ) = 0;
  1356.     virtual HRESULT __stdcall get_Symbol (
  1357.         struct ITextSymbol * * TextSymbol ) = 0;
  1358.     virtual HRESULT __stdcall put_SymbolID (
  1359.         long SymbolID ) = 0;
  1360.     virtual HRESULT __stdcall get_SymbolID (
  1361.         long * SymbolID ) = 0;
  1362.     virtual HRESULT __stdcall put_Offset (
  1363.         double Offset ) = 0;
  1364.     virtual HRESULT __stdcall get_Offset (
  1365.         double * Offset ) = 0;
  1366.     virtual HRESULT __stdcall putref_BasicOverposterLayerProperties (
  1367.         struct IBasicOverposterLayerProperties * props ) = 0;
  1368.     virtual HRESULT __stdcall get_BasicOverposterLayerProperties (
  1369.         struct IBasicOverposterLayerProperties * * props ) = 0;
  1370.     virtual HRESULT __stdcall put_Expression (
  1371.         BSTR Expression ) = 0;
  1372.     virtual HRESULT __stdcall get_Expression (
  1373.         BSTR * Expression ) = 0;
  1374.     virtual HRESULT __stdcall put_IsExpressionSimple (
  1375.         VARIANT_BOOL simpleExpression ) = 0;
  1376.     virtual HRESULT __stdcall get_IsExpressionSimple (
  1377.         VARIANT_BOOL * simpleExpression ) = 0;
  1378.     virtual HRESULT __stdcall putref_ExpressionParser (
  1379.         struct IAnnotationExpressionEngine * engine ) = 0;
  1380.     virtual HRESULT __stdcall get_ExpressionParser (
  1381.         struct IAnnotationExpressionEngine * * engine ) = 0;
  1382.     virtual HRESULT __stdcall put_AnnotationClassID (
  1383.         long AnnotationClassID ) = 0;
  1384.     virtual HRESULT __stdcall get_AnnotationClassID (
  1385.         long * AnnotationClassID ) = 0;
  1386.     virtual HRESULT __stdcall putref_OverposterLayerProperties (
  1387.         struct IOverposterLayerProperties * props ) = 0;
  1388.     virtual HRESULT __stdcall get_OverposterLayerProperties (
  1389.         struct IOverposterLayerProperties * * props ) = 0;
  1390. };
  1391. struct __declspec(uuid("3eb7ef02-dd8b-11d2-9f47-00c04f6bc6a5"))
  1392. IAnnotateLayerTransformationProperties : IUnknown
  1393. {
  1394.     //
  1395.     // Raw methods provided by interface
  1396.     //
  1397.     virtual HRESULT __stdcall put_Bounds (
  1398.         struct IEnvelope * Bounds ) = 0;
  1399.     virtual HRESULT __stdcall get_Bounds (
  1400.         struct IEnvelope * * Bounds ) = 0;
  1401.     virtual HRESULT __stdcall get_Units (
  1402.         enum esriUnits * unitsCode ) = 0;
  1403.     virtual HRESULT __stdcall put_Units (
  1404.         enum esriUnits unitsCode ) = 0;
  1405.     virtual HRESULT __stdcall get_ScaleRatio (
  1406.         double * Scale ) = 0;
  1407.     virtual HRESULT __stdcall put_ScaleRatio (
  1408.         double Scale ) = 0;
  1409.     virtual HRESULT __stdcall get_ReferenceScale (
  1410.         double * Scale ) = 0;
  1411.     virtual HRESULT __stdcall put_ReferenceScale (
  1412.         double Scale ) = 0;
  1413. };
  1414. struct __declspec(uuid("20664808-41c9-11d1-880a-080009ec732a"))
  1415. MaplexOverposterLayerProperties;
  1416.     // [ default ] interface IUnknown
  1417.     // interface IMaplexOverposterLayerProperties
  1418.     // interface IOverposterLayerProperties
  1419.     // interface IOverposterLayerProperties2
  1420.     // interface IPersistStream
  1421.     // interface IClone
  1422. struct __declspec(uuid("20664808-bba1-ccd2-8967-f453c9ed732a"))
  1423. MaplexRotationProperties;
  1424.     // [ default ] interface IUnknown
  1425.     // interface IMaplexRotationProperties
  1426.     // interface IPersistStream
  1427.     // interface IClone
  1428. struct __declspec(uuid("20664808-41c9-11d1-840a-08abc9ed731a"))
  1429. MaplexLabelStackingProperties;
  1430.     // [ default ] interface IUnknown
  1431.     // interface IMaplexLabelStackingProperties
  1432.     // interface IPersistStream
  1433.     // interface IClone
  1434. struct __declspec(uuid("20664808-4fa1-c1d1-8c0a-08a2c9ed531a"))
  1435. MaplexOffsetAlongLineProperties;
  1436.     // [ default ] interface IUnknown
  1437.     // interface IMaplexOffsetAlongLineProperties
  1438.     // interface IPersistStream
  1439.     // interface IClone
  1440. struct __declspec(uuid("20664808-9015-bdf1-40af-0ca125a0d2ef"))
  1441. MaplexAnnotationPropertiesConverter;
  1442.     // [ default ] interface IUnknown
  1443.     // interface IAnnotationPropertiesConverter
  1444. struct __declspec(uuid("3a92de4f-c31a-11d2-9f34-76bc4e6ac621"))
  1445. IAnnotationPropertiesConverter : IUnknown
  1446. {
  1447.     //
  1448.     // Raw methods provided by interface
  1449.     //
  1450.     virtual HRESULT __stdcall CanConvert (
  1451.         struct IUID * sourceAnnotationPropertiesID,
  1452.         struct IUID * destinationAnnotationPropertiesID,
  1453.         VARIANT_BOOL * CanConvert ) = 0;
  1454.     virtual HRESULT __stdcall Convert (
  1455.         enum esriGeometryType Type,
  1456.         struct IDisplayTransformation * displayTransformation,
  1457.         struct IUID * sourceAnnotationPropertiesID,
  1458.         struct IAnnotateLayerPropertiesCollection * sourceProps,
  1459.         struct IUID * destinationAnnotationPropertiesID,
  1460.         struct IAnnotateLayerPropertiesCollection * * destinationProps ) = 0;
  1461. };
  1462. struct __declspec(uuid("20664808-cba7-11da-9f3a-00c34f6b26a5"))
  1463. MaplexLabelStyle;
  1464.     // [ default ] interface IUnknown
  1465.     // interface ILabelStyle
  1466.     // interface ILabelStyle2
  1467.     // interface IMaplexLabelStyle
  1468.     // interface IPersistStream
  1469.     // interface IPersist
  1470.     // interface IClone
  1471. struct __declspec(uuid("4c90de7a-cb77-11d2-9f34-00c04f6bc6a5"))
  1472. ILabelStyle : IUnknown
  1473. {
  1474.     //
  1475.     // Raw methods provided by interface
  1476.     //
  1477.     virtual HRESULT __stdcall putref_Symbol (
  1478.         struct ITextSymbol * TextSymbol ) = 0;
  1479.     virtual HRESULT __stdcall get_Symbol (
  1480.         struct ITextSymbol * * TextSymbol ) = 0;
  1481.     virtual HRESULT __stdcall putref_BasicOverposterLayerProperties (
  1482.         struct IBasicOverposterLayerProperties * props ) = 0;
  1483.     virtual HRESULT __stdcall get_BasicOverposterLayerProperties (
  1484.         struct IBasicOverposterLayerProperties * * props ) = 0;
  1485. };
  1486. struct __declspec(uuid("3178ec81-a0a5-4cf0-b055-11dea12edc28"))
  1487. ILabelStyle2 : IUnknown
  1488. {
  1489.     //
  1490.     // Raw methods provided by interface
  1491.     //
  1492.     virtual HRESULT __stdcall putref_Symbol (
  1493.         struct ITextSymbol * TextSymbol ) = 0;
  1494.     virtual HRESULT __stdcall get_Symbol (
  1495.         struct ITextSymbol * * TextSymbol ) = 0;
  1496.     virtual HRESULT __stdcall putref_BasicOverposterLayerProperties (
  1497.         struct IBasicOverposterLayerProperties * props ) = 0;
  1498.     virtual HRESULT __stdcall get_BasicOverposterLayerProperties (
  1499.         struct IBasicOverposterLayerProperties * * props ) = 0;
  1500.     virtual HRESULT __stdcall putref_OverposterLayerProperties (
  1501.         struct IOverposterLayerProperties * props ) = 0;
  1502.     virtual HRESULT __stdcall get_OverposterLayerProperties (
  1503.         struct IOverposterLayerProperties * * props ) = 0;
  1504. };
  1505. struct __declspec(uuid("80753ccf-be43-4301-aaa0-60a94824b5fb"))
  1506. BasicPlacedObject;
  1507.     // [ default ] interface IUnknown
  1508.     // interface IPlacedObject
  1509.     // interface IPlacedObject2
  1510.     // interface IPlacedObject3
  1511. struct __declspec(uuid("a2baae2b-969b-11d2-ae77-080009ec732a"))
  1512. ILayerFields : IUnknown
  1513. {
  1514.     //
  1515.     // Raw methods provided by interface
  1516.     //
  1517.     virtual HRESULT __stdcall get_FieldCount (
  1518.         long * Count ) = 0;
  1519.     virtual HRESULT __stdcall get_Field (
  1520.         long Index,
  1521.         struct IField * * Field ) = 0;
  1522.     virtual HRESULT __stdcall get_FieldInfo (
  1523.         long Index,
  1524.         struct IFieldInfo * * FieldInfo ) = 0;
  1525.     virtual HRESULT __stdcall FindField (
  1526.         BSTR FieldName,
  1527.         long * Index ) = 0;
  1528. };
  1529. struct __declspec(uuid("2b35e113-9f11-43d5-914f-5c7055db37bc"))
  1530. IAnnotateLayerPropertiesCollection2 : IUnknown
  1531. {
  1532.     //
  1533.     // Raw methods provided by interface
  1534.     //
  1535.     virtual HRESULT __stdcall Add (
  1536.         struct IAnnotateLayerProperties * Item,
  1537.         long * ID ) = 0;
  1538.     virtual HRESULT __stdcall get_Count (
  1539.         long * Count ) = 0;
  1540.     virtual HRESULT __stdcall QueryItem (
  1541.         long Index,
  1542.         struct IAnnotateLayerProperties * * Item,
  1543.         long * ID ) = 0;
  1544.     virtual HRESULT __stdcall Clear ( ) = 0;
  1545.     virtual HRESULT __stdcall Remove (
  1546.         long ID ) = 0;
  1547.     virtual HRESULT __stdcall Sort ( ) = 0;
  1548.     virtual HRESULT __stdcall get_Properties (
  1549.         long ID,
  1550.         struct IAnnotateLayerProperties * * ppAnnotateLayerProperties ) = 0;
  1551.     virtual HRESULT __stdcall Replace (
  1552.         long ID,
  1553.         struct IAnnotateLayerProperties * pAnnotateLayerProperties ) = 0;
  1554. };
  1555. struct __declspec(uuid("56426ae7-a129-43d7-8eb7-2b41f507f390"))
  1556. IAnnotationExpressionParser2 : IUnknown
  1557. {
  1558.     //
  1559.     // Raw methods provided by interface
  1560.     //
  1561.     virtual HRESULT __stdcall get_Expression (
  1562.         BSTR * Expression ) = 0;
  1563.     virtual HRESULT __stdcall get_AttributeCount (
  1564.         long * attributes ) = 0;
  1565.     virtual HRESULT __stdcall get_Attribute (
  1566.         long Index,
  1567.         BSTR * Attribute ) = 0;
  1568.     virtual HRESULT __stdcall FindLabel (
  1569.         struct IFeature * Feature,
  1570.         struct ILayerFields * pLayerFields,
  1571.         BSTR * Label ) = 0;
  1572.     virtual HRESULT __stdcall LastError (
  1573.         long * number,
  1574.         long * line,
  1575.         BSTR * Description ) = 0;
  1576. };
  1577. struct __declspec(uuid("adcf5590-4250-4d45-b8ce-436fef905829"))
  1578. ICodedValueAttributes : IUnknown
  1579. {
  1580.     //
  1581.     // Raw methods provided by interface
  1582.     //
  1583.     virtual HRESULT __stdcall get_UseCodedValue (
  1584.         VARIANT_BOOL * flag ) = 0;
  1585.     virtual HRESULT __stdcall put_UseCodedValue (
  1586.         VARIANT_BOOL flag ) = 0;
  1587. };
  1588. enum esriLabelEnvLabelStyleMethod
  1589. {
  1590.     esriUseFeatureLayerLabelStyle = 0,
  1591.     esriChooseLabelStyle = 1
  1592. };
  1593. enum esriLabelEnvPlacement
  1594. {
  1595.     esriPlaceWhereClick = 0,
  1596.     esriCalculateBestPlacement = 1
  1597. };
  1598. struct __declspec(uuid("76765b93-ce78-11d2-9f36-00c04f6bc6a5"))
  1599. ILabelEnvironment : IUnknown
  1600. {
  1601.     //
  1602.     // Raw methods provided by interface
  1603.     //
  1604.     virtual HRESULT __stdcall put_LabelStyleMethod (
  1605.         enum esriLabelEnvLabelStyleMethod Method ) = 0;
  1606.     virtual HRESULT __stdcall get_LabelStyleMethod (
  1607.         enum esriLabelEnvLabelStyleMethod * Method ) = 0;
  1608.     virtual HRESULT __stdcall put_Placement (
  1609.         enum esriLabelEnvPlacement Placement ) = 0;
  1610.     virtual HRESULT __stdcall get_Placement (
  1611.         enum esriLabelEnvPlacement * Placement ) = 0;
  1612.     virtual HRESULT __stdcall putref_LabelStyle (
  1613.         struct ILabelStyle * LabelStyle ) = 0;
  1614.     virtual HRESULT __stdcall get_LabelStyle (
  1615.         struct ILabelStyle * * LabelStyle ) = 0;
  1616. };
  1617. struct __declspec(uuid("1d5849f3-0d33-11d2-a26f-080009b6f22b"))
  1618. AnnotateLayerPropertiesCollection;
  1619.     // [ default ] interface IUnknown
  1620.     // interface IAnnotateLayerPropertiesCollection
  1621.     // interface IPersistStream
  1622.     // interface IAnnotateLayerPropertiesCollection2
  1623.     // interface IClone
  1624. struct __declspec(uuid("aa157207-e079-11d2-9f48-00c04f6bc6a5"))
  1625. AnnotationVBScriptEngine;
  1626.     // [ default ] interface IUnknown
  1627.     // interface IAnnotationExpressionEngine
  1628.     // interface ICodedValueAttributes
  1629.     // interface IPersistStream
  1630. struct __declspec(uuid("aa157208-e079-11d2-9f48-00c04f6bc6a5"))
  1631. AnnotationJScriptEngine;
  1632.     // [ default ] interface IUnknown
  1633.     // interface IAnnotationExpressionEngine
  1634.     // interface ICodedValueAttributes
  1635.     // interface IPersistStream
  1636. struct __declspec(uuid("4c90de7b-cb77-11d2-9f34-00c04f6bc6a5"))
  1637. LabelStyle;
  1638.     // [ default ] interface IUnknown
  1639.     // interface ILabelStyle
  1640.     // interface ILabelStyle2
  1641.     // interface IPersistStream
  1642.     // interface IPersist
  1643.     // interface IClone
  1644. struct __declspec(uuid("76765b96-ce78-11d2-9f36-00c04f6bc6a5"))
  1645. LabelEnvironment;
  1646.     // [ default ] interface IUnknown
  1647.     // interface ILabelEnvironment
  1648. struct __declspec(uuid("01004145-0d1c-11d2-a26f-080009b6f22b"))
  1649. LabelEngineLayerProperties;
  1650.     // [ default ] interface IUnknown
  1651.     // interface IAnnotateProperties
  1652.     // interface IAnnotateLayerProperties
  1653.     // interface ILabelEngineLayerProperties
  1654.     // interface ILabelEngineLayerProperties2
  1655.     // interface IAnnotateLayerTransformationProperties
  1656.     // interface IPersistStream
  1657.     // interface IClone
  1658. struct __declspec(uuid("789a75df-041a-439d-b1c2-41403449cf85"))
  1659. AnnotationExpressionParser;
  1660.     // [ default ] interface IUnknown
  1661.     // interface IAnnotationExpressionParser
  1662.     // interface IAnnotationExpressionParser2
  1663.     // interface ICodedValueAttributes
  1664. struct __declspec(uuid("2f2047a6-42bd-11d2-aafd-00c04fa334b3"))
  1665. IRotationRenderer : IUnknown
  1666. {
  1667.     //
  1668.     // Raw methods provided by interface
  1669.     //
  1670.     virtual HRESULT __stdcall get_RotationField (
  1671.         BSTR * FieldName ) = 0;
  1672.     virtual HRESULT __stdcall put_RotationField (
  1673.         BSTR FieldName ) = 0;
  1674.     virtual HRESULT __stdcall get_RotationType (
  1675.         enum esriSymbolRotationType * Type ) = 0;
  1676.     virtual HRESULT __stdcall put_RotationType (
  1677.         enum esriSymbolRotationType Type ) = 0;
  1678. };
  1679. enum esriDataSampling
  1680. {
  1681.     esriAllRecords = 0,
  1682.     esriRandomRecords = 1,
  1683.     esriEveryNthRecord = 2
  1684. };
  1685. enum esriDataNormalization
  1686. {
  1687.     esriNormalizeByField = 0,
  1688.     esriNormalizeByLog = 1,
  1689.     esriNormalizeByPercentOfTotal = 2,
  1690.     esriNormalizeByArea = 3,
  1691.     esriNormalizeByNothing = 4
  1692. };
  1693. enum esriValueRepresentations
  1694. {
  1695.     esriValueRepUnknown = 0,
  1696.     esriValueRepRadius = 1,
  1697.     esriValueRepArea = 2,
  1698.     esriValueRepDistance = 3,
  1699.     esriValueRepWidth = 4
  1700. };
  1701. enum esriLegendItemArrangement
  1702. {
  1703.     esriPatchLabelDescription = 0,
  1704.     esriPatchDescriptionLabel = 1,
  1705.     esriLabelPatchDescription = 2,
  1706.     esriLabelDescriptionPatch = 3,
  1707.     esriDescriptionPatchLabel = 4,
  1708.     esriDescriptionLabelPatch = 5
  1709. };
  1710. struct __declspec(uuid("d5bb4b87-e0a1-11d2-9f4d-00c04f6bc78e"))
  1711. IFeatureIDSet : IUnknown
  1712. {
  1713.     //
  1714.     // Raw methods provided by interface
  1715.     //
  1716.     virtual HRESULT __stdcall get_Contains (
  1717.         long FID,
  1718.         VARIANT_BOOL * Contains ) = 0;
  1719.     virtual HRESULT __stdcall get_Count (
  1720.         long * Count ) = 0;
  1721.     virtual HRESULT __stdcall Add (
  1722.         long FID ) = 0;
  1723.     virtual HRESULT __stdcall Remove (
  1724.         long FID ) = 0;
  1725.     virtual HRESULT __stdcall Clear ( ) = 0;
  1726.     virtual HRESULT __stdcall get_Members (
  1727.         VARIANT * fids ) = 0;
  1728. };
  1729. struct __declspec(uuid("40a9e884-5533-11d0-98be-00805f7ced21"))
  1730. IFeatureRenderer : IUnknown
  1731. {
  1732.     //
  1733.     // Raw methods provided by interface
  1734.     //
  1735.     virtual HRESULT __stdcall CanRender (
  1736.         struct IFeatureClass * featClass,
  1737.         struct IDisplay * Display,
  1738.         VARIANT_BOOL * result ) = 0;
  1739.     virtual HRESULT __stdcall PrepareFilter (
  1740.         struct IFeatureClass * fc,
  1741.         struct IQueryFilter * queryFilter ) = 0;
  1742.     virtual HRESULT __stdcall Draw (
  1743.         struct IFeatureCursor * cursor,
  1744.         enum esriDrawPhase DrawPhase,
  1745.         struct IDisplay * Display,
  1746.         struct ITrackCancel * trackCancel ) = 0;
  1747.     virtual HRESULT __stdcall get_SymbolByFeature (
  1748.         struct IFeature * Feature,
  1749.         struct ISymbol * * Symbol ) = 0;
  1750.     virtual HRESULT __stdcall get_RenderPhase (
  1751.         enum esriDrawPhase DrawPhase,
  1752.         VARIANT_BOOL * result ) = 0;
  1753.     virtual HRESULT __stdcall putref_ExclusionSet (
  1754.         struct IFeatureIDSet * _arg1 ) = 0;
  1755. };
  1756. struct __declspec(uuid("427788f2-31fe-11d2-aaf0-00c04fa334b3"))
  1757. IClassBreaksUIProperties : IUnknown
  1758. {
  1759.     //
  1760.     // Raw methods provided by interface
  1761.     //
  1762.     virtual HRESULT __stdcall get_LowBreak (
  1763.         long Index,
  1764.         double * Value ) = 0;
  1765.     virtual HRESULT __stdcall put_LowBreak (
  1766.         long Index,
  1767.         double Value ) = 0;
  1768.     virtual HRESULT __stdcall get_ColorRamp (
  1769.         BSTR * ColorRamp ) = 0;
  1770.     virtual HRESULT __stdcall put_ColorRamp (
  1771.         BSTR ColorRamp ) = 0;
  1772.     virtual HRESULT __stdcall get_Method (
  1773.         struct IUID * * clsid ) = 0;
  1774.     virtual HRESULT __stdcall putref_Method (
  1775.         struct IUID * clsid ) = 0;
  1776.     virtual HRESULT __stdcall get_NumberFormat (
  1777.         struct INumberFormat * * Format ) = 0;
  1778.     virtual HRESULT __stdcall putref_NumberFormat (
  1779.         struct INumberFormat * Format ) = 0;
  1780.     virtual HRESULT __stdcall get_ShowClassGaps (
  1781.         VARIANT_BOOL * showGaps ) = 0;
  1782.     virtual HRESULT __stdcall put_ShowClassGaps (
  1783.         VARIANT_BOOL showGaps ) = 0;
  1784.     virtual HRESULT __stdcall get_DeviationInterval (
  1785.         double * Interval ) = 0;
  1786.     virtual HRESULT __stdcall put_DeviationInterval (
  1787.         double Interval ) = 0;
  1788. };
  1789. struct __declspec(uuid("4eab5690-8f9c-11d2-ab21-00c04fa334b3"))
  1790. IDataSampling : IUnknown
  1791. {
  1792.     //
  1793.     // Raw methods provided by interface
  1794.     //
  1795.     virtual HRESULT __stdcall get_MaxSampleSize (
  1796.         long * Size ) = 0;
  1797.     virtual HRESULT __stdcall put_MaxSampleSize (
  1798.         long Size ) = 0;
  1799.     virtual HRESULT __stdcall get_SamplingMethod (
  1800.         enum esriDataSampling * Method ) = 0;
  1801.     virtual HRESULT __stdcall put_SamplingMethod (
  1802.         enum esriDataSampling Method ) = 0;
  1803. };
  1804. struct __declspec(uuid("678d02a5-e3fa-11d3-9f7b-00c04f6bc709"))
  1805. IDataNormalization : IUnknown
  1806. {
  1807.     //
  1808.     // Raw methods provided by interface
  1809.     //
  1810.     virtual HRESULT __stdcall get_NormalizationField (
  1811.         BSTR * FieldName ) = 0;
  1812.     virtual HRESULT __stdcall put_NormalizationField (
  1813.         BSTR FieldName ) = 0;
  1814.     virtual HRESULT __stdcall get_NormalizationFieldAlias (
  1815.         BSTR * Name ) = 0;
  1816.     virtual HRESULT __stdcall put_NormalizationFieldAlias (
  1817.         BSTR Name ) = 0;
  1818.     virtual HRESULT __stdcall get_NormalizationType (
  1819.         enum esriDataNormalization * Type ) = 0;
  1820.     virtual HRESULT __stdcall put_NormalizationType (
  1821.         enum esriDataNormalization Type ) = 0;
  1822.     virtual HRESULT __stdcall get_NormalizationTotal (
  1823.         double * Value ) = 0;
  1824.     virtual HRESULT __stdcall put_NormalizationTotal (
  1825.         double Value ) = 0;
  1826. };
  1827. struct __declspec(uuid("ec45bfa6-8efc-11d2-ab21-00c04fa334b3"))
  1828. IProportionalSymbolRenderer : IUnknown
  1829. {
  1830.     //
  1831.     // Raw methods provided by interface
  1832.     //
  1833.     virtual HRESULT __stdcall get_Field (
  1834.         BSTR * Field ) = 0;
  1835.     virtual HRESULT __stdcall put_Field (
  1836.         BSTR Field ) = 0;
  1837.     virtual HRESULT __stdcall get_NormField (
  1838.         BSTR * Field ) = 0;
  1839.     virtual HRESULT __stdcall put_NormField (
  1840.         BSTR Field ) = 0;
  1841.     virtual HRESULT __stdcall put_MaxDataValue (
  1842.         double _arg1 ) = 0;
  1843.     virtual HRESULT __stdcall put_MinDataValue (
  1844.         double _arg1 ) = 0;
  1845.     virtual HRESULT __stdcall get_MinSymbol (
  1846.         struct ISymbol * * sym ) = 0;
  1847.     virtual HRESULT __stdcall put_MinSymbol (
  1848.         struct ISymbol * sym ) = 0;
  1849.     virtual HRESULT __stdcall get_ValueUnit (
  1850.         enum esriUnits * unit ) = 0;
  1851.     virtual HRESULT __stdcall put_ValueUnit (
  1852.         enum esriUnits unit ) = 0;
  1853.     virtual HRESULT __stdcall get_ValueRepresentation (
  1854.         enum esriValueRepresentations * rep ) = 0;
  1855.     virtual HRESULT __stdcall put_ValueRepresentation (
  1856.         enum esriValueRepresentations rep ) = 0;
  1857.     virtual HRESULT __stdcall get_FlanneryCompensation (
  1858.         VARIANT_BOOL * flag ) = 0;
  1859.     virtual HRESULT __stdcall put_FlanneryCompensation (
  1860.         VARIANT_BOOL flag ) = 0;
  1861.     virtual HRESULT __stdcall get_LegendSymbolCount (
  1862.         long * num ) = 0;
  1863.     virtual HRESULT __stdcall put_LegendSymbolCount (
  1864.         long num ) = 0;
  1865.     virtual HRESULT __stdcall get_BackgroundSymbol (
  1866.         struct IFillSymbol * * sym ) = 0;
  1867.     virtual HRESULT __stdcall put_BackgroundSymbol (
  1868.         struct IFillSymbol * sym ) = 0;
  1869.     virtual HRESULT __stdcall CreateLegendSymbols ( ) = 0;
  1870. };
  1871. struct __declspec(uuid("fb20665d-db1c-11d2-9f2e-00c04f6bc709"))
  1872. ITransparencyRenderer : IUnknown
  1873. {
  1874.     //
  1875.     // Raw methods provided by interface
  1876.     //
  1877.     virtual HRESULT __stdcall get_TransparencyField (
  1878.         BSTR * FieldName ) = 0;
  1879.     virtual HRESULT __stdcall put_TransparencyField (
  1880.         BSTR FieldName ) = 0;
  1881. };
  1882. struct __declspec(uuid("dc3d8097-c1ed-11d2-9f21-00c04f6bc709"))
  1883. ILevelRenderer : IUnknown
  1884. {
  1885.     //
  1886.     // Raw methods provided by interface
  1887.     //
  1888.     virtual HRESULT __stdcall put_CurrentDrawLevel (
  1889.         long _arg1 ) = 0;
  1890.     virtual HRESULT __stdcall get_LevelArray (
  1891.         VARIANT * levels ) = 0;
  1892. };
  1893. struct __declspec(uuid("736a377d-a1eb-4ce4-84b9-90f9588374c2"))
  1894. ILookupSymbol : IUnknown
  1895. {
  1896.     //
  1897.     // Raw methods provided by interface
  1898.     //
  1899.     virtual HRESULT __stdcall LookupSymbol (
  1900.         VARIANT_BOOL firstPass,
  1901.         struct IFeature * Feature,
  1902.         struct ISymbol * * Symbol ) = 0;
  1903.     virtual HRESULT __stdcall ResetLookupSymbol (
  1904.         struct ISymbol * Symbol ) = 0;
  1905. };
  1906. struct __declspec(uuid("ae1248b5-cd1e-11d2-9f25-00c04f6bc709"))
  1907. IBivariateRenderer : IUnknown
  1908. {
  1909.     //
  1910.     // Raw methods provided by interface
  1911.     //
  1912.     virtual HRESULT __stdcall get_MainRenderer (
  1913.         struct IFeatureRenderer * * Renderer ) = 0;
  1914.     virtual HRESULT __stdcall putref_MainRenderer (
  1915.         struct IFeatureRenderer * Renderer ) = 0;
  1916.     virtual HRESULT __stdcall get_VariationRenderer (
  1917.         struct IFeatureRenderer * * Renderer ) = 0;
  1918.     virtual HRESULT __stdcall putref_VariationRenderer (
  1919.         struct IFeatureRenderer * Renderer ) = 0;
  1920.     virtual HRESULT __stdcall CreateLegend ( ) = 0;
  1921. };
  1922. struct __declspec(uuid("c86b3d95-ed80-11d0-8bba-080009ee4e41"))
  1923. IScaleDependentRenderer : IUnknown
  1924. {
  1925.     //
  1926.     // Raw methods provided by interface
  1927.     //
  1928.     virtual HRESULT __stdcall get_RendererCount (
  1929.         long * RendererCount ) = 0;
  1930.     virtual HRESULT __stdcall put_RendererCount (
  1931.         long RendererCount ) = 0;
  1932.     virtual HRESULT __stdcall get_Renderer (
  1933.         long Index,
  1934.         IUnknown * * Renderer ) = 0;
  1935.     virtual HRESULT __stdcall putref_Renderer (
  1936.         long Index,
  1937.         IUnknown * Renderer ) = 0;
  1938.     virtual HRESULT __stdcall get_Break (
  1939.         long Index,
  1940.         double * breakValue ) = 0;
  1941.     virtual HRESULT __stdcall put_Break (
  1942.         long Index,
  1943.         double breakValue ) = 0;
  1944.     virtual HRESULT __stdcall AddRenderer (
  1945.         struct IFeatureRenderer * Renderer ) = 0;
  1946.     virtual HRESULT __stdcall RemoveRenderer (
  1947.         struct IFeatureRenderer * Renderer ) = 0;
  1948.     virtual HRESULT __stdcall MoveRenderer (
  1949.         struct IFeatureRenderer * Renderer,
  1950.         long toIndex ) = 0;
  1951. };
  1952. struct __declspec(uuid("9c7776b8-0421-11d4-9f7c-00c04f6bc709"))
  1953. IRendererFields : IUnknown
  1954. {
  1955.     //
  1956.     // Raw methods provided by interface
  1957.     //
  1958.     virtual HRESULT __stdcall get_FieldCount (
  1959.         long * Count ) = 0;
  1960.     virtual HRESULT __stdcall get_Field (
  1961.         long Index,
  1962.         BSTR * Name ) = 0;
  1963.     virtual HRESULT __stdcall put_Field (
  1964.         long Index,
  1965.         BSTR Name ) = 0;
  1966.     virtual HRESULT __stdcall get_FieldAlias (
  1967.         long Index,
  1968.         BSTR * Name ) = 0;
  1969.     virtual HRESULT __stdcall put_FieldAlias (
  1970.         long Index,
  1971.         BSTR Name ) = 0;
  1972.     virtual HRESULT __stdcall AddField (
  1973.         BSTR Name,
  1974.         BSTR alias ) = 0;
  1975.     virtual HRESULT __stdcall DeleteField (
  1976.         BSTR Name ) = 0;
  1977.     virtual HRESULT __stdcall ClearFields ( ) = 0;
  1978. };
  1979. struct __declspec(uuid("22a98367-c48d-11d3-9f7a-00c04f6bc709"))
  1980. IChartRenderer : IUnknown
  1981. {
  1982.     //
  1983.     // Raw methods provided by interface
  1984.     //
  1985.     virtual HRESULT __stdcall get_FieldTotal (
  1986.         long Index,
  1987.         double * total ) = 0;
  1988.     virtual HRESULT __stdcall put_FieldTotal (
  1989.         long Index,
  1990.         double total ) = 0;
  1991.     virtual HRESULT __stdcall get_ChartSymbol (
  1992.         struct IChartSymbol * * Symbol ) = 0;
  1993.     virtual HRESULT __stdcall putref_ChartSymbol (
  1994.         struct IChartSymbol * Symbol ) = 0;
  1995.     virtual HRESULT __stdcall get_BaseSymbol (
  1996.         struct ISymbol * * Symbol ) = 0;
  1997.     virtual HRESULT __stdcall putref_BaseSymbol (
  1998.         struct ISymbol * Symbol ) = 0;
  1999.     virtual HRESULT __stdcall get_ColorScheme (
  2000.         BSTR * Name ) = 0;
  2001.     virtual HRESULT __stdcall put_ColorScheme (
  2002.         BSTR Name ) = 0;
  2003.     virtual HRESULT __stdcall get_Label (
  2004.         BSTR * Name ) = 0;
  2005.     virtual HRESULT __stdcall put_Label (
  2006.         BSTR Name ) = 0;
  2007.     virtual HRESULT __stdcall get_UseOverposter (
  2008.         VARIANT_BOOL * flag ) = 0;
  2009.     virtual HRESULT __stdcall put_UseOverposter (
  2010.         VARIANT_BOOL flag ) = 0;
  2011.     virtual HRESULT __stdcall CreateLegend ( ) = 0;
  2012. };
  2013. struct __declspec(uuid("22a98368-c48d-11d3-9f7a-00c04f6bc709"))
  2014. IPieChartRenderer : IUnknown
  2015. {
  2016.     //
  2017.     // Raw methods provided by interface
  2018.     //
  2019.     virtual HRESULT __stdcall get_ProportionalField (
  2020.         BSTR * Name ) = 0;
  2021.     virtual HRESULT __stdcall put_ProportionalField (
  2022.         BSTR Name ) = 0;
  2023.     virtual HRESULT __stdcall get_ProportionalFieldAlias (
  2024.         BSTR * Name ) = 0;
  2025.     virtual HRESULT __stdcall put_ProportionalFieldAlias (
  2026.         BSTR Name ) = 0;
  2027.     virtual HRESULT __stdcall get_ProportionalBySum (
  2028.         VARIANT_BOOL * flag ) = 0;
  2029.     virtual HRESULT __stdcall put_ProportionalBySum (
  2030.         VARIANT_BOOL flag ) = 0;
  2031.     virtual HRESULT __stdcall get_MinValue (
  2032.         double * Value ) = 0;
  2033.     virtual HRESULT __stdcall put_MinValue (
  2034.         double Value ) = 0;
  2035.     virtual HRESULT __stdcall get_MinSize (
  2036.         double * points ) = 0;
  2037.     virtual HRESULT __stdcall put_MinSize (
  2038.         double points ) = 0;
  2039.     virtual HRESULT __stdcall get_FlanneryCompensation (
  2040.         VARIANT_BOOL * flag ) = 0;
  2041.     virtual HRESULT __stdcall put_FlanneryCompensation (
  2042.         VARIANT_BOOL flag ) = 0;
  2043. };
  2044. struct __declspec(uuid("4b62f73e-0502-11d4-9f7c-00c04f6bc709"))
  2045. ICalcRendererValues : IUnknown
  2046. {
  2047.     //
  2048.     // Raw methods provided by interface
  2049.     //
  2050.     virtual HRESULT __stdcall SetData (
  2051.         struct IFeatureLayer * Layer,
  2052.         struct IFeatureRenderer * Renderer ) = 0;
  2053.     virtual HRESULT __stdcall CalcMinMax (
  2054.         double * MinValue,
  2055.         double * maxValue ) = 0;
  2056.     virtual HRESULT __stdcall SetDirty ( ) = 0;
  2057.     virtual HRESULT __stdcall SetMinMax (
  2058.         double MinValue,
  2059.         double maxValue ) = 0;
  2060.     virtual HRESULT __stdcall GetFieldTotals (
  2061.         VARIANT * doubleArrayTotals ) = 0;
  2062. };
  2063. struct __declspec(uuid("9c7776b7-0421-11d4-9f7c-00c04f6bc709"))
  2064. IDotDensityRenderer : IUnknown
  2065. {
  2066.     //
  2067.     // Raw methods provided by interface
  2068.     //
  2069.     virtual HRESULT __stdcall get_DotDensitySymbol (
  2070.         struct IDotDensityFillSymbol * * Symbol ) = 0;
  2071.     virtual HRESULT __stdcall putref_DotDensitySymbol (
  2072.         struct IDotDensityFillSymbol * Symbol ) = 0;
  2073.     virtual HRESULT __stdcall get_DotValue (
  2074.         double * Value ) = 0;
  2075.     virtual HRESULT __stdcall put_DotValue (
  2076.         double Value ) = 0;
  2077.     virtual HRESULT __stdcall get_ControlLayer (
  2078.         struct IFeatureLayer * * Layer ) = 0;
  2079.     virtual HRESULT __stdcall putref_ControlLayer (
  2080.         struct IFeatureLayer * Layer ) = 0;
  2081.     virtual HRESULT __stdcall get_ColorScheme (
  2082.         BSTR * Name ) = 0;
  2083.     virtual HRESULT __stdcall put_ColorScheme (
  2084.         BSTR Name ) = 0;
  2085.     virtual HRESULT __stdcall CreateLegend ( ) = 0;
  2086.     virtual HRESULT __stdcall put_MaintainSize (
  2087.         VARIANT_BOOL flag ) = 0;
  2088.     virtual HRESULT __stdcall get_MaintainSize (
  2089.         VARIANT_BOOL * flag ) = 0;
  2090. };
  2091. struct __declspec(uuid("90e8800d-148d-11d4-9f7d-00c04f6bc709"))
  2092. IDotDensityUIRenderer : IUnknown
  2093. {
  2094.     //
  2095.     // Raw methods provided by interface
  2096.     //
  2097.     virtual HRESULT __stdcall get_MinDensity (
  2098.         double * Value ) = 0;
  2099.     virtual HRESULT __stdcall put_MinDensity (
  2100.         double Value ) = 0;
  2101.     virtual HRESULT __stdcall get_MinDensityArea (
  2102.         double * Value ) = 0;
  2103.     virtual HRESULT __stdcall put_MinDensityArea (
  2104.         double Value ) = 0;
  2105.     virtual HRESULT __stdcall get_MeanDensity (
  2106.         double * Value ) = 0;
  2107.     virtual HRESULT __stdcall put_MeanDensity (
  2108.         double Value ) = 0;
  2109.     virtual HRESULT __stdcall get_MeanArea (
  2110.         double * Value ) = 0;
  2111.     virtual HRESULT __stdcall put_MeanArea (
  2112.         double Value ) = 0;
  2113.     virtual HRESULT __stdcall get_MaxDensity (
  2114.         double * Value ) = 0;
  2115.     virtual HRESULT __stdcall put_MaxDensity (
  2116.         double Value ) = 0;
  2117.     virtual HRESULT __stdcall get_MaxDensityArea (
  2118.         double * Value ) = 0;
  2119.     virtual HRESULT __stdcall put_MaxDensityArea (
  2120.         double Value ) = 0;
  2121. };
  2122. struct __declspec(uuid("8a7a1786-79b2-11d2-87d5-0000f8751720"))
  2123. IHorizontalLegendItem : IUnknown
  2124. {
  2125.     //
  2126.     // Raw methods provided by interface
  2127.     //
  2128.     virtual HRESULT __stdcall get_Arrangement (
  2129.         enum esriLegendItemArrangement * Arrangement ) = 0;
  2130.     virtual HRESULT __stdcall put_Arrangement (
  2131.         enum esriLegendItemArrangement Arrangement ) = 0;
  2132. };
  2133. struct __declspec(uuid("8a7a1787-79b2-11d2-87d5-0000f8751720"))
  2134. IVerticalLegendItem : IUnknown
  2135. {
  2136.     //
  2137.     // Raw methods provided by interface
  2138.     //
  2139.     virtual HRESULT __stdcall get_Arrangement (
  2140.         enum esriLegendItemArrangement * Arrangement ) = 0;
  2141.     virtual HRESULT __stdcall put_Arrangement (
  2142.         enum esriLegendItemArrangement Arrangement ) = 0;
  2143. };
  2144. struct __declspec(uuid("3b09454d-c9d1-11d3-92fb-00600802e603"))
  2145. INestedLegendItem : IUnknown
  2146. {
  2147.     //
  2148.     // Raw methods provided by interface
  2149.     //
  2150.     virtual HRESULT __stdcall put_OutlineSymbol (
  2151.         struct IFillSymbol * Symbol ) = 0;
  2152.     virtual HRESULT __stdcall get_OutlineSymbol (
  2153.         struct IFillSymbol * * Symbol ) = 0;
  2154.     virtual HRESULT __stdcall put_LeaderSymbol (
  2155.         struct ILineSymbol * Symbol ) = 0;
  2156.     virtual HRESULT __stdcall get_LeaderSymbol (
  2157.         struct ILineSymbol * * Symbol ) = 0;
  2158.     virtual HRESULT __stdcall put_LeaderOverhang (
  2159.         double LeaderOverhang ) = 0;
  2160.     virtual HRESULT __stdcall get_LeaderOverhang (
  2161.         double * LeaderOverhang ) = 0;
  2162.     virtual HRESULT __stdcall put_AutoLayout (
  2163.         VARIANT_BOOL AutoLayout ) = 0;
  2164.     virtual HRESULT __stdcall get_AutoLayout (
  2165.         VARIANT_BOOL * AutoLayout ) = 0;
  2166.     virtual HRESULT __stdcall put_LabelEnds (
  2167.         VARIANT_BOOL LabelEnds ) = 0;
  2168.     virtual HRESULT __stdcall get_LabelEnds (
  2169.         VARIANT_BOOL * LabelEnds ) = 0;
  2170.     virtual HRESULT __stdcall put_ShowOutlines (
  2171.         VARIANT_BOOL ShowOutlines ) = 0;
  2172.     virtual HRESULT __stdcall get_ShowOutlines (
  2173.         VARIANT_BOOL * ShowOutlines ) = 0;
  2174.     virtual HRESULT __stdcall get_HorizontalAlignment (
  2175.         enum esriTextHorizontalAlignment * horizAlignment ) = 0;
  2176.     virtual HRESULT __stdcall put_HorizontalAlignment (
  2177.         enum esriTextHorizontalAlignment horizAlignment ) = 0;
  2178. };
  2179. struct __declspec(uuid("3b09454e-c9d1-11d3-92fb-00600802e603"))
  2180. IHorizontalBarLegendItem : IUnknown
  2181. {
  2182.     //
  2183.     // Raw methods provided by interface
  2184.     //
  2185.     virtual HRESULT __stdcall put_AngleAbove (
  2186.         double degrees ) = 0;
  2187.     virtual HRESULT __stdcall get_AngleAbove (
  2188.         double * degrees ) = 0;
  2189.     virtual HRESULT __stdcall put_AngleBelow (
  2190.         double degrees ) = 0;
  2191.     virtual HRESULT __stdcall get_AngleBelow (
  2192.         double * degrees ) = 0;
  2193. };
  2194. struct __declspec(uuid("207c19f5-ed81-11d0-8bba-080009ee4e41"))
  2195. ScaleDependentRenderer;
  2196.     // [ default ] interface IUnknown
  2197.     // interface IScaleDependentRenderer
  2198.     // interface IFeatureRenderer
  2199.     // interface ILegendInfo
  2200.     // interface IPersistStream
  2201.     // interface IPersist
  2202. struct __declspec(uuid("4eab568e-8f9c-11d2-ab21-00c04fa334b3"))
  2203. ProportionalSymbolRenderer;
  2204.     // [ default ] interface IUnknown
  2205.     // interface IFeatureRenderer
  2206.     // interface IProportionalSymbolRenderer
  2207.     // interface IDataExclusion
  2208.     // interface ILegendInfo
  2209.     // interface IPersistStream
  2210.     // interface IPersist
  2211.     // interface IRotationRenderer
  2212.     // interface IDataNormalization
  2213.     // interface IBarrierProperties2
  2214. struct __declspec(uuid("3d961d65-fc94-11d1-aaca-00c04fa334b3"))
  2215. IDataExclusion : IUnknown
  2216. {
  2217.     //
  2218.     // Raw methods provided by interface
  2219.     //
  2220.     virtual HRESULT __stdcall get_ExclusionClause (
  2221.         BSTR * clause ) = 0;
  2222.     virtual HRESULT __stdcall put_ExclusionClause (
  2223.         BSTR clause ) = 0;
  2224.     virtual HRESULT __stdcall get_ExclusionSymbol (
  2225.         struct ISymbol * * Symbol ) = 0;
  2226.     virtual HRESULT __stdcall put_ExclusionSymbol (
  2227.         struct ISymbol * Symbol ) = 0;
  2228.     virtual HRESULT __stdcall get_ShowExclusionClass (
  2229.         VARIANT_BOOL * show ) = 0;
  2230.     virtual HRESULT __stdcall put_ShowExclusionClass (
  2231.         VARIANT_BOOL show ) = 0;
  2232.     virtual HRESULT __stdcall get_ExclusionLabel (
  2233.         BSTR * Label ) = 0;
  2234.     virtual HRESULT __stdcall put_ExclusionLabel (
  2235.         BSTR Label ) = 0;
  2236.     virtual HRESULT __stdcall get_ExclusionDescription (
  2237.         BSTR * Text ) = 0;
  2238.     virtual HRESULT __stdcall put_ExclusionDescription (
  2239.         BSTR Text ) = 0;
  2240. };
  2241. struct __declspec(uuid("b899ccd3-cd1c-11d2-9f25-00c04f6bc709"))
  2242. BiUniqueValueRenderer;
  2243.     // [ default ] interface IUnknown
  2244.     // interface IFeatureRenderer
  2245.     // interface IBivariateRenderer
  2246.     // interface ILegendInfo
  2247.     // interface IPersistStream
  2248.     // interface IPersist
  2249. struct __declspec(uuid("4f17939a-c490-11d3-9f7a-00c04f6bc709"))
  2250. ChartRenderer;
  2251.     // [ default ] interface IUnknown
  2252.     // interface IChartRenderer
  2253.     // interface IRendererFields
  2254.     // interface IDataExclusion
  2255.     // interface IDataNormalization
  2256.     // interface IFeatureRenderer
  2257.     // interface IIdentify
  2258.     // interface ILegendInfo
  2259.     // interface IPersistStream
  2260.     // interface IPersist
  2261.     // interface IPieChartRenderer
  2262.     // interface IBarrierProperties2
  2263.     // interface IBasicOverposterEvents
  2264. struct __declspec(uuid("4b62f73d-0502-11d4-9f7c-00c04f6bc709"))
  2265. CalcRendererValues;
  2266.     // [ default ] interface IUnknown
  2267.     // interface ICalcRendererValues
  2268. struct __declspec(uuid("9c7776ba-0421-11d4-9f7c-00c04f6bc709"))
  2269. DotDensityRenderer;
  2270.     // [ default ] interface IUnknown
  2271.     // interface IDataExclusion
  2272.     // interface IDotDensityRenderer
  2273.     // interface IDotDensityUIRenderer
  2274.     // interface IFeatureRenderer
  2275.     // interface ILegendInfo
  2276.     // interface IPersist
  2277.     // interface IPersistStream
  2278.     // interface IRendererFields
  2279. struct __declspec(uuid("a9401a47-4649-11d1-880b-080009ec732a"))
  2280. HorizontalLegendItem;
  2281.     // [ default ] interface IUnknown
  2282.     // interface IHorizontalLegendItem
  2283.     // interface ILegendItem
  2284.     // interface IClone
  2285.     // interface IPersistStream
  2286.     // interface IPersist
  2287.     // interface ILegendItem2
  2288.     // interface ILegendItem3
  2289. struct __declspec(uuid("a9401a48-4649-11d1-880b-080009ec732a"))
  2290. VerticalLegendItem;
  2291.     // [ default ] interface IUnknown
  2292.     // interface IVerticalLegendItem
  2293.     // interface ILegendItem
  2294.     // interface IClone
  2295.     // interface IPersistStream
  2296.     // interface IPersist
  2297.     // interface ILegendItem2
  2298.     // interface ILegendItem3
  2299. struct __declspec(uuid("2b65d211-c2c7-11d3-92f3-00600802e603"))
  2300. HorizontalBarLegendItem;
  2301.     // [ default ] interface IUnknown
  2302.     // interface IHorizontalBarLegendItem
  2303.     // interface IVerticalLegendItem
  2304.     // interface ILegendItem
  2305.     // interface IClone
  2306.     // interface IPersistStream
  2307.     // interface IPersist
  2308.     // interface ILegendItem2
  2309.     // interface ILegendItem3
  2310. struct __declspec(uuid("2b65d212-c2c7-11d3-92f3-00600802e603"))
  2311. NestedLegendItem;
  2312.     // [ default ] interface IUnknown
  2313.     // interface INestedLegendItem
  2314.     // interface IHorizontalLegendItem
  2315.     // interface ILegendItem
  2316.     // interface IClone
  2317.     // interface IPersistStream
  2318.     // interface IPersist
  2319.     // interface ILegendItem2
  2320.     // interface ILegendItem3
  2321. enum esriHyperlinkType
  2322. {
  2323.     esriHyperlinkTypeDocument = 0,
  2324.     esriHyperlinkTypeURL = 1,
  2325.     esriHyperlinkTypeMacro = 2
  2326. };
  2327. struct __declspec(uuid("b7b1e910-f760-11d3-adf3-00c04fa33a15"))
  2328. ISelectionEnvironmentThreshold : IUnknown
  2329. {
  2330.     //
  2331.     // Raw methods provided by interface
  2332.     //
  2333.     virtual HRESULT __stdcall get_ShowSelectionWarning (
  2334.         VARIANT_BOOL * showWarning ) = 0;
  2335.     virtual HRESULT __stdcall put_ShowSelectionWarning (
  2336.         VARIANT_BOOL showWarning ) = 0;
  2337.     virtual HRESULT __stdcall get_WarningThreshold (
  2338.         long * threshold ) = 0;
  2339.     virtual HRESULT __stdcall put_WarningThreshold (
  2340.         long threshold ) = 0;
  2341. };
  2342. struct __declspec(uuid("a231c0e1-0bdb-11d4-9fea-00c04f6bc78e"))
  2343. ISelectionEnvironmentStorage : IUnknown
  2344. {
  2345.     //
  2346.     // Raw methods provided by interface
  2347.     //
  2348.     virtual HRESULT __stdcall get_SaveSelections (
  2349.         VARIANT_BOOL * saveSel ) = 0;
  2350.     virtual HRESULT __stdcall put_SaveSelections (
  2351.         VARIANT_BOOL saveSel ) = 0;
  2352. };
  2353. struct __declspec(uuid("dabac83c-3313-11d4-9ff4-00c04f6bc78e"))
  2354. ISelectionEnvironmentLayer : IUnknown
  2355. {
  2356.     //
  2357.     // Raw methods provided by interface
  2358.     //
  2359.     virtual HRESULT __stdcall get_ClearInvisibleLayers (
  2360.         VARIANT_BOOL * clearInvisible ) = 0;
  2361.     virtual HRESULT __stdcall put_ClearInvisibleLayers (
  2362.         VARIANT_BOOL clearInvisible ) = 0;
  2363. };
  2364. struct __declspec(uuid("b97617be-5a52-11d3-9f6c-00c04f6bc886"))
  2365. IFeatureLayerSelectionEvents : IUnknown
  2366. {
  2367.     //
  2368.     // Raw methods provided by interface
  2369.     //
  2370.     virtual HRESULT __stdcall FeatureLayerSelectionChanged ( ) = 0;
  2371. };
  2372. struct __declspec(uuid("3036d35d-ede5-11d0-87fe-080009ec732a"))
  2373. IHyperlink : IUnknown
  2374. {
  2375.     //
  2376.     // Raw methods provided by interface
  2377.     //
  2378.     virtual HRESULT __stdcall get_FeatureId (
  2379.         long * FID ) = 0;
  2380.     virtual HRESULT __stdcall put_FeatureId (
  2381.         long FID ) = 0;
  2382.     virtual HRESULT __stdcall get_Link (
  2383.         BSTR * Link ) = 0;
  2384.     virtual HRESULT __stdcall put_Link (
  2385.         BSTR Link ) = 0;
  2386.     virtual HRESULT __stdcall get_LinkType (
  2387.         enum esriHyperlinkType * LinkType ) = 0;
  2388.     virtual HRESULT __stdcall put_LinkType (
  2389.         enum esriHyperlinkType LinkType ) = 0;
  2390.     virtual HRESULT __stdcall Jump ( ) = 0;
  2391. };
  2392. struct __declspec(uuid("d1a02a0b-2113-11d3-9f98-00c04f6bc78e"))
  2393. IHyperlinkContainer : IUnknown
  2394. {
  2395.     //
  2396.     // Raw methods provided by interface
  2397.     //
  2398.     virtual HRESULT __stdcall get_HyperlinkCount (
  2399.         long * Count ) = 0;
  2400.     virtual HRESULT __stdcall get_Hyperlink (
  2401.         long Index,
  2402.         struct IHyperlink * * Link ) = 0;
  2403.     virtual HRESULT __stdcall putref_Hyperlink (
  2404.         long Index,
  2405.         struct IHyperlink * Link ) = 0;
  2406.     virtual HRESULT __stdcall AddHyperlink (
  2407.         struct IHyperlink * Link ) = 0;
  2408.     virtual HRESULT __stdcall RemoveHyperlink (
  2409.         long Index ) = 0;
  2410. };
  2411. struct __declspec(uuid("d1a02a0c-2113-11d3-9f98-00c04f6bc78e"))
  2412. IHotlinkContainer : IUnknown
  2413. {
  2414.     //
  2415.     // Raw methods provided by interface
  2416.     //
  2417.     virtual HRESULT __stdcall get_HotlinkField (
  2418.         BSTR * FieldName ) = 0;
  2419.     virtual HRESULT __stdcall put_HotlinkField (
  2420.         BSTR FieldName ) = 0;
  2421.     virtual HRESULT __stdcall get_HotlinkType (
  2422.         enum esriHyperlinkType * LinkType ) = 0;
  2423.     virtual HRESULT __stdcall put_HotlinkType (
  2424.         enum esriHyperlinkType LinkType ) = 0;
  2425. };
  2426. struct __declspec(uuid("d7ee3484-004d-11d4-9fe7-00c04f6bc78e"))
  2427. IHotlinkMacro : IUnknown
  2428. {
  2429.     //
  2430.     // Raw methods provided by interface
  2431.     //
  2432.     virtual HRESULT __stdcall get_MacroName (
  2433.         BSTR * Name ) = 0;
  2434.     virtual HRESULT __stdcall put_MacroName (
  2435.         BSTR Name ) = 0;
  2436. };
  2437. struct __declspec(uuid("cce71a6d-6135-46cd-bbed-616a74831b30"))
  2438. IDisplayTable : IUnknown
  2439. {
  2440.     //
  2441.     // Raw methods provided by interface
  2442.     //
  2443.     virtual HRESULT __stdcall get_DisplayTable (
  2444.         struct ITable * * ppDisplayTable ) = 0;
  2445.     virtual HRESULT __stdcall SearchDisplayTable (
  2446.         struct IQueryFilter * pQueryFilter,
  2447.         VARIANT_BOOL recycling,
  2448.         struct ICursor * * ppCursor ) = 0;
  2449.     virtual HRESULT __stdcall SelectDisplayTable (
  2450.         struct IQueryFilter * pQueryFilter,
  2451.         enum esriSelectionType selType,
  2452.         enum esriSelectionOption selOption,
  2453.         struct IWorkspace * pSelWorkspace,
  2454.         struct ISelectionSet * * ppSelset ) = 0;
  2455.     virtual HRESULT __stdcall get_DisplaySelectionSet (
  2456.         struct ISelectionSet * * SelectionSet ) = 0;
  2457. };
  2458. struct __declspec(uuid("95e82d50-e720-48b5-808d-e45fa9cf1218"))
  2459. IFeatureLayer2 : IUnknown
  2460. {
  2461.     //
  2462.     // Raw methods provided by interface
  2463.     //
  2464.     virtual HRESULT __stdcall get_FeatureClass (
  2465.         struct IFeatureClass * * fclass ) = 0;
  2466.     virtual HRESULT __stdcall putref_FeatureClass (
  2467.         struct IFeatureClass * fclass ) = 0;
  2468.     virtual HRESULT __stdcall get_DataSourceType (
  2469.         BSTR * Text ) = 0;
  2470.     virtual HRESULT __stdcall put_DataSourceType (
  2471.         BSTR Text ) = 0;
  2472.     virtual HRESULT __stdcall get_DisplayField (
  2473.         BSTR * FieldName ) = 0;
  2474.     virtual HRESULT __stdcall put_DisplayField (
  2475.         BSTR FieldName ) = 0;
  2476.     virtual HRESULT __stdcall get_Selectable (
  2477.         VARIANT_BOOL * Value ) = 0;
  2478.     virtual HRESULT __stdcall put_Selectable (
  2479.         VARIANT_BOOL Value ) = 0;
  2480.     virtual HRESULT __stdcall Search (
  2481.         struct IQueryFilter * queryFilter,
  2482.         VARIANT_BOOL recycling,
  2483.         struct IFeatureCursor * * cursor ) = 0;
  2484.     virtual HRESULT __stdcall get_ScaleSymbols (
  2485.         VARIANT_BOOL * Scale ) = 0;
  2486.     virtual HRESULT __stdcall put_ScaleSymbols (
  2487.         VARIANT_BOOL Scale ) = 0;
  2488.     virtual HRESULT __stdcall get_ShapeType (
  2489.         enum esriGeometryType * Type ) = 0;
  2490.     virtual HRESULT __stdcall ExpandRegionForSymbols (
  2491.         struct IDisplay * Display,
  2492.         struct IGeometry * region ) = 0;
  2493. };
  2494. struct __declspec(uuid("e156d7e5-22af-11d3-9f99-00c04f6bc78e"))
  2495. IGeoFeatureLayer : IFeatureLayer
  2496. {
  2497.     //
  2498.     // Raw methods provided by interface
  2499.     //
  2500.     virtual HRESULT __stdcall get_Renderer (
  2501.         struct IFeatureRenderer * * Renderer ) = 0;
  2502.     virtual HRESULT __stdcall putref_Renderer (
  2503.         struct IFeatureRenderer * Renderer ) = 0;
  2504.     virtual HRESULT __stdcall get_RendererPropertyPageClassID (
  2505.         struct IUID * * clsid ) = 0;
  2506.     virtual HRESULT __stdcall put_RendererPropertyPageClassID (
  2507.         struct IUID * clsid ) = 0;
  2508.     virtual HRESULT __stdcall get_DisplayAnnotation (
  2509.         VARIANT_BOOL * Value ) = 0;
  2510.     virtual HRESULT __stdcall put_DisplayAnnotation (
  2511.         VARIANT_BOOL Value ) = 0;
  2512.     virtual HRESULT __stdcall get_AnnotationPropertiesID (
  2513.         struct IUID * * uid ) = 0;
  2514.     virtual HRESULT __stdcall putref_AnnotationPropertiesID (
  2515.         struct IUID * uid ) = 0;
  2516.     virtual HRESULT __stdcall get_AnnotationProperties (
  2517.         struct IAnnotateLayerPropertiesCollection * * props ) = 0;
  2518.     virtual HRESULT __stdcall put_AnnotationProperties (
  2519.         struct IAnnotateLayerPropertiesCollection * props ) = 0;
  2520.     virtual HRESULT __stdcall put_CurrentMapLevel (
  2521.         long _arg1 ) = 0;
  2522.     virtual HRESULT __stdcall get_ExclusionSet (
  2523.         struct IFeatureIDSet * * fids ) = 0;
  2524.     virtual HRESULT __stdcall putref_ExclusionSet (
  2525.         struct IFeatureIDSet * fids ) = 0;
  2526.     virtual HRESULT __stdcall get_DisplayFeatureClass (
  2527.         struct IFeatureClass * * fclass ) = 0;
  2528.     virtual HRESULT __stdcall SearchDisplayFeatures (
  2529.         struct IQueryFilter * queryFilter,
  2530.         VARIANT_BOOL recycling,
  2531.         struct IFeatureCursor * * cursor ) = 0;
  2532. };
  2533. enum esriTopologyRenderer
  2534. {
  2535.     esriTRAreaErrors = 0,
  2536.     esriTRLineErrors = 1,
  2537.     esriTRPointErrors = 2,
  2538.     esriTRAreaExceptions = 3,
  2539.     esriTRLineExceptions = 4,
  2540.     esriTRPointExceptions = 5,
  2541.     esriTRDirtyAreas = 6
  2542. };
  2543. struct __declspec(uuid("fb6337e3-610a-4bc2-9142-760d954c22eb"))
  2544. ITopologyLayer : IUnknown
  2545. {
  2546.     //
  2547.     // Raw methods provided by interface
  2548.     //
  2549.     virtual HRESULT __stdcall get_Topology (
  2550.         struct ITopology * * Topology ) = 0;
  2551.     virtual HRESULT __stdcall putref_Topology (
  2552.         struct ITopology * Topology ) = 0;
  2553.     virtual HRESULT __stdcall get_Renderer (
  2554.         enum esriTopologyRenderer Index,
  2555.         struct IFeatureRenderer * * Renderer ) = 0;
  2556.     virtual HRESULT __stdcall putref_Renderer (
  2557.         enum esriTopologyRenderer Index,
  2558.         struct IFeatureRenderer * Renderer ) = 0;
  2559. };
  2560. struct __declspec(uuid("82e0d83a-8bc3-4eee-9cc9-95775ab39ba9"))
  2561. ITopologyErrorSelection : IUnknown
  2562. {
  2563.     //
  2564.     // Raw methods provided by interface
  2565.     //
  2566.     virtual HRESULT __stdcall get_RuleTypeCount (
  2567.         long * Count ) = 0;
  2568.     virtual HRESULT __stdcall get_RuleType (
  2569.         long Index,
  2570.         enum esriTopologyRuleType * RuleType ) = 0;
  2571.     virtual HRESULT __stdcall put_Selectable (
  2572.         long Index,
  2573.         VARIANT_BOOL sel ) = 0;
  2574.     virtual HRESULT __stdcall get_Selectable (
  2575.         long Index,
  2576.         VARIANT_BOOL * sel ) = 0;
  2577.     virtual HRESULT __stdcall get_SelectExceptions (
  2578.         VARIANT_BOOL * sel ) = 0;
  2579.     virtual HRESULT __stdcall put_SelectExceptions (
  2580.         VARIANT_BOOL sel ) = 0;
  2581.     virtual HRESULT __stdcall get_SelectErrors (
  2582.         VARIANT_BOOL * sel ) = 0;
  2583.     virtual HRESULT __stdcall put_SelectErrors (
  2584.         VARIANT_BOOL sel ) = 0;
  2585. };
  2586. struct __declspec(uuid("2c232271-fbaa-11d3-b9d3-00c0f0567a4a"))
  2587. ITableSelection : IUnknown
  2588. {
  2589.     //
  2590.     // Raw methods provided by interface
  2591.     //
  2592.     virtual HRESULT __stdcall get_SelectionSet (
  2593.         struct ISelectionSet * * SelectionSet ) = 0;
  2594.     virtual HRESULT __stdcall putref_SelectionSet (
  2595.         struct ISelectionSet * SelectionSet ) = 0;
  2596.     virtual HRESULT __stdcall AddRow (
  2597.         struct IRow * Row ) = 0;
  2598.     virtual HRESULT __stdcall SelectRows (
  2599.         struct IQueryFilter * Filter,
  2600.         enum esriSelectionResultEnum Method,
  2601.         VARIANT_BOOL justOne ) = 0;
  2602.     virtual HRESULT __stdcall Clear ( ) = 0;
  2603.     virtual HRESULT __stdcall SelectionChanged ( ) = 0;
  2604. };
  2605. struct __declspec(uuid("9336a280-c9a3-11d1-847e-0000f875b9c6"))
  2606. IFeatureSelection : IUnknown
  2607. {
  2608.     //
  2609.     // Raw methods provided by interface
  2610.     //
  2611.     virtual HRESULT __stdcall get_SelectionSet (
  2612.         struct ISelectionSet * * SelectionSet ) = 0;
  2613.     virtual HRESULT __stdcall putref_SelectionSet (
  2614.         struct ISelectionSet * SelectionSet ) = 0;
  2615.     virtual HRESULT __stdcall get_CombinationMethod (
  2616.         enum esriSelectionResultEnum * Method ) = 0;
  2617.     virtual HRESULT __stdcall put_CombinationMethod (
  2618.         enum esriSelectionResultEnum Method ) = 0;
  2619.     virtual HRESULT __stdcall get_BufferDistance (
  2620.         double * Distance ) = 0;
  2621.     virtual HRESULT __stdcall put_BufferDistance (
  2622.         double Distance ) = 0;
  2623.     virtual HRESULT __stdcall get_SetSelectionSymbol (
  2624.         VARIANT_BOOL * setSymbol ) = 0;
  2625.     virtual HRESULT __stdcall put_SetSelectionSymbol (
  2626.         VARIANT_BOOL setSymbol ) = 0;
  2627.     virtual HRESULT __stdcall get_SelectionColor (
  2628.         struct IColor * * Color ) = 0;
  2629.     virtual HRESULT __stdcall putref_SelectionColor (
  2630.         struct IColor * Color ) = 0;
  2631.     virtual HRESULT __stdcall get_SelectionSymbol (
  2632.         struct ISymbol * * Symbol ) = 0;
  2633.     virtual HRESULT __stdcall putref_SelectionSymbol (
  2634.         struct ISymbol * Symbol ) = 0;
  2635.     virtual HRESULT __stdcall Add (
  2636.         struct IFeature * Feature ) = 0;
  2637.     virtual HRESULT __stdcall SelectFeatures (
  2638.         struct IQueryFilter * Filter,
  2639.         enum esriSelectionResultEnum Method,
  2640.         VARIANT_BOOL justOne ) = 0;
  2641.     virtual HRESULT __stdcall Clear ( ) = 0;
  2642.     virtual HRESULT __stdcall SelectionChanged ( ) = 0;
  2643. };
  2644. struct __declspec(uuid("3e1608cf-ff34-11d1-adf1-080009ec732a"))
  2645. IFeatureLayerDefinition : IUnknown
  2646. {
  2647.     //
  2648.     // Raw methods provided by interface
  2649.     //
  2650.     virtual HRESULT __stdcall get_DefinitionExpression (
  2651.         BSTR * Expression ) = 0;
  2652.     virtual HRESULT __stdcall put_DefinitionExpression (
  2653.         BSTR Expression ) = 0;
  2654.     virtual HRESULT __stdcall get_DefinitionSelectionSet (
  2655.         struct ISelectionSet * * SelectionSet ) = 0;
  2656.     virtual HRESULT __stdcall CreateSelectionLayer (
  2657.         BSTR LayerName,
  2658.         VARIANT_BOOL useCurrentSelection,
  2659.         BSTR joinTableNames,
  2660.         BSTR Expression,
  2661.         struct IFeatureLayer * * Layer ) = 0;
  2662.     virtual HRESULT __stdcall get_RelationshipClass (
  2663.         struct IRelationshipClass * * relClass ) = 0;
  2664.     virtual HRESULT __stdcall putref_RelationshipClass (
  2665.         struct IRelationshipClass * relClass ) = 0;
  2666. };
  2667. struct __declspec(uuid("ed242088-b822-4e8a-8260-cdcd1da3044b"))
  2668. IFeatureLayerDefinition2 : IUnknown
  2669. {
  2670.     //
  2671.     // Raw methods provided by interface
  2672.     //
  2673.     virtual HRESULT __stdcall get_DefinitionExpression (
  2674.         BSTR * Expression ) = 0;
  2675.     virtual HRESULT __stdcall put_DefinitionExpression (
  2676.         BSTR Expression ) = 0;
  2677.     virtual HRESULT __stdcall get_DefinitionSelectionSet (
  2678.         struct ISelectionSet * * SelectionSet ) = 0;
  2679.     virtual HRESULT __stdcall CreateSelectionLayer (
  2680.         BSTR LayerName,
  2681.         VARIANT_BOOL useCurrentSelection,
  2682.         BSTR joinTableNames,
  2683.         BSTR Expression,
  2684.         struct IFeatureLayer * * Layer ) = 0;
  2685.     virtual HRESULT __stdcall get_RelationshipClass (
  2686.         struct IRelationshipClass * * relClass ) = 0;
  2687.     virtual HRESULT __stdcall putref_RelationshipClass (
  2688.         struct IRelationshipClass * relClass ) = 0;
  2689.     virtual HRESULT __stdcall get_SearchOrder (
  2690.         enum esriSearchOrder * order ) = 0;
  2691.     virtual HRESULT __stdcall put_SearchOrder (
  2692.         enum esriSearchOrder order ) = 0;
  2693. };
  2694. struct __declspec(uuid("7e078ff6-4b77-414e-90a9-8bb352dd1608"))
  2695. ITableDefinition : IUnknown
  2696. {
  2697.     //
  2698.     // Raw methods provided by interface
  2699.     //
  2700.     virtual HRESULT __stdcall get_DefinitionExpression (
  2701.         BSTR * Expression ) = 0;
  2702.     virtual HRESULT __stdcall put_DefinitionExpression (
  2703.         BSTR Expression ) = 0;
  2704.     virtual HRESULT __stdcall get_DefinitionSelectionSet (
  2705.         struct ISelectionSet * * SelectionSet ) = 0;
  2706. };
  2707. struct __declspec(uuid("863e18bb-9b3e-4eee-ac2d-f891e8ed8fd9"))
  2708. ISelectionLayerDefinition : IUnknown
  2709. {
  2710.     //
  2711.     // Raw methods provided by interface
  2712.     //
  2713.     virtual HRESULT __stdcall CreateSelectionLayer (
  2714.         BSTR LayerName,
  2715.         VARIANT_BOOL useCurrentSelection,
  2716.         BSTR joinTableNames,
  2717.         BSTR Expression,
  2718.         struct IFeatureLayer * * Layer ) = 0;
  2719. };
  2720. struct __declspec(uuid("55a4e17e-8682-42ba-8866-ab04db883934"))
  2721. IDisplayRelationshipClass : IUnknown
  2722. {
  2723.     //
  2724.     // Raw methods provided by interface
  2725.     //
  2726.     virtual HRESULT __stdcall get_JoinType (
  2727.         enum esriJoinType * pJoinType ) = 0;
  2728.     virtual HRESULT __stdcall get_RelationshipClass (
  2729.         struct IRelationshipClass * * relClass ) = 0;
  2730.     virtual HRESULT __stdcall DisplayRelationshipClass (
  2731.         struct IRelationshipClass * relClass,
  2732.         enum esriJoinType JoinType ) = 0;
  2733. };
  2734. struct __declspec(uuid("9646bb82-9512-11d2-a2f6-080009b6f22b"))
  2735. ICompositeGraphicsLayer : IGraphicsLayer
  2736. {
  2737.     //
  2738.     // Raw methods provided by interface
  2739.     //
  2740.     virtual HRESULT __stdcall AddLayer (
  2741.         BSTR LayerName,
  2742.         struct IFeatureLayer * FeatureLayer,
  2743.         struct IGraphicsLayer * * GraphicsLayer ) = 0;
  2744.     virtual HRESULT __stdcall DeleteLayer (
  2745.         BSTR LayerName ) = 0;
  2746.     virtual HRESULT __stdcall FindLayer (
  2747.         BSTR LayerName,
  2748.         struct IGraphicsLayer * * GraphicsLayer ) = 0;
  2749. };
  2750. struct __declspec(uuid("93e56956-347a-4a37-bae3-46f5515270d1"))
  2751. ICompositeGraphicsLayer2 : ICompositeGraphicsLayer
  2752. {
  2753.     //
  2754.     // Raw methods provided by interface
  2755.     //
  2756.     virtual HRESULT __stdcall DrawDefault (
  2757.         enum esriDrawPhase DrawPhase,
  2758.         struct IDisplay * Display,
  2759.         struct ITrackCancel * trackCancel ) = 0;
  2760. };
  2761. struct __declspec(uuid("953d1a95-5411-4ee5-8db9-a87e80f9c551"))
  2762. IFeatureLayerSymbology : IUnknown
  2763. {
  2764.     //
  2765.     // Raw methods provided by interface
  2766.     //
  2767.     virtual HRESULT __stdcall get_CanSymbolize (
  2768.         struct IFeatureLayer * FeatureLayer,
  2769.         VARIANT_BOOL * flag ) = 0;
  2770.     virtual HRESULT __stdcall get_Priority (
  2771.         double * Priority ) = 0;
  2772.     virtual HRESULT __stdcall Symbolize (
  2773.         struct IFeatureLayer * FeatureLayer ) = 0;
  2774. };
  2775. struct __declspec(uuid("741d6114-fb6b-11d3-adf5-00c04fa33a15"))
  2776. IRelationshipClassCollection : IUnknown
  2777. {
  2778.     //
  2779.     // Raw methods provided by interface
  2780.     //
  2781.     virtual HRESULT __stdcall get_RelationshipClasses (
  2782.         struct IEnumRelationshipClass * * RelationshipClasses ) = 0;
  2783.     virtual HRESULT __stdcall FindRelationshipClasses (
  2784.         struct IObjectClass * objectClass,
  2785.         enum esriRelRole role,
  2786.         struct IEnumRelationshipClass * * RelationshipClasses ) = 0;
  2787. };
  2788. struct __declspec(uuid("b725de95-ff76-11d3-a0b5-00c04f6bc626"))
  2789. IRelationshipClassCollectionEdit : IUnknown
  2790. {
  2791.     //
  2792.     // Raw methods provided by interface
  2793.     //
  2794.     virtual HRESULT __stdcall AddRelationshipClass (
  2795.         struct IRelationshipClass * RelationshipClass ) = 0;
  2796.     virtual HRESULT __stdcall RemoveRelationshipClass (
  2797.         struct IRelationshipClass * RelationshipClass ) = 0;
  2798.     virtual HRESULT __stdcall RemoveAllRelationshipClasses ( ) = 0;
  2799. };
  2800. struct __declspec(uuid("0737082e-958e-11d4-80ed-00c04f601565"))
  2801. IDimensionLayer : IUnknown
  2802. {};
  2803. struct __declspec(uuid("f3435800-5779-11d0-98bf-00805f7ced21"))
  2804. ISimpleRenderer : IUnknown
  2805. {
  2806.     //
  2807.     // Raw methods provided by interface
  2808.     //
  2809.     virtual HRESULT __stdcall get_Symbol (
  2810.         struct ISymbol * * Symbol ) = 0;
  2811.     virtual HRESULT __stdcall putref_Symbol (
  2812.         struct ISymbol * Symbol ) = 0;
  2813.     virtual HRESULT __stdcall get_Label (
  2814.         BSTR * Label ) = 0;
  2815.     virtual HRESULT __stdcall put_Label (
  2816.         BSTR Label ) = 0;
  2817.     virtual HRESULT __stdcall get_Description (
  2818.         BSTR * Text ) = 0;
  2819.     virtual HRESULT __stdcall put_Description (
  2820.         BSTR Text ) = 0;
  2821. };
  2822. struct __declspec(uuid("ae5f7ea1-8b48-11d0-8356-080009b996cc"))
  2823. IClassBreaksRenderer : IUnknown
  2824. {
  2825.     //
  2826.     // Raw methods provided by interface
  2827.     //
  2828.     virtual HRESULT __stdcall get_BreakCount (
  2829.         long * ValueCount ) = 0;
  2830.     virtual HRESULT __stdcall put_BreakCount (
  2831.         long ValueCount ) = 0;
  2832.     virtual HRESULT __stdcall get_Field (
  2833.         BSTR * Field ) = 0;
  2834.     virtual HRESULT __stdcall put_Field (
  2835.         BSTR Field ) = 0;
  2836.     virtual HRESULT __stdcall get_NormField (
  2837.         BSTR * Field ) = 0;
  2838.     virtual HRESULT __stdcall put_NormField (
  2839.         BSTR Field ) = 0;
  2840.     virtual HRESULT __stdcall get_Symbol (
  2841.         long Index,
  2842.         struct ISymbol * * sym ) = 0;
  2843.     virtual HRESULT __stdcall put_Symbol (
  2844.         long Index,
  2845.         struct ISymbol * sym ) = 0;
  2846.     virtual HRESULT __stdcall get_Label (
  2847.         long Index,
  2848.         BSTR * Label ) = 0;
  2849.     virtual HRESULT __stdcall put_Label (
  2850.         long Index,
  2851.         BSTR Label ) = 0;
  2852.     virtual HRESULT __stdcall get_Description (
  2853.         long Index,
  2854.         BSTR * Text ) = 0;
  2855.     virtual HRESULT __stdcall put_Description (
  2856.         long Index,
  2857.         BSTR Text ) = 0;
  2858.     virtual HRESULT __stdcall get_Break (
  2859.         long Index,
  2860.         double * Value ) = 0;
  2861.     virtual HRESULT __stdcall put_Break (
  2862.         long Index,
  2863.         double Value ) = 0;
  2864.     virtual HRESULT __stdcall get_MinimumBreak (
  2865.         double * Value ) = 0;
  2866.     virtual HRESULT __stdcall put_MinimumBreak (
  2867.         double Value ) = 0;
  2868.     virtual HRESULT __stdcall get_SortClassesAscending (
  2869.         VARIANT_BOOL * ascending ) = 0;
  2870.     virtual HRESULT __stdcall put_SortClassesAscending (
  2871.         VARIANT_BOOL ascending ) = 0;
  2872.     virtual HRESULT __stdcall get_BackgroundSymbol (
  2873.         struct IFillSymbol * * sym ) = 0;
  2874.     virtual HRESULT __stdcall put_BackgroundSymbol (
  2875.         struct IFillSymbol * sym ) = 0;
  2876. };
  2877. struct __declspec(uuid("c3346d2a-b2bc-11d1-8817-080009ec732a"))
  2878. IUniqueValueRenderer : IUnknown
  2879. {
  2880.     //
  2881.     // Raw methods provided by interface
  2882.     //
  2883.     virtual HRESULT __stdcall get_Field (
  2884.         long Index,
  2885.         BSTR * Field ) = 0;
  2886.     virtual HRESULT __stdcall put_Field (
  2887.         long Index,
  2888.         BSTR Field ) = 0;
  2889.     virtual HRESULT __stdcall put_FieldType (
  2890.         long Index,
  2891.         VARIANT_BOOL _arg2 ) = 0;
  2892.     virtual HRESULT __stdcall get_FieldDelimiter (
  2893.         BSTR * delimiter ) = 0;
  2894.     virtual HRESULT __stdcall put_FieldDelimiter (
  2895.         BSTR delimiter ) = 0;
  2896.     virtual HRESULT __stdcall get_FieldCount (
  2897.         long * FieldCount ) = 0;
  2898.     virtual HRESULT __stdcall put_FieldCount (
  2899.         long FieldCount ) = 0;
  2900.     virtual HRESULT __stdcall get_DefaultSymbol (
  2901.         struct ISymbol * * Symbol ) = 0;
  2902.     virtual HRESULT __stdcall put_DefaultSymbol (
  2903.         struct ISymbol * Symbol ) = 0;
  2904.     virtual HRESULT __stdcall get_DefaultLabel (
  2905.         BSTR * Label ) = 0;
  2906.     virtual HRESULT __stdcall put_DefaultLabel (
  2907.         BSTR Label ) = 0;
  2908.     virtual HRESULT __stdcall get_UseDefaultSymbol (
  2909.         VARIANT_BOOL * flag ) = 0;
  2910.     virtual HRESULT __stdcall put_UseDefaultSymbol (
  2911.         VARIANT_BOOL flag ) = 0;
  2912.     virtual HRESULT __stdcall get_ValueCount (
  2913.         long * ValueCount ) = 0;
  2914.     virtual HRESULT __stdcall get_Value (
  2915.         long Index,
  2916.         BSTR * Value ) = 0;
  2917.     virtual HRESULT __stdcall put_Value (
  2918.         long Index,
  2919.         BSTR Value ) = 0;
  2920.     virtual HRESULT __stdcall get_ReferenceValue (
  2921.         BSTR Value,
  2922.         BSTR * refValue ) = 0;
  2923.     virtual HRESULT __stdcall AddReferenceValue (
  2924.         BSTR Value,
  2925.         BSTR refValue ) = 0;
  2926.     virtual HRESULT __stdcall get_Symbol (
  2927.         BSTR Value,
  2928.         struct ISymbol * * Symbol ) = 0;
  2929.     virtual HRESULT __stdcall put_Symbol (
  2930.         BSTR Value,
  2931.         struct ISymbol * Symbol ) = 0;
  2932.     virtual HRESULT __stdcall get_Label (
  2933.         BSTR Value,
  2934.         BSTR * Label ) = 0;
  2935.     virtual HRESULT __stdcall put_Label (
  2936.         BSTR Value,
  2937.         BSTR Label ) = 0;
  2938.     virtual HRESULT __stdcall get_Description (
  2939.         BSTR Value,
  2940.         BSTR * Text ) = 0;
  2941.     virtual HRESULT __stdcall put_Description (
  2942.         BSTR Value,
  2943.         BSTR Text ) = 0;
  2944.     virtual HRESULT __stdcall get_Heading (
  2945.         BSTR Value,
  2946.         BSTR * Heading ) = 0;
  2947.     virtual HRESULT __stdcall put_Heading (
  2948.         BSTR Value,
  2949.         BSTR Heading ) = 0;
  2950.     virtual HRESULT __stdcall AddValue (
  2951.         BSTR Value,
  2952.         BSTR Heading,
  2953.         struct ISymbol * Symbol ) = 0;
  2954.     virtual HRESULT __stdcall RemoveValue (
  2955.         BSTR Value ) = 0;
  2956.     virtual HRESULT __stdcall RemoveAllValues ( ) = 0;
  2957.     virtual HRESULT __stdcall get_ColorScheme (
  2958.         BSTR * Name ) = 0;
  2959.     virtual HRESULT __stdcall put_ColorScheme (
  2960.         BSTR Name ) = 0;
  2961.     virtual HRESULT __stdcall get_LookupStyleset (
  2962.         BSTR * Name ) = 0;
  2963.     virtual HRESULT __stdcall put_LookupStyleset (
  2964.         BSTR Name ) = 0;
  2965. };
  2966. struct __declspec(uuid("3f25cc56-cc66-4930-a5fd-bc981601cea6"))
  2967. IRendererClasses : IUnknown
  2968. {
  2969.     //
  2970.     // Raw methods provided by interface
  2971.     //
  2972.     virtual HRESULT __stdcall get_ClassCount (
  2973.         long * Count ) = 0;
  2974.     virtual HRESULT __stdcall get_Class (
  2975.         long Index,
  2976.         BSTR * Name ) = 0;
  2977.     virtual HRESULT __stdcall get_WhereClause (
  2978.         long Index,
  2979.         struct ITable * Table,
  2980.         BSTR * WhereClause ) = 0;
  2981. };
  2982. struct __declspec(uuid("d7dd57c6-6a35-4dbf-8f64-affdced5c364"))
  2983. IBasicHistogram : IUnknown
  2984. {
  2985.     //
  2986.     // Raw methods provided by interface
  2987.     //
  2988.     virtual HRESULT __stdcall GetHistogram (
  2989.         VARIANT * doubleArrayValues,
  2990.         VARIANT * longArrayFrequencies,
  2991.         VARIANT_BOOL * isSampled ) = 0;
  2992.     virtual HRESULT __stdcall put_CustomMin (
  2993.         double _arg1 ) = 0;
  2994.     virtual HRESULT __stdcall put_CustomMax (
  2995.         double _arg1 ) = 0;
  2996.     virtual HRESULT __stdcall ResetCustomMinMax ( ) = 0;
  2997.     virtual HRESULT __stdcall Invalidate ( ) = 0;
  2998. };
  2999. struct __declspec(uuid("fd21f230-67a6-11d3-9f66-00c04f6bc709"))
  3000. ITableHistogram : IUnknown
  3001. {
  3002.     //
  3003.     // Raw methods provided by interface
  3004.     //
  3005.     virtual HRESULT __stdcall putref_Table (
  3006.         struct ITable * Table ) = 0;
  3007.     virtual HRESULT __stdcall get_Table (
  3008.         struct ITable * * Table ) = 0;
  3009.     virtual HRESULT __stdcall putref_Exclusion (
  3010.         struct IDataExclusion * dataExclusion ) = 0;
  3011.     virtual HRESULT __stdcall get_Exclusion (
  3012.         struct IDataExclusion * * dataExclusion ) = 0;
  3013.     virtual HRESULT __stdcall putref_Sampling (
  3014.         struct IDataSampling * dataSampling ) = 0;
  3015.     virtual HRESULT __stdcall get_Sampling (
  3016.         struct IDataSampling * * dataSampling ) = 0;
  3017.     virtual HRESULT __stdcall put_Field (
  3018.         BSTR Name ) = 0;
  3019.     virtual HRESULT __stdcall get_Field (
  3020.         BSTR * Name ) = 0;
  3021.     virtual HRESULT __stdcall put_NormField (
  3022.         BSTR Name ) = 0;