ENCX SDK  5.5.0.370
encxcom.idl
Go to the documentation of this file.
1 // EncXCOM.idl : IDL source for EncXCOM
2 //
3 
4 // This file will be processed by the MIDL tool to
5 // produce the type library (EncXCOM.tlb) and marshalling code.
6 
11 #if !defined DOXYGEN_SHOULD_SKIP_THIS
12 
13 midl_pragma warning(disable:2039) /* MIDL2039 - interface is not automation marshaling conformant, requires Windows NT 4.0 SP4 or greater */
14 midl_pragma warning(disable:2111) /* MIDL2111 - identifier length exceeds 31 characters */
15 
16 import "oaidl.idl";
17 import "ocidl.idl";
18 
19 #endif
20 
22 // enums
24 
27 {
28  [helpstring("Dongle not found")] DS_NotFound,
29  [helpstring("Dongle found")] DS_Exists,
30  [helpstring("Dongle active")] DS_Active,
31 };
32 
34 
38 {
39  [helpstring("Daytime palette for bright conditions")] PalDayBright,
40  [helpstring("Normal daytime palette")] PalDay,
41  [helpstring("Daytime palette with a black background")] PalDayBlack,
42  [helpstring("Palette for dawn and dusk")] PalDusk,
43  [helpstring("Palette for night viewing")] PalNight,
44  [helpstring("Palette for night viewing through a neutral filter")] PalNightUnfiltered,
45  [helpstring("Number of palette values")] PalCount,
46  [helpstring("Unknown palette")] PalUnknown,
47 };
48 
50 
55 {
56  [helpstring("Great circle on the WGS84 ellipsoid")] GL_GreatCircle,
57  [helpstring("Rhumb lines on the WGS84 ellipsoid")] GL_Rhumb,
58 };
59 
62 {
63  [helpstring("Unknown product")] PD_Unknown = 0,
64  [helpstring("Electronic Navigational Chart (ENC)")] PD_ENC = 1,
65  [helpstring("Inland Electronic Navigational Chart (ENC)")] PD_IENC = 10,
66  [helpstring("Port ENC")] PD_PENC = 20,
67  [helpstring("CherSoft World Vector Shoreline (WVS)")] PD_WVS = 25,
68  [helpstring("Routes, Areas and Limits (AML v1 or v2)")] PD_MFF = 51,
69  [helpstring("Routes, Areas and Limits (AML v1 or v2)")] PD_RAL = 52,
70  [helpstring("Large Bottom Object (AML v1 or v2)")] PD_LBO = 53,
71  [helpstring("Contour Line Bathymetry (AML v1 or v2)")] PD_CLB = 54,
72  [helpstring("Environment, Seabed and Beach (AML v1 or v2)")] PD_ESB = 55,
73  [helpstring("Small Bottom Objects (AML v1 or v2)")] PD_SBO = 56,
74  [helpstring("AML Version 3 - generic theme")] PD_AMLV3_GEN = 57,
75  [helpstring("AML Version 3 - Land Background Data")] PD_AMLV3_LND = 101,
76  [helpstring("AML Version 3 - Nautical Chart Background Data")] PD_AMLV3_NCD = 102,
77  [helpstring("AML Version 3 - Sediment")] PD_AMLV3_SED = 103,
78  [helpstring("AML Version 3 - Contour Line Bathymetry")] PD_AMLV3_CLB = 104,
79  [helpstring("AML Version 3 - Marine Management Areas")] PD_AMLV3_MMA = 105,
80  [helpstring("AML Version 3 - Mine Tactical Data")] PD_AMLV3_MTD = 106,
81  [helpstring("AML Version 3 - Territorial Sea Boundaries")] PD_AMLV3_TSB = 107,
82  [helpstring("AML Version 3 - Flight Aeronautical Information")] PD_AMLV3_FAI = 108,
83  [helpstring("AML Version 3 - Civil Flight Information")] PD_AMLV3_CFI = 109,
84  [helpstring("AML Version 3 - Military Flight Information")] PD_AMLV3_MFI = 110,
85  [helpstring("AML Version 3 - Practice and Exercise Areas")] PD_AMLV3_PEA = 111,
86  [helpstring("AML Version 3 - Q - Routes")] PD_AMLV3_QRT = 112,
87  [helpstring("AML Version 3 - Small Bottom Objects")] PD_AMLV3_SBO = 113,
88  [helpstring("AML Version 3 - Large Bottom Objects")] PD_AMLV3_LBO = 114,
89  [helpstring("AML Version 3 - Amphibious Warfare Data")] PD_AMLV3_AMP = 115,
90  [helpstring("AML Version 3 - Ice Data")] PD_AMLV3_ICE = 116,
91  [helpstring("AML Version 3 - Military Nautical Information")] PD_AMLV3_MNI = 117,
92  [helpstring("UKHO Admiralty Information Overlay")] PD_AIO = 80,
93  [helpstring("Bathymetric ENC")] PD_BENC = 200,
94 };
95 
98 {
99  [helpstring("Metres and decimetres")] DDU_Metres = 0,
100  [helpstring("Feet")] DDU_Feet = 1,
101  [helpstring("Metres ECDIS")] DDU_MetresECDIS = 2,
102 };
103 
106 {
107  [helpstring("Kilometres")] SBU_Kilometres = 0,
108  [helpstring("Nautical Miles")] SBU_NauticalMiles = 1,
109 };
110 
113 {
114  [helpstring("Off - don't use detailed mode (default)")] SDM_Off = 0,
115  [helpstring("Auto - in detailed mode use same units")] SDM_Auto,
116  [helpstring("UseMetres - always use metres for detailed mode")] SDM_UseMetres,
117 };
118 
120 
122 {
123  [helpstring("Degrees, minutes, seconds to 1 decimal place")] D_MM_SS_S = 0,
124  [helpstring("Degrees, minutes, seconds to 2 decimal places")] D_MM_SS_SS = 1,
125  [helpstring("Degrees, minutes to 3 decimal places")] D_MM_MMM = 2,
126  [helpstring("Degrees, minutes to 4 decimal places")] D_MM_MMMM = 3,
127  [helpstring("Degrees to 5 decimal places")] D_DDDDD = 4,
128  [helpstring("Degrees to 6 decimal places")] D_DDDDDD = 5,
129 };
130 
133 {
134  [helpstring("No geometry, typically a collection of other types of feature")] FG_None,
135  [helpstring("A single geographical position")] FG_Point,
136  [helpstring("A line (of potentially any shape) between two geographical positions")] FG_Line,
137  [helpstring("An enclosed geographical area")] FG_Area,
138  [helpstring("A collection of geographical positions and depths")] FG_Sounding,
139  [helpstring("Unknown geometry")] FG_Unknown,
140 };
141 
143 
145 {
146  [helpstring("Don't draw S-57 layer")] CB_NoS57Layer,
147  [helpstring("Before S-57 layer draw")] CB_BeforeS57Layer,
148  [helpstring("After S-57 layer draw")] CB_AfterS57Layer,
149  [helpstring("Both before and after S-57 layer draw")] CB_BeforeAndAfterS57Layer,
150 };
151 
153 {
154  [helpstring("Do nothing")] SHA_DoNothing,
155  [helpstring("Might be a URL")] SHA_MightBeUrl,
156  [helpstring("Go home")] SHA_GoHome,
157  [helpstring("Go back")] SHA_GoBack,
158  [helpstring("Go forward")] SHA_GoForward,
159  [helpstring("Update pages")] SHA_UpdatePages,
160  [helpstring("Update pages and reload current page")] SHA_UpdatePagesAndReloadCurrentPage,
161  [helpstring("Update pages and go home")] SHA_UpdatePagesAndGoHome,
162 };
163 
165 {
166  [helpstring("No non-standard decluttering")] S57DisplayImprovements_Nothing,
167  [helpstring("Max ENC display improvements")] S57DisplayImprovements_Max,
168  [helpstring("ENC display improvements as of Q1 2012")] S57DisplayImprovements_Level1,
169 };
170 
172 {
173  [helpstring("Original ENCX S-57 projection for fastest drawing")] S57Projection_Cylindrical,
174  [helpstring("Mercator")] S57Projection_Mercator,
175  [helpstring("PolarStereographic")] S57Projection_PolarStereographic,
176 };
177 
180 {
181  [helpstring("Use the current system date")] S57DateMode_UseSystemDate,
182  [helpstring("Use the user set date")] S57DateMode_UseSetDate,
183  [helpstring("Ignore date attributes (PERSTA,PEREND,DATSTA,DATEND) on features")] S57DateMode_IgnoreDates,
184 };
185 
188 {
189  [helpstring("Solid pen")] PS_Solid,
190  [helpstring("Dashed pen")] PS_Dashed,
191 };
192 
195 {
196  [helpstring("Node")] FT_Node = 0,
197  [helpstring("Text")] FT_Text = 1,
198  [helpstring("Edge")] FT_Edge = 2,
199  [helpstring("Face")] FT_Face = 3,
200 };
201 
203 {
204  [helpstring("UTM")] Grid_UTM = 0,
205  [helpstring("MGRS")] Grid_MGRS = 2,
206 };
207 
209 // General interfaces
211 
213 
214 [
215  object,
216  uuid(cb25f611-7cb6-11e1-8889-0024e84637be),
217  dual,
218  helpstring("IDongle Interface"),
219  nonextensible,
220  pointer_default(unique),
221  hidden
222 ]
223 interface IDongle : IDispatch
224 {
226  [propget, id(1), helpstring("Dongle State")] HRESULT State([out, retval] enum DongleState * pVal);
228  [propget, id(2), helpstring("property DeviceName")] HRESULT DeviceName([out, retval] BSTR* pVal);
229  /*
230  // Encrypt a memory block in situ.
231  [id(3), helpstring("Encrypt a block of memory (>7 bytes long)")] HRESULT Encrypt([in] BYTE* pData, [in] LONG nSize);
232  // Decrypt a memory block in situ.
233  [id(4), helpstring("Decrypt a block of memory (>7 bytes long)")] HRESULT Decrypt([in] BYTE* pData, [in] LONG nSize);
234  // Encrypt a safearray in situ.
235  [id(5), helpstring("Encrypt a safearray")] HRESULT EncryptArray([in,out] VARIANT* data);
236  // Decrypt a safearray in situ.
237  [id(6), helpstring("Decrypt a safearray")] HRESULT DecryptArray([in,out] VARIANT* data);
238  */
240  [propget, id(7), helpstring("Serial number of the dongle")] HRESULT SerialNumber([out, retval] LONG* pVal);
241 };
242 
244 [
245  object,
246  uuid(cb25f612-7cb6-11e1-8889-0024e84637be),
247  dual,
248  nonextensible,
249  helpstring("IDongleObserver Interface"),
250  pointer_default(unique),
251  hidden
252 ]
254 {
256  [id(1), helpstring("method Register")] HRESULT Register(IDongle * dongle);
258  [id(2), helpstring("method Unregister")] HRESULT Unregister(void);
259 };
260 
262 
270 [
271  object,
272  uuid(cb25f681-7cb6-11e1-8889-0024e84637be),
273  dual,
274  helpstring("IGeoPointFormatter Interface"),
275  nonextensible,
276  pointer_default(unique),
277  hidden
278 ]
280 {
282  [propget, id(1), helpstring("Use UTM universal grid where available")] HRESULT UseUniversalGrid([out, retval] VARIANT_BOOL* useGrid);
284  [propput, id(1), helpstring("Use UTM universal grid where available")] HRESULT UseUniversalGrid([in] VARIANT_BOOL useGrid);
286  [propget, id(2), helpstring("Use national grid where available (this has priority over UseUniversalGrid)")] HRESULT UseNationalGrid([out, retval] VARIANT_BOOL* useGrid);
288  [propput, id(2), helpstring("Use national grid where available (this has priority over UseUniversalGrid)")] HRESULT UseNationalGrid([in] VARIANT_BOOL useGrid);
290  [propget, id(3), helpstring("Lat-Lon format")] HRESULT Format([out, retval] enum LatLonFormat* fmt);
292  [propput, id(3), helpstring("Lat-Lon format")] HRESULT Format([in] enum LatLonFormat fmt);
294  [propget, id(4), helpstring("UniversalGrid")] HRESULT UniversalGrid([out, retval] enum UniversalGridType * val);
296  [propput, id(4), helpstring("UniversalGrid")] HRESULT UniversalGrid([in] enum UniversalGridType val);
297 };
298 
300 [
301  object,
302  uuid(cb25f613-7cb6-11e1-8889-0024e84637be),
303  dual,
304  nonextensible,
305  helpstring("ILibrary Interface"),
306  pointer_default(unique),
307  hidden
308 ]
309 interface ILibrary : IDispatch
310 {
312 
319  [id(1), helpstring("Initialize the %ENCX library")] HRESULT Construct([in] BSTR OEMKey, [in] BSTR DFSFileName);
320 
322  [propget, id(2), helpstring("Is the OEM key valid?")] HRESULT ValidOEMKey([out, retval] VARIANT_BOOL* pVal);
323 
325  [propget, id(3), helpstring("Get the Dongle")] HRESULT Dongle([out, retval] IDongle** pVal);
326 
328 
329  [id(4), helpstring("Call while the application is idle and while DoIdle() keeps returning true")] HRESULT DoIdle([out,retval] VARIANT_BOOL* bRes);
330 
332  [propget, id(5), helpstring("Get DFS licensing ID string")] HRESULT DFSInstallationId([out, retval] BSTR* pVal);
333 
335 
338  [propget, id(6), helpstring("The full pathname of the DFS filename")] HRESULT DFSFileName([out, retval] BSTR* pVal);
339 
341  [propget, id(7), helpstring("Is the DFS file valid?")] HRESULT ValidDFSFile([out, retval] VARIANT_BOOL* pVal);
342 
344  [propget, id(9), helpstring("The version of the library")] HRESULT Version([out, retval] BSTR* pVal);
345 
346  [propget, id(10), helpstring("Get the GeoPoint formatter")] HRESULT GeoPointFormatter([out, retval] IGeoPointFormatter** pipGPFormatter);
347 
348 #if !defined DOXYGEN_SHOULD_SKIP_THIS
349  [id(11), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
350 #endif
351 };
352 
354 [
355  object,
356  uuid(cb25f614-7cb6-11e1-8889-0024e84637be),
357  dual,
358  helpstring("IDisplayPalette Interface"),
359  nonextensible,
360  pointer_default(unique),
361  hidden
362 ]
364 {
366  [propget, id(1), helpstring("property Type")] HRESULT PalType([out, retval] enum PaletteType* pVal);
368  [propput, id(1), helpstring("property Type")] HRESULT PalType([in] enum PaletteType newVal);
370  [propget, id(2), helpstring("The density of colour")] HRESULT Saturation([out, retval] DOUBLE* pVal);
372  [propput, id(2), helpstring("The density of colour")] HRESULT Saturation([in] DOUBLE newVal);
374  [propget, id(3), helpstring("property Luminance")] HRESULT Luminance([out, retval] DOUBLE* pVal);
376  [propput, id(3), helpstring("property Luminance")] HRESULT Luminance([in] DOUBLE newVal);
377 
378 #if !defined DOXYGEN_SHOULD_SKIP_THIS
379  [id(4), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
380 #endif
381 };
382 
384 
390 [
391  object,
392  uuid(cb25f615-7cb6-11e1-8889-0024e84637be),
393  dual,
394  helpstring("IGeoPoint Interface"),
395  nonextensible,
396  pointer_default(unique),
397  hidden,
398 ]
399 interface IGeoPoint : IDispatch
400 {
402  [propget, id(1), helpstring("Latitude")] HRESULT Lat([out, retval] DOUBLE* pVal);
404  [propput, id(1), helpstring("Latitude")] HRESULT Lat([in] DOUBLE newVal);
406  [propget, id(2), helpstring("Longitude")] HRESULT Lon([out, retval] DOUBLE* pVal);
408  [propput, id(2), helpstring("Longitude")] HRESULT Lon([in] DOUBLE newVal);
410  [propget, id(3), helpstring("Lat-Lon as string")] HRESULT LatLonString([out, retval] BSTR* pVal);
412  [propput, id(3), helpstring("Convert string to Lat-Lon")] HRESULT LatLonString([in] BSTR newVal);
414  [propget, id(4), helpstring("Position as formatted string")] HRESULT FormattedPosition([out, retval] BSTR* pVal);
416  [id(5), helpstring("Parse string containing latitude and longitude")] HRESULT ParseLatLon([in] BSTR newVal);
417 
418 #if !defined DOXYGEN_SHOULD_SKIP_THIS
419  [id(6), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
420 #endif
422  [id(7), helpstring("Get an identical copy of this object")] HRESULT Copy([out,retval] IGeoPoint** pVal);
423 
425  [id(8), helpstring("Parse string containing UTM grid position")] HRESULT ParseUTM([in] BSTR newVal);
426 
428  [id(9), helpstring("Parse string containing MGRS grid position")] HRESULT ParseMGRS([in] BSTR newVal);
429 };
430 
431 
432 
434 [
435  object,
436  uuid(cb25f616-7cb6-11e1-8889-0024e84637be),
437  dual,
438  helpstring("IGeoPoints Interface"),
439  nonextensible,
440  pointer_default(unique),
441  hidden
442 ]
444 {
445  [propget, id(0), helpstring("property Item")] HRESULT Item([in] VARIANT vtIndex, [out,retval] IGeoPoint ** geoPoint);
446  [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] LONG* pVal);
447  [propget, id(-4), helpstring("property _NewEnum"), restricted] HRESULT _NewEnum([out, retval] IUnknown** pVal);
448  [id(2), helpstring("method Add")] HRESULT Add([in] IGeoPoint * geoPoint);
449  [id(3), helpstring("method Remove")] HRESULT Remove([in] LONG nIndex);
450  [id(4), helpstring("method Clear")] HRESULT Clear();
451  [id(5), helpstring("method AddLatLon")] HRESULT AddLatLon([in] DOUBLE Lat, [in] DOUBLE Lon);
453  [id(6), helpstring("Get an identical copy of this object")] HRESULT Copy([out,retval] IGeoPoints ** pVal);
454 #if !defined DOXYGEN_SHOULD_SKIP_THIS
455  [id(7), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
456 #endif
457 };
458 
460 
461 [
462  object,
463  uuid(cb25f617-7cb6-11e1-8889-0024e84637be),
464  dual,
465  helpstring("IGeoArea Interface"),
466  nonextensible,
467  pointer_default(unique),
468  hidden
469 ]
470 interface IGeoArea : IDispatch
471 {
473  [propget, id(1), helpstring("property Points")] HRESULT Points([out, retval] IGeoPoints ** pVal);
475  [propput, id(1), helpstring("property Points")] HRESULT Points([in] IGeoPoints * geoPoints);
477  [propget, id(2), helpstring("property LineType")] HRESULT LineType([out, retval] enum GeoLineType* pVal);
479  [propput, id(2), helpstring("property LineType")] HRESULT LineType([in] enum GeoLineType val);
481  [propget, id(3), helpstring("property PointsString")] HRESULT PointsString([out, retval] BSTR * pointsString);
483  [propput, id(3), helpstring("property PointsString")] HRESULT PointsString([in] BSTR pointsString);
485  [propget, id(4), helpstring("property RoundedCornersString")] HRESULT RoundedCornersString([out, retval] BSTR * corners);
487  [propput, id(4), helpstring("property RoundedCornersString")] HRESULT RoundedCornersString([in] BSTR corners);
488 
489 #if !defined DOXYGEN_SHOULD_SKIP_THIS
490  [id(6), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
491 #endif
492 };
493 
494 
496 [
497  object,
498  uuid(cb25f618-7cb6-11e1-8889-0024e84637be),
499  dual,
500  helpstring("IGeoHorizontalDatumInfo Interface"),
501  nonextensible,
502  pointer_default(unique),
503  hidden
504 ]
506 {
508  [propget, id(1), helpstring("Three character code, e.g. WGE for WGS84, plus optional one-character sub area")] HRESULT Code([out, retval] BSTR* pVal);
510  [propget, id(2), helpstring("Abbreviated description, e.g. WGS84 or OSGB1936")] HRESULT ShortDescription([out, retval] BSTR* pVal);
512  [propget, id(3), helpstring("Full description, e.g. World Geodetic System 1984")] HRESULT LongDescription([out, retval] BSTR* pVal);
513 };
514 
516 
517 [
518  object,
519  uuid(cb25f619-7cb6-11e1-8889-0024e84637be),
520  dual,
521  helpstring("IGeoRect Interface"),
522  nonextensible,
523  pointer_default(unique),
524  hidden
525 ]
526 interface IGeoRect : IDispatch
527 {
528  [propget, id(1), helpstring("property LatN")] HRESULT LatN([out, retval] DOUBLE* pVal); //<! The northern most edge of the area. Degrees, positive going north, zero on the equator.
529  [propput, id(1), helpstring("property LatN")] HRESULT LatN([in] DOUBLE newVal); //<! The northern most edge of the area. Degrees, positive going north, zero on the equator.
530  [propget, id(2), helpstring("property LatS")] HRESULT LatS([out, retval] DOUBLE* pVal); //<! The southern most edge of the area. Degrees, positive going north, zero on the equator.
531  [propput, id(2), helpstring("property LatS")] HRESULT LatS([in] DOUBLE newVal); //<! The southern most edge of the area. Degrees, positive going north, zero on the equator.
532  [propget, id(3), helpstring("property LonE")] HRESULT LonE([out, retval] DOUBLE* pVal); //<! The eastern most edge of the area. Degrees, positive going east, zero on the Greenwich Meridian.
533  [propput, id(3), helpstring("property LonE")] HRESULT LonE([in] DOUBLE newVal); //<! The eastern most edge of the area. Degrees, positive going east, zero on the Greenwich Meridian.
534  [propget, id(4), helpstring("property LonW")] HRESULT LonW([out, retval] DOUBLE* pVal); //<! The western most edge of the area. Degrees, positive going east, zero on the Greenwich Meridian.
535  [propput, id(4), helpstring("property LonW")] HRESULT LonW([in] DOUBLE newVal); //<! The western most edge of the area. Degrees, positive going east, zero on the Greenwich Meridian.
536 
537 #if !defined DOXYGEN_SHOULD_SKIP_THIS
538  [id(6), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
539 #endif
540 };
541 
543 
544 [
545  object,
546  uuid(cb25f61a-7cb6-11e1-8889-0024e84637be),
547  dual,
548  helpstring("IGeoLine Interface"),
549  nonextensible,
550  pointer_default(unique),
551  hidden
552 ]
553 interface IGeoLine : IDispatch
554 {
556  [propget, id(1), helpstring("One end of the line")] HRESULT Point1([out, retval] IGeoPoint ** pVal);
558  [propput, id(1), helpstring("One end of the line")] HRESULT Point1([in] IGeoPoint * newVal);
560  [propget, id(2), helpstring("The other end of the line")] HRESULT Point2([out, retval] IGeoPoint ** pVal);
562  [propput, id(2), helpstring("The other end of the line")] HRESULT Point2([in] IGeoPoint * newVal);
564  [propget, id(3), helpstring("The shape of the path to be used between the ends")] HRESULT LineType([out, retval] enum GeoLineType* pVal);
566  [propput, id(3), helpstring("The shape of the path to be used between the ends")] HRESULT LineType([in] enum GeoLineType newVal);
568  [id(4), helpstring("Setting the position of one end of the line")] HRESULT SetPoint1([in] DOUBLE LatGeodeticDegrees, [in] DOUBLE LonDegrees);
570  [id(5), helpstring("The other end of the line")] HRESULT SetPoint2([in] DOUBLE LatGeodeticDegrees, [in] DOUBLE LonDegrees);
572  [propget, id(6), helpstring("Length in metres of the line")] HRESULT LengthInMetres([out, retval] DOUBLE* pVal);
573 
574  // Additions after 1.8.0.37...
575 
577  [id(7), helpstring("Create line from start point, bearing and length")] HRESULT CreateFromBearingAndLength([in] enum GeoLineType lineType, [in] IGeoPoint* start, [in] DOUBLE bearing, [in] DOUBLE lengthInMeters);
579  [propget, id(8), helpstring("Bearing in degrees at start of line")] HRESULT BearingStart([out, retval] DOUBLE* startBearing);
581  [propget, id(9), helpstring("Bearing in degrees at end of line")] HRESULT BearingEnd([out, retval] DOUBLE* endBearing);
582 
583 #if !defined DOXYGEN_SHOULD_SKIP_THIS
584  [id(10), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
585 #endif
586 };
587 
589 [
590  object,
591  uuid(cb25f61b-7cb6-11e1-8889-0024e84637be),
592  dual,
593  helpstring("IPixelPoint Interface"),
594  nonextensible,
595  pointer_default(unique),
596  hidden
597 ]
599 {
601  [propget, id(1), helpstring("property X")] HRESULT X([out, retval] FLOAT* pVal);
603  [propput, id(1), helpstring("property X")] HRESULT X([in] FLOAT val);
605  [propget, id(2), helpstring("property Y")] HRESULT Y([out, retval] FLOAT* pVal);
607  [propput, id(2), helpstring("property Y")] HRESULT Y([in] FLOAT val);
608 
609 #if !defined DOXYGEN_SHOULD_SKIP_THIS
610  [id(3), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
611 #endif
612 };
613 
615 [
616  object,
617  uuid(cb25f61c-7cb6-11e1-8889-0024e84637be),
618  dual,
619  helpstring("IPixelSize Interface"),
620  nonextensible,
621  pointer_default(unique),
622  hidden
623 ]
625 {
627  [propget, id(1), helpstring("property Width")] HRESULT Width([out, retval] LONG* pVal);
629  [propput, id(1), helpstring("property Width")] HRESULT Width([in] LONG val);
631  [propget, id(2), helpstring("property Height")] HRESULT Height([out, retval] LONG* pVal);
633  [propput, id(2), helpstring("property Height")] HRESULT Height([in] LONG val);
634 
635 #if !defined DOXYGEN_SHOULD_SKIP_THIS
636  [id(3), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
637 #endif
638 };
639 
641 [
642  object,
643  uuid(cb25f61d-7cb6-11e1-8889-0024e84637be),
644  dual,
645  helpstring("IPixelRect Interface"),
646  nonextensible,
647  pointer_default(unique),
648  hidden
649 ]
651 {
653  [propget, id(1), helpstring("property Left")] HRESULT Left([out, retval] LONG* pVal);
655  [propput, id(1), helpstring("property Left")] HRESULT Left([in] LONG val);
657  [propget, id(2), helpstring("property Top")] HRESULT Top([out, retval] LONG* pVal);
659  [propput, id(2), helpstring("property Top")] HRESULT Top([in] LONG val);
661  [propget, id(3), helpstring("property Width")] HRESULT Width([out, retval] LONG* pVal);
663  [propput, id(3), helpstring("property Width")] HRESULT Width([in] LONG val);
665  [propget, id(4), helpstring("property Height")] HRESULT Height([out, retval] LONG* pVal);
667  [propput, id(4), helpstring("property Height")] HRESULT Height([in] LONG val);
668 
669 #if !defined DOXYGEN_SHOULD_SKIP_THIS
670  [id(5), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
671 #endif
672 };
673 
674 
676 
677 [
678  object,
679  uuid(cb25f61e-7cb6-11e1-8889-0024e84637be),
680  dual,
681  helpstring("IPixelPoints Interface"),
682  nonextensible,
683  pointer_default(unique),
684  hidden
685 ]
687 {
688  [propget, id(0), helpstring("property Item")] HRESULT Item([in] VARIANT vtIndex, [out,retval] IPixelPoint ** pp);
689  [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] LONG* pVal);
690  [propget, id(-4), helpstring("property _NewEnum"), restricted] HRESULT _NewEnum([out, retval] IUnknown** pVal);
691 };
692 
693 
694 
696 [
697  object,
698  uuid(cb25f61f-7cb6-11e1-8889-0024e84637be),
699  dual,
700  helpstring("IPolyLines Interface"),
701  nonextensible,
702  pointer_default(unique),
703  hidden
704 ]
706 {
707  [propget, id(0), helpstring("property Item")] HRESULT Item([in] VARIANT vtIndex, [out,retval] IPixelPoints ** pixelPts);
708  [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] LONG* pVal);
709  [propget, id(-4), helpstring("property _NewEnum"), restricted] HRESULT _NewEnum([out, retval] IUnknown** pVal);
710 };
711 
713 [
714  object,
715  uuid(cb25f620-7cb6-11e1-8889-0024e84637be),
716  dual,
717  helpstring("IPolyAreas Interface"),
718  nonextensible,
719  pointer_default(unique),
720  hidden
721 ]
723 {
724  [propget, id(0), helpstring("property Item")] HRESULT Item([in] VARIANT vtIndex, [out,retval] IPixelPoints ** pixelPts);
725  [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] LONG* pVal);
726  [propget, id(-4), helpstring("property _NewEnum"), restricted] HRESULT _NewEnum([out, retval] IUnknown** pVal);
727 };
728 
729 
730 
732 
741 [
742  object,
743  uuid(cb25f621-7cb6-11e1-8889-0024e84637be),
744  dual,
745  helpstring("IGeoPix Interface"),
746  nonextensible,
747  pointer_default(unique),
748  hidden
749 ]
750 interface IGeoPix : IDispatch
751 {
753 
762  [id(1), helpstring("Obtain a geographical position from a pixel point")] HRESULT GeoPointFromPixelPoint([in] IPixelPoint * pixelPt, [out, retval] IGeoPoint ** geoPt);
764  [propget, id(2), helpstring("The geographical bounding rectangle for the viewport of this IGeoPix")] HRESULT Extent([out, retval] IGeoRect ** pVal);
766  [id(3), helpstring("The geographical bounding rectangle for rectangle defined in pixel coordinates clipped to the viewport")] HRESULT ExtentFromRect([in] IPixelRect * rect, [out, retval] IGeoRect ** pVal);
768 
770  [propget, id(4), helpstring("The scale to show to the user")] HRESULT DisplayScale([out, retval] LONG* pVal);
772 
778  [propget, id(5), helpstring("Degrees. Like a compass bearing")] HRESULT DirectionOfUp([out, retval] DOUBLE* Degrees);
780 
782  [propget, id(6), helpstring("Draw symbols smaller (for Overviews)")] HRESULT UseSmallSymbology([out, retval] VARIANT_BOOL* pVal);
784 
789  [id(7), helpstring("Geographic to Pixel point conversion")] HRESULT Point([in] IGeoPoint * geoPt, [out, retval] IPixelPoint ** pixelPt);
791 
798  [id(8), helpstring("Geographic to Pixel point conversion (extended)")] HRESULT PointEx([in] IGeoPoint * geoPt, [in] DOUBLE brgGeo, [out] DOUBLE* brgPixel, [out] DOUBLE * distOnePixel, [out, retval] IPixelPoint ** pixelPt);
800 
803  [id(9), helpstring("Geographic to Pixel line conversion")] HRESULT Line([in] IGeoLine * geoLine, [out,retval] IPolyLines ** lines);
805 
809  [id(10), helpstring("Geographic to Pixel area conversion")] HRESULT Area([in] IGeoArea * geoArea, [out,retval] IPolyAreas ** areas);
811 
817  [id(11), helpstring("The visible portion of this GeoPix")] HRESULT ClipRegionDevicePoints([in] IPixelRect * rect, [in] OLE_HANDLE lHDC, [out,retval] OLE_HANDLE * lhRgn);
819 
825  [id(12), helpstring("The visible portion of this GeoPix")] HRESULT ClipRegionLogicalPoints([in] IPixelRect * rect, [out,retval] OLE_HANDLE * lhRgn);
827 
828  [propget, id(13), helpstring("Returns true iff the last IGeoPix::Point or IGeoPix::PointEx conversion was inside the view")] HRESULT PointInView([out, retval] VARIANT_BOOL * pVal);
829 
830 #if !defined DOXYGEN_SHOULD_SKIP_THIS
831  [id(14), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
832 #endif
833 };
834 
835 
837 [
838  object,
839  uuid(cb25f622-7cb6-11e1-8889-0024e84637be),
840  dual,
841  helpstring("IGeoPixCollection Interface"),
842  nonextensible,
843  pointer_default(unique),
844  hidden
845 ]
847 {
848  [propget, id(0), helpstring("property Item")] HRESULT Item([in] VARIANT vtIndex, [out,retval] IGeoPix ** gp);
849  [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] LONG* pVal);
850  [propget, id(-4), helpstring("property _NewEnum"), restricted] HRESULT _NewEnum([out, retval] IUnknown** pVal);
851 };
852 
853 
855 
856 [
857  object,
858  uuid(cb25f623-7cb6-11e1-8889-0024e84637be),
859  dual,
860  helpstring("IHorizontalDatum Interface"),
861  nonextensible,
862  pointer_default(unique),
863  hidden
864 ]
866 {
868  [propget, id(1), helpstring("The accuracy of the transformation. Units are metres")] HRESULT ErrorDistanceMetres([out, retval] DOUBLE* Metres);
870 
879  [propget, id(2), helpstring("property HasLocalDatum")] HRESULT HasLocalDatum([out, retval] VARIANT_BOOL* pVal);
881  [propget, id(3), helpstring("Local datum short name")] HRESULT LocalDatumShortName([out, retval] BSTR* pVal);
883  [propget, id(4), helpstring("Local datum long name")] HRESULT LocalDatumLongName([out, retval] BSTR* pVal);
885 
887  [id(5), helpstring("method LocalToWGS84")] HRESULT LocalToWGS84([out] DOUBLE* LatWGS84, [out] DOUBLE* LonWGS84, [in] DOUBLE LatLocal, [in] DOUBLE LonLocal, [out,retval] VARIANT_BOOL* bRes);
889 
891  [id(6), helpstring("method WGS84ToLocal")] HRESULT WGS84ToLocal([out] DOUBLE* LatLocal, [out] DOUBLE* LonLocal, [in] DOUBLE LatWGS84, [in] DOUBLE LonWGS84, [out,retval] VARIANT_BOOL* bRes);
892 };
893 
894 #if !defined(UDE_ENC_ONLY)
896 // RAS interfaces
898 
900 [
901  object,
902  uuid(cb25f624-7cb6-11e1-8889-0024e84637be),
903  dual,
904  helpstring("IRasCharts Interface"),
905  nonextensible,
906  pointer_default(unique),
907  hidden
908 ]
910 {
911  [propget, id(0), helpstring("property Item")] HRESULT Item([in] VARIANT vtIndex, [out,retval] BSTR * bsChart);
912  [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] LONG* pVal);
913  [propget, id(-4), helpstring("property _NewEnum"), restricted] HRESULT _NewEnum([out, retval] IUnknown** pVal);
914 };
915 
916 
918 [
919  object,
920  uuid(cb25f625-7cb6-11e1-8889-0024e84637be),
921  dual,
922  helpstring("IRasDiscIdentity Interface"),
923  nonextensible,
924  pointer_default(unique),
925  hidden
926 ]
928 {
930  [propget, id(1), helpstring("property Description")] HRESULT Description([out, retval] BSTR* pVal);
932  [propget, id(2), helpstring("The date the CD was released")] HRESULT IssueDate([out, retval] DATE* pVal);
933 };
934 
936 
937 [
938  object,
939  uuid(cb25f626-7cb6-11e1-8889-0024e84637be),
940  dual,
941  helpstring("IRasNoticeToMarinersNumber Interface"),
942  nonextensible,
943  pointer_default(unique),
944  hidden
945 ]
947 {
949  [propget, id(1), helpstring("property Year")] HRESULT Year([out, retval] LONG* pVal);
951  [propget, id(2), helpstring("property Number")] HRESULT Number([out, retval] LONG* pVal);
953  [id(3), helpstring("method ToString")] HRESULT ToString([retval][out] BSTR* pVal);
954 };
955 
957 [
958  object,
959  uuid(cb25f627-7cb6-11e1-8889-0024e84637be),
960  dual,
961  helpstring("IRasNoticeToMariners Interface"),
962  nonextensible,
963  pointer_default(unique),
964  hidden
965 ]
967 {
969  [propget, id(1), helpstring("property Number")] HRESULT Number([out, retval] IRasNoticeToMarinersNumber ** pVal);
971  [propget, id(2), helpstring("property Text")] HRESULT Text([out, retval] BSTR* pVal);
972 };
973 
974 
976 [
977  object,
978  uuid(cb25f628-7cb6-11e1-8889-0024e84637be),
979  dual,
980  helpstring("IRasNoticesToMariners Interface"),
981  nonextensible,
982  pointer_default(unique),
983  hidden
984 ]
986 {
987  [propget, id(0), helpstring("property Item")] HRESULT Item([in] VARIANT vtIndex, [out,retval] IRasNoticeToMariners ** notice);
988  [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] LONG* pVal);
989  [propget, id(-4), helpstring("property _NewEnum"), restricted] HRESULT _NewEnum([out, retval] IUnknown** pVal);
990 };
991 
993 [
994  object,
995  uuid(cb25f629-7cb6-11e1-8889-0024e84637be),
996  dual,
997  helpstring("IRasPanelIdentifier Interface"),
998  nonextensible,
999  pointer_default(unique),
1000  hidden
1001 ]
1003 {
1004 #if !defined DOXYGEN_SHOULD_SKIP_THIS
1005  [id(3), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
1006 #endif
1007 };
1008 
1009 
1011 [
1012  object,
1013  uuid(cb25f62a-7cb6-11e1-8889-0024e84637be),
1014  dual,
1015  helpstring("IRasPanelIdentifiers Interface"),
1016  nonextensible,
1017  pointer_default(unique),
1018  hidden
1019 ]
1021 {
1022  [propget, id(0), helpstring("property Item")] HRESULT Item([in] VARIANT vtIndex, [out,retval] IRasPanelIdentifier ** panelid);
1023  [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] LONG* pVal);
1024  [propget, id(-4), helpstring("property _NewEnum"), restricted] HRESULT _NewEnum([out, retval] IUnknown** pVal);
1025 };
1026 
1027 
1029 [
1030  object,
1031  uuid(cb25f62b-7cb6-11e1-8889-0024e84637be),
1032  dual,
1033  helpstring("IRasChartPanelIdentifier Interface"),
1034  nonextensible,
1035  pointer_default(unique),
1036  hidden
1037 ]
1039 {
1041  [propget, id(1), helpstring("property ChartIdentifier")] HRESULT ChartIdentifier([out, retval] BSTR* pVal);
1043  [propget, id(2), helpstring("property Panel")] HRESULT Panel([out, retval] IRasPanelIdentifier ** pVal);
1045  [id(3), helpstring("method Construct")] HRESULT Construct([in] BSTR chartNumber, [in] IRasPanelIdentifier * panelID);
1046 
1047 #if !defined DOXYGEN_SHOULD_SKIP_THIS
1048  [id(4), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
1049 #endif
1050 };
1051 
1053 [
1054  object,
1055  uuid(cb25f62c-7cb6-11e1-8889-0024e84637be),
1056  dual,
1057  helpstring("IRasChartPanelIdentifiers Interface"),
1058  nonextensible,
1059  pointer_default(unique),
1060  hidden
1061 ]
1063 {
1064  [propget, id(0), helpstring("property Item")] HRESULT Item([in] VARIANT vtIndex, [out,retval] IRasChartPanelIdentifier** ChartPanelId);
1065  [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] LONG* pVal);
1066  [propget, id(-4), helpstring("property _NewEnum"), restricted] HRESULT _NewEnum([out, retval] IUnknown** pVal);
1067 };
1068 
1069 
1070 
1072 
1075 [
1076  object,
1077  uuid(cb25f62d-7cb6-11e1-8889-0024e84637be),
1078  dual,
1079  helpstring("IRasPanelInfo Interface"),
1080  nonextensible,
1081  pointer_default(unique),
1082  hidden
1083 ]
1085 {
1087  [propget, id(1), helpstring("property Description")] HRESULT Description([out, retval] BSTR* pVal);
1089  [propget, id(2), helpstring("property HeightDatum")] HRESULT HeightDatum([out, retval] BSTR* pVal);
1091  [propget, id(3), helpstring("property HeightUnits")] HRESULT HeightUnits([out, retval] BSTR* pVal);
1093  [propget, id(4), helpstring("property DepthDatum")] HRESULT DepthDatum([out, retval] BSTR* pVal);
1095  [propget, id(5), helpstring("property DepthUnits")] HRESULT DepthUnits([out, retval] BSTR* pVal);
1097  [propget, id(6), helpstring("property ProjectionName")] HRESULT ProjectionName([out, retval] BSTR* pVal);
1099  [propget, id(7), helpstring("property Scale")] HRESULT Scale([out, retval] LONG* pVal);
1101  [propget, id(8), helpstring("property HorizontalDatumInfo")] HRESULT HorizontalDatumInfo([out, retval] IGeoHorizontalDatumInfo ** pVal);
1103  [propget, id(9), helpstring("property GeoArea")] HRESULT GeoArea([out, retval] IGeoArea ** pVal);
1105 
1108  [propget, id(10), helpstring("property PanelNumber")] HRESULT PanelNumber([out, retval] LONG* pVal);
1110 
1113  [propget, id(11), helpstring("property SubPanelNumber")] HRESULT SubPanelNumber([out, retval] LONG* pVal);
1115  [propget, id(12), helpstring("property PixelPoints")] HRESULT PixelPoints([out, retval] IPixelPoints ** pVal);
1117 
1118  [propget, id(13), helpstring("property ManualWGS84ShiftCanBeModified")] HRESULT ManualWGS84ShiftCanBeModified([out, retval] VARIANT_BOOL* pVal);
1120  [propget, id(14), helpstring("property ManualWGS84Shift")] HRESULT ManualWGS84Shift([out, retval] IGeoPoint ** pVal);
1122 
1123  [propget, id(15), helpstring("property ManualWGS84ShiftIsSet")] HRESULT ManualWGS84ShiftIsSet([out, retval] VARIANT_BOOL * pVal);
1125  [id(16), helpstring("method PointInPanel")] HRESULT PointInPanel([in] DOUBLE dLatGeodeticDegrees, [in] DOUBLE dLonDegrees, [out,retval] VARIANT_BOOL* bRes);
1126 };
1127 
1128 
1130 
1131 [
1132  object,
1133  uuid(cb25f62e-7cb6-11e1-8889-0024e84637be),
1134  dual,
1135  helpstring("IRasChartInfo Interface"),
1136  nonextensible,
1137  pointer_default(unique),
1138  hidden
1139 ]
1141 {
1143 
1145  [propget, id(1), helpstring("property IsComplete")] HRESULT IsComplete([out, retval] VARIANT_BOOL* pVal);
1147  [propget, id(2), helpstring("property RequiresLicence")] HRESULT RequiresLicence([out, retval] VARIANT_BOOL* pVal);
1149 
1151  [propget, id(3), helpstring("property IsWithdrawn")] HRESULT IsWithdrawn([out, retval] VARIANT_BOOL* pVal);
1153  [propget, id(4), helpstring("property NativeFormatLongDescription")] HRESULT NativeFormatLongDescription([out, retval] BSTR* pVal);
1155  [propget, id(5), helpstring("property NativeFormatShortDescription")] HRESULT NativeFormatShortDescription([out, retval] BSTR* pVal);
1157  [propget, id(6), helpstring("property Number")] HRESULT Number([out, retval] BSTR* pVal);
1159  [propget, id(7), helpstring("property InternationalNumber")] HRESULT InternationalNumber([out, retval] BSTR* pVal);
1161  [propget, id(8), helpstring("property Description")] HRESULT Description([out, retval] BSTR* pVal);
1163  [propget, id(9), helpstring("property CountryOfOrigin")] HRESULT CountryOfOrigin([out, retval] BSTR* pVal);
1165  [propget, id(10), helpstring("property Producer1")] HRESULT Producer1([out, retval] BSTR* pVal);
1167  [propget, id(11), helpstring("property Producer2")] HRESULT Producer2([out, retval] BSTR* pVal);
1168  [propget, id(12), helpstring("property RasterChartIssueDate")] HRESULT RasterChartIssueDate([out, retval] DATE* pVal);
1170 
1171  [propget, id(13), helpstring("property EditionDate")] HRESULT EditionDate([out, retval] DATE* pVal);
1173  [propget, id(14), helpstring("property LastChanged")] HRESULT LastChanged([out, retval] DATE* pVal);
1175  [propget, id(15), helpstring("property LatestCorrectionDate")] HRESULT LatestCorrectionDate([out, retval] DATE* pVal);
1177  [propget, id(16), helpstring("property InstallationCD")] HRESULT InstallationCD([out, retval] IRasDiscIdentity ** pVal);
1179 
1180  [propget, id(17), helpstring("property MissingReInstallationCD")] HRESULT MissingReInstallationCD([out, retval] IRasDiscIdentity ** pVal);
1182 
1183  [propget, id(18), helpstring("property MissingUpdateCD")] HRESULT MissingUpdateCD([out, retval] IRasDiscIdentity ** pVal);
1185 
1186  [propget, id(19), helpstring("property LatestNoticeToMarinersNumber")] HRESULT LatestNoticeToMarinersNumber([out, retval] IRasNoticeToMarinersNumber ** pVal);
1188  [propget, id(20), helpstring("property NoticesToMariners")] HRESULT NoticesToMariners([out, retval] IRasNoticesToMariners ** pVal);
1190  [propget, id(21), helpstring("property PanelIdentifiers")] HRESULT PanelIdentifiers([out, retval] IRasPanelIdentifiers ** pVal);
1192 
1193  [propget, id(22), helpstring("property PanelInfo")] HRESULT PanelInfo([in] IRasPanelIdentifier * panelId, [out, retval] IRasPanelInfo ** pVal);
1194 };
1195 
1196 
1198 [
1199  object,
1200  uuid(cb25f62f-7cb6-11e1-8889-0024e84637be),
1201  dual,
1202  helpstring("IRasManager Interface"),
1203  nonextensible,
1204  pointer_default(unique),
1205  hidden
1206 ]
1208 {
1210  [id(2), helpstring("method OpenRasFolder")] HRESULT OpenRasFolder([in] ILibrary * piLibrary, [in] BSTR sPath);
1212  [propget, id(4), helpstring("property Charts")] HRESULT Charts([out, retval] IRasCharts ** pVal);
1214  [id(5), helpstring("method ChartInfo")] HRESULT ChartInfo([in] BSTR ChartIdentifier, [out, retval] IRasChartInfo ** pVal);
1216  [id(6), helpstring("method PanelInfo")] HRESULT PanelInfo([in] IRasChartPanelIdentifier * PanelID, [out, retval] IRasPanelInfo ** pVal);
1217  [propget, id(7), helpstring("property NoticesToMarinersLatestUpdate")] HRESULT NoticesToMarinersLatestUpdate([out, retval] DATE* pVal);
1218  [propget, id(8), helpstring("property GeneralNoticesToMariners")] HRESULT GeneralNoticesToMariners([out, retval] IRasNoticesToMariners ** pVal);
1219  [id(9), helpstring("method PanelsInGeoRect")] HRESULT PanelsInGeoRect([in] IGeoRect * geoRect, [in] LONG ScaleMin, [in] LONG ScaleMax, [out, retval] IRasChartPanelIdentifiers ** pVal);
1220  [id(10), helpstring("method PanelsAtPoint")] HRESULT PanelsAtPoint([in] DOUBLE dLatGeodeticDegrees, [in] DOUBLE dLonDegrees, [in] LONG ScaleMin, [in] LONG ScaleMax, [out, retval] IRasChartPanelIdentifiers ** pVal);
1222 
1223  [id(11), helpstring("method SetManualWGS84Shift")] HRESULT SetManualWGS84Shift([in] IRasChartPanelIdentifier * PanelId, [in] IGeoPoint * geoPoint, VARIANT_BOOL isSet);
1224 
1226  [id(12), helpstring("method DisplayPinDialog")] HRESULT DisplayPinDialog([in] BSTR chartNumber, [out, retval] VARIANT_BOOL * bRes);
1227 
1229  [id(13), helpstring("Invoke the CherSoft Windows application that installs and updates ARCS charts in the folder")] HRESULT RunInstallApplicationARCS([in] BSTR pathToInstallationApp);
1230 
1232  [id(15), helpstring("method IsValidRasFolder")] HRESULT IsValidRasFolder([in] BSTR sPath, [out, retval] VARIANT_BOOL * bRes);
1234  [id(16), helpstring("method CreateRasFolder")] HRESULT CreateRasFolder([in] BSTR sPath);
1235 
1236 #if !defined DOXYGEN_SHOULD_SKIP_THIS
1237  [id(17), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
1238 #endif
1239 };
1240 
1241 
1243 
1244 [
1245  object,
1246  uuid(cb25f630-7cb6-11e1-8889-0024e84637be),
1247  dual,
1248  helpstring("IRasCatalogueObserver Interface"),
1249  nonextensible,
1250  pointer_default(unique),
1251  hidden
1252 ]
1254 {
1256  [id(1), helpstring("method Register")] HRESULT Register([in] IRasManager * rasManager);
1258  [id(2), helpstring("method Unregister")] HRESULT Unregister(void);
1259 };
1260 
1261 
1263 
1265 [
1266  object,
1267  uuid(cb25f631-7cb6-11e1-8889-0024e84637be),
1268  dual,
1269  helpstring("IRasPanelNote Interface"),
1270  nonextensible,
1271  pointer_default(unique),
1272  hidden
1273 ]
1275 {
1277  [propget, id(1), helpstring("The bounding box of the note on the chart. Pixel position (0,0) is always at the top left corner of the chart")] HRESULT Rect([out, retval] IPixelRect ** rect);
1279 
1281  [propget, id(3), helpstring("Fine catIdentification of the note")] HRESULT Code([out, retval] BSTR* pVal);
1283  [propget, id(4), helpstring("Coarse categorisation of the note")] HRESULT Type([out, retval] BSTR* pVal);
1285  [propget, id(5), helpstring("Returns true if the note overlaps any hydrography")] HRESULT Obscures([out, retval] VARIANT_BOOL* pVal);
1287 
1289  [propget, id(6), helpstring("Returns true if the note should be displayed to the user")] HRESULT Display([out, retval] VARIANT_BOOL* pVal);
1290 };
1291 
1293 [
1294  object,
1295  uuid(cb25f632-7cb6-11e1-8889-0024e84637be),
1296  dual,
1297  helpstring("IRasPanelNotes Interface"),
1298  nonextensible,
1299  pointer_default(unique),
1300  hidden
1301 ]
1303 {
1304  [propget, id(0), helpstring("property Item")] HRESULT Item([in] VARIANT vtIndex, [out,retval] IRasPanelNote ** panelNote);
1305  [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] LONG* pVal);
1306  [propget, id(-4), helpstring("property _NewEnum"), restricted] HRESULT _NewEnum([out, retval] IUnknown** pVal);
1307 };
1308 
1309 
1311 
1313 [
1314  object,
1315  uuid(cb25f633-7cb6-11e1-8889-0024e84637be),
1316  dual,
1317  helpstring("IRasDraw Interface"),
1318  nonextensible,
1319  pointer_default(unique),
1320  hidden
1321 ]
1322 interface IRasDraw : IDispatch
1323 {
1325  [id(1), helpstring("Use a specific chart")] HRESULT OpenChart([in] IRasManager * rasmanager, [in] BSTR ChartIdentifier);
1327  [propget, id(2), helpstring("The chart's number")] HRESULT ChartIdentifier([out, retval] BSTR* pVal);
1329 
1331  [propget, id(3), helpstring("When true, the chart will be drawn at a much reduced size (typically 1/6th of normal size)")] HRESULT DisplayFullSize([out, retval] VARIANT_BOOL* pVal);
1333 
1335  [propput, id(3), helpstring("When true, the chart will be drawn at a much reduced size (typically 1/6th of normal size)")] HRESULT DisplayFullSize([in] VARIANT_BOOL newVal);
1337 
1340  [propget, id(4), helpstring("True iff there are currently corrections on the chart")] HRESULT HasUpdates([out, retval] VARIANT_BOOL* pVal);
1342 
1343  [propget, id(5), helpstring("Draw the chart using the available updates. On by default")] HRESULT DisplayUpdates([out, retval] VARIANT_BOOL* pVal);
1345 
1346  [propput, id(5), helpstring("Draw the chart using the available updates. On by default")] HRESULT DisplayUpdates([in] VARIANT_BOOL newVal);
1348 
1349  [propget, id(6), helpstring("Highlight the updated areas on the chart. Off by default")] HRESULT IndicateUpdates([out, retval] VARIANT_BOOL* pVal);
1351 
1352  [propput, id(6), helpstring("Highlight the updated areas on the chart. Off by default")] HRESULT IndicateUpdates([in] VARIANT_BOOL newVal);
1354  [propget, id(7), helpstring("The colour scheme for the chart")] HRESULT DisplayPalette([out, retval] IDisplayPalette ** pVal);
1356  [propput, id(7), helpstring("The colour scheme for the chart")] HRESULT DisplayPalette([in] IDisplayPalette * newVal);
1358  [propget, id(8), helpstring("This message should be displayed on top of the chart at all times")] HRESULT PermanentMessage([out, retval] BSTR* pVal);
1360  [propget, id(9), helpstring("This message should be brought to the operator's attention when the chart is opened")] HRESULT WarningMessage([out, retval] BSTR* pVal);
1362  [propget, id(10), helpstring("This message should be brought to the operator's attention when the chart is opened")] HRESULT UpdateMessage([out, retval] BSTR* pVal);
1364  [propget, id(12), helpstring("Snapshot of all the geopixes that are inside Rect()")] HRESULT VisibleGeoPix([out, retval] IGeoPixCollection ** pVal);
1366 
1367  [propget, id(13), helpstring("Returns the nominal size of a pixel")] HRESULT PixelSizeMetres([out, retval] DOUBLE* sz);
1369  [propget, id(14), helpstring("Return the size of the whole chart in pixels, allowing for it being either full-size or overview")] HRESULT ChartSize([out, retval] IPixelSize** sz);
1371 
1372  [id(15), helpstring("Obtain the identity of the panel at a specified pixel position")] HRESULT PanelAtPoint([in] IPixelPoint * ipPixelPt, [out,retval] IRasPanelIdentifier ** rpid);
1374 
1375  [id(16), helpstring("Obtain the GeoPix at a specified pixel position")] HRESULT GeoPix([in] IPixelPoint * ipPixelPt, [out,retval] IGeoPix ** geoPix);
1377 
1378  [id(17), helpstring("Obtain the HorizontalDatum at a specified pixel position")] HRESULT HorizontalDatum([in] IPixelPoint * ipPixelPt, [out,retval] IHorizontalDatum ** hd);
1380 
1381  [id(18), helpstring("Draw the Rect() portion of the chart to the specified device context")] HRESULT Draw([in] OLE_HANDLE hDC);
1383  [id(19), helpstring("Obtain a collection of notes associated with the specified panel")] HRESULT PanelNotes([in] IRasPanelIdentifier * panelId, [out, retval] IRasPanelNotes ** pVal);
1384 
1386 
1387  [id(20), helpstring("Get a copy of the area of the chart to be drawn. Pixel position (0,0) is always at the top left corner of the chart")] HRESULT GetRect([out, retval] IPixelRect** rect);
1389 
1390  [id(21), helpstring("Set the area of the chart to be drawn. Pixel position (0,0) is always at the top left corner of the chart")] HRESULT SetRect([in] IPixelRect * rect);
1392 
1393  [id(22), helpstring("Set the view rectangle to display the geographical position specified on the panel specified.")]
1394  HRESULT OpenAtPositionOnPanel([in] IRasManager * rasManager, [in] IRasChartPanelIdentifier * chartAndPanel, [in] IGeoPoint * geoPt);
1395 
1397  [propget, id(23), helpstring("Magnify raster chart")] HRESULT Magnify([out, retval] ULONG* percent);
1399 
1400  [propput, id(23), helpstring("Magnify raster chart")] HRESULT Magnify([in] ULONG percent);
1401 };
1402 
1403 #endif
1405 // S57 interfaces
1407 
1409 
1686 [
1687  object,
1688  uuid(cb25f634-7cb6-11e1-8889-0024e84637be),
1689  dual,
1690  helpstring("IS57Attribute Interface"),
1691  nonextensible,
1692  pointer_default(unique),
1693  hidden
1694 ]
1696 {
1698  [propget, id(1), hidden, helpstring("property Product")] HRESULT Product([out, retval] enum S57Product* pVal);
1700  [propget, id(2), helpstring("property Acronym")] HRESULT Acronym([out, retval] BSTR* pVal);
1702  [propget, id(3), helpstring("property Name")] HRESULT Name([out, retval] BSTR* pVal);
1704  [id(4), helpstring("Whether this Attribute is used by the specified product")] HRESULT IsInProduct([in] enum S57Product product, [out, retval] VARIANT_BOOL * result);
1705 };
1706 
1707 
1709 
1710 [
1711  object,
1712  uuid(cb25f635-7cb6-11e1-8889-0024e84637be),
1713  dual,
1714  helpstring("IS57AttributeValue Interface"),
1715  nonextensible,
1716  pointer_default(unique),
1717  hidden
1718 ]
1720 {
1722  [propget, id(1), helpstring("property Attribute")] HRESULT Attribute([out, retval] IS57Attribute ** pVal);
1724  [propget, id(2), helpstring("property Value")] HRESULT Value([out, retval] BSTR* pVal);
1725 };
1726 
1727 
1729 [
1730  object,
1731  uuid(cb25f636-7cb6-11e1-8889-0024e84637be),
1732  dual,
1733  helpstring("IS57AttributeValues Interface"),
1734  nonextensible,
1735  pointer_default(unique),
1736  hidden
1737 ]
1739 {
1740  [propget, id(0), helpstring("property Item")] HRESULT Item([in] VARIANT vtIndex, [out,retval] IS57AttributeValue ** attrValue);
1741  [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] LONG* pVal);
1742  [propget, id(-4), helpstring("property _NewEnum"), restricted] HRESULT _NewEnum([out, retval] IUnknown** pVal);
1743 };
1744 
1745 
1747 [
1748  object,
1749  uuid(cb25f637-7cb6-11e1-8889-0024e84637be),
1750  dual,
1751  helpstring("IS57CellIdentifier Interface"),
1752  nonextensible,
1753  pointer_default(unique),
1754  hidden
1755 ]
1757 {
1759 
1760  [propget, id(1), helpstring("property CellName")] HRESULT CellName([out, retval] BSTR* pVal);
1762  [propget, id(2), helpstring("property Product")] HRESULT Product([out, retval] enum S57Product* pVal);
1764  [id(3), helpstring("method Construct")] HRESULT Construct([in] enum S57Product product, [in] BSTR cellName);
1765 
1766 #if !defined DOXYGEN_SHOULD_SKIP_THIS
1767  [id(4), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
1768 #endif
1769 };
1770 
1772 [
1773  object,
1774  uuid(cb25f638-7cb6-11e1-8889-0024e84637be),
1775  dual,
1776  helpstring("IS57CellIdentifiers Interface"),
1777  nonextensible,
1778  pointer_default(unique),
1779  hidden
1780 ]
1782 {
1783  [propget, id(0), helpstring("property Item")] HRESULT Item([in] VARIANT vtIndex, [out,retval] IS57CellIdentifier** cellId);
1784  [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] LONG* pVal);
1785  [propget, id(-4), helpstring("property _NewEnum"), restricted] HRESULT _NewEnum([out, retval] IUnknown** pVal);
1786  [id(2), helpstring("method Add")] HRESULT Add([in] IS57CellIdentifier * cellId);
1787  [id(3), helpstring("method Remove")] HRESULT Remove([in] LONG nIndex);
1788  [id(4), helpstring("method Clear")] HRESULT Clear();
1789 
1790 #if !defined DOXYGEN_SHOULD_SKIP_THIS
1791  [id(5), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
1792 #endif
1793 };
1794 
1796 
1872 [
1873  object,
1874  uuid(cb25f639-7cb6-11e1-8889-0024e84637be),
1875  dual,
1876  helpstring("IS57Colour Interface"),
1877  nonextensible,
1878  pointer_default(unique),
1879  hidden
1880 ]
1882 {
1883  [propget, id(1), helpstring("property Name")] HRESULT Name([out, retval] BSTR* pVal);
1884  [propput, id(1), helpstring("property Name")] HRESULT Name([in] BSTR val);
1886  [id(2), helpstring("Construct")] HRESULT Construct([in] BSTR name);
1887 
1888 #if !defined DOXYGEN_SHOULD_SKIP_THIS
1889  [id(3), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
1890 #endif
1891 };
1892 
1893 
1895 [
1896  object,
1897  uuid(cb25f63a-7cb6-11e1-8889-0024e84637be),
1898  dual,
1899  helpstring("IS57ColourValue Interface"),
1900  nonextensible,
1901  pointer_default(unique),
1902  hidden
1903 ]
1905 {
1907  [id(1), helpstring("Construct")] HRESULT Construct([in] IS57Colour * pColour, DWORD rgbDay, DWORD rgbTwilight, DWORD rgbNight);
1909  [propget, id(2), helpstring("property Colour")] HRESULT Colour([out, retval] IS57Colour ** pVal);
1911  [propput, id(2), helpstring("property Colour")] HRESULT Colour([in] IS57Colour * pVal);
1913  [propget, id(3), helpstring("property RGB for daylight viewing")] HRESULT DayRGB([out, retval] COLORREF* rgb);
1915  [propput, id(3), helpstring("property RGB for daylight viewing")] HRESULT DayRGB([in] COLORREF rgb);
1917  [propget, id(4), helpstring("property RGB for twilight viewing")] HRESULT TwilightRGB([out, retval] COLORREF* rgb);
1919  [propput, id(4), helpstring("property RGB for twilight viewing")] HRESULT TwilightRGB([in] COLORREF rgb);
1921  [propget, id(5), helpstring("property RGB for night time viewing")] HRESULT NightRGB([out, retval] COLORREF* rgb);
1923  [propput, id(5), helpstring("property RGB for night time viewing")] HRESULT NightRGB([in] COLORREF rgb);
1924 
1925 #if !defined DOXYGEN_SHOULD_SKIP_THIS
1926  [id(6), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
1927 #endif
1928 };
1929 
1930 
1932 [
1933  object,
1934  uuid(cb25f63b-7cb6-11e1-8889-0024e84637be),
1935  dual,
1936  helpstring("IS57ColourValues Interface"),
1937  nonextensible,
1938  pointer_default(unique),
1939  hidden
1940 ]
1942 {
1943  [propget, id(0), helpstring("property Item")] HRESULT Item([in] VARIANT vtIndex, [out,retval] IS57ColourValue ** colourValue);
1944  [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] LONG* pVal);
1945  [propget, id(-4), helpstring("property _NewEnum"), restricted] HRESULT _NewEnum([out, retval] IUnknown** pVal);
1946  [id(2), helpstring("method Add")] HRESULT Add([in] IS57ColourValue * colourValue);
1947  [id(3), helpstring("method Remove")] HRESULT Remove([in] LONG nIndex);
1948  [id(4), helpstring("method Clear")] HRESULT Clear();
1949 
1950 #if !defined DOXYGEN_SHOULD_SKIP_THIS
1951  [id(5), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
1952 #endif
1953 };
1954 
1955 
1957 [
1958  object,
1959  uuid(cb25f63c-7cb6-11e1-8889-0024e84637be),
1960  dual,
1961  helpstring("IS57ProductAndUsage Interface"),
1962  nonextensible,
1963  pointer_default(unique),
1964  hidden
1965 ]
1967 {
1969  [propget, id(1), helpstring("S-57 Product")] HRESULT Product([out, retval] enum S57Product* pVal);
1971  [propput, id(1), helpstring("S-57 Product")] HRESULT Product([in] enum S57Product newVal);
1973 
1984  [propget, id(2), helpstring("Intended usage (For ENC, navigational purpose 1 .. 6)")] HRESULT IntendedUsage([out, retval] BYTE* pVal);
1986 
1997  [propput, id(2), helpstring("Intended usage (For ENC, navigational purpose 1 .. 6)")] HRESULT IntendedUsage([in] BYTE newVal);
1998 
1999 #if !defined DOXYGEN_SHOULD_SKIP_THIS
2000  [id(3), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
2001 #endif
2002 };
2003 
2005 [
2006  object,
2007  uuid(cb25f63d-7cb6-11e1-8889-0024e84637be),
2008  dual,
2009  helpstring("IS57ProductAndUsages Interface"),
2010  nonextensible,
2011  pointer_default(unique),
2012  hidden
2013 ]
2015 {
2016  [propget, id(0), helpstring("property Item")] HRESULT Item([in] VARIANT vtIndex, [out,retval] IS57ProductAndUsage** ProductAndUsage);
2017  [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] LONG* pVal);
2018  [propget, id(-4), helpstring("property _NewEnum"), restricted] HRESULT _NewEnum([out, retval] IUnknown** pVal);
2019  [id(2), helpstring("method Add")] HRESULT Add([in] IS57ProductAndUsage * ProductAndUsage);
2020  [id(3), helpstring("method Remove")] HRESULT Remove([in] LONG nIndex);
2021  [id(4), helpstring("method Clear")] HRESULT Clear();
2022 
2023 #if !defined DOXYGEN_SHOULD_SKIP_THIS
2024  [id(5), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
2025 #endif
2026 
2027  [id(6), helpstring("method RestoreDefault")] HRESULT RestoreDefault();
2028 };
2029 
2031 
2032 [
2033  object,
2034  uuid(cb25f63e-7cb6-11e1-8889-0024e84637be),
2035  dual,
2036  helpstring("IS57CellInfo Interface"),
2037  nonextensible,
2038  pointer_default(unique),
2039  hidden
2040 ]
2042 {
2044  [propget, id(1), helpstring("property CellIdentifier")] HRESULT CellIdentifier([out, retval] IS57CellIdentifier** pVal);
2046  [propget, id(2), helpstring("property IntendedUsage")] HRESULT IntendedUsage([out, retval] LONG* pVal);
2048  [propget, id(3), helpstring("property CompilationScale")] HRESULT CompilationScale([out, retval] LONG* pVal);
2050  [propget, id(4), helpstring("Description of the S-57 data producer")] HRESULT Agency([out, retval] BSTR* pVal);
2052  [propget, id(5), helpstring("property Country")] HRESULT Country([out, retval] BSTR* pVal);
2054  [propget, id(6), helpstring("property VerticalDatum")] HRESULT VerticalDatum([out, retval] BSTR* pVal);
2056  [propget, id(7), helpstring("property SoundingDatum")] HRESULT SoundingDatum([out, retval] BSTR* pVal);
2058  [propget, id(8), helpstring("property Extent")] HRESULT Extent([out, retval] IGeoRect ** pVal);
2060  [propget, id(9), helpstring("property IssueDate")] HRESULT IssueDate([out, retval] DATE* pVal);
2062  [propget, id(11), helpstring("property LastChanged")] HRESULT LastChanged([out, retval] DATE* pVal);
2064 
2065  [propget, id(12), helpstring("property Edition")] HRESULT Edition([out, retval] LONG* pVal);
2067  [propget, id(13), helpstring("property LatestUpdate")] HRESULT LatestUpdate([out, retval] LONG* pVal);
2069  [propget, id(14), helpstring("property PermitExpiryDate")] HRESULT PermitExpiryDate([out, retval] DATE* pVal);
2071  [propget, id(15), helpstring("property PermitIsSubscription")] HRESULT PermitIsSubscription([out, retval] VARIANT_BOOL* pVal);
2073 
2075  [propget, id(16), helpstring("property LeastDetailedDisplayScaleToShow_All")] HRESULT LeastDetailedDisplayScaleToShow_All([out, retval] LONG* pVal);
2077 
2079  [propget, id(17), helpstring("property LeastDetailedDisplayScaleToShow_GroupOne")] HRESULT LeastDetailedDisplayScaleToShow_GroupOne([out, retval] LONG* pVal);
2081 
2084  [propget, id(18), helpstring("property LeastDetailedDisplayScaleToShow_Coverage")] HRESULT LeastDetailedDisplayScaleToShow_Coverage([out, retval] LONG* pVal);
2086  [propget, id(19), helpstring("Empty for most ENC suppliers, useful text from NOAA")] HRESULT LongFileName([out, retval] BSTR* pVal);
2087 };
2088 
2090 [
2091  object,
2092  uuid(cb25f63f-7cb6-11e1-8889-0024e84637be),
2093  dual,
2094  helpstring("IS57DepthPoint Interface"),
2095  nonextensible,
2096  pointer_default(unique),
2097  hidden
2098 ]
2100 {
2102  [propget, id(1), helpstring("Geographical position of sounding")] HRESULT GeoPoint([out, retval] IGeoPoint ** pVal);
2104  [propget, id(2), helpstring("Depth of sounding in metres")] HRESULT Depth([out, retval] DOUBLE* pVal);
2105 };
2106 
2107 
2109 [
2110  object,
2111  uuid(cb25f640-7cb6-11e1-8889-0024e84637be),
2112  dual,
2113  helpstring("IS57DepthPoints Interface"),
2114  nonextensible,
2115  pointer_default(unique),
2116  hidden
2117 ]
2119 {
2120  [propget, id(0), helpstring("property Item")] HRESULT Item([in] VARIANT vtIndex, [out,retval] IS57DepthPoint ** depthPoint);
2121  [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] LONG* pVal);
2122  [propget, id(-4), helpstring("property _NewEnum"), restricted] HRESULT _NewEnum([out, retval] IUnknown** pVal);
2123 };
2124 
2125 
2127 [
2128  object,
2129  uuid(cb25f641-7cb6-11e1-8889-0024e84637be),
2130  dual,
2131  helpstring("IS57Face Interface"),
2132  nonextensible,
2133  pointer_default(unique),
2134  hidden
2135 ]
2136 interface IS57Face : IDispatch
2137 {
2139  [propget, id(1), helpstring("property Points")] HRESULT Points([out, retval] IGeoPoints ** pVal);
2140 };
2141 
2142 
2144 [
2145  object,
2146  uuid(cb25f642-7cb6-11e1-8889-0024e84637be),
2147  dual,
2148  helpstring("IS57Faces Interface"),
2149  nonextensible,
2150  pointer_default(unique),
2151  hidden
2152 ]
2154 {
2155  [propget, id(0), helpstring("property Item")] HRESULT Item([in] VARIANT vtIndex, [out,retval] IS57Face ** face);
2156  [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] LONG* pVal);
2157  [propget, id(-4), helpstring("property _NewEnum"), restricted] HRESULT _NewEnum([out, retval] IUnknown** pVal);
2158 };
2159 
2161 
2385 [
2386  object,
2387  uuid(cb25f643-7cb6-11e1-8889-0024e84637be),
2388  dual,
2389  helpstring("IS57ObjectClass Interface"),
2390  nonextensible,
2391  pointer_default(unique),
2392  hidden
2393 ]
2395 {
2397  [propget, id(1), hidden, helpstring("Product")] HRESULT Product([out, retval] enum S57Product* pVal);
2399  [propget, id(2), helpstring("Acronym")] HRESULT Acronym([out, retval] BSTR* pVal);
2401  [propget, id(3), helpstring("Description")] HRESULT Description([out, retval] BSTR* pVal);
2403  [id(4), helpstring("Construct")] HRESULT Construct([in] BSTR acronym);
2405  [id(5), helpstring("Whether this Object Class is used by the specified product")] HRESULT IsInProduct([in] enum S57Product product, [out, retval] VARIANT_BOOL * result);
2406 
2407 #if !defined DOXYGEN_SHOULD_SKIP_THIS
2408  [id(6), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
2409 #endif
2410 };
2411 
2413 [
2414  object,
2415  uuid(cb25f644-7cb6-11e1-8889-0024e84637be),
2416  dual,
2417  helpstring("IS57ObjectClassCollection Interface"),
2418  nonextensible,
2419  pointer_default(unique),
2420  hidden
2421 ]
2423 {
2424  [propget, id(0), helpstring("property Item")] HRESULT Item([in] VARIANT vtIndex, [out,retval] IS57ObjectClass ** objectClass);
2425  [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] LONG* pVal);
2426  [propget, id(-4), helpstring("property _NewEnum"), restricted] HRESULT _NewEnum([out, retval] IUnknown** pVal);
2427  [id(2), helpstring("method Add")] HRESULT Add([in] IS57ObjectClass * objectClass);
2428  [id(3), helpstring("method Remove")] HRESULT Remove([in] LONG nIndex);
2429  [id(4), helpstring("method Clear")] HRESULT Clear();
2430 
2431 #if !defined DOXYGEN_SHOULD_SKIP_THIS
2432  [id(5), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
2433 #endif
2434 };
2435 
2437 [
2438  object,
2439  uuid(cb25f645-7cb6-11e1-8889-0024e84637be),
2440  dual,
2441  helpstring("IS57FeatureIdentifier Interface"),
2442  nonextensible,
2443  pointer_default(unique),
2444  hidden
2445 ]
2447 {
2449 
2456  [propget, id(1), helpstring("Agency")] HRESULT Agency([out, retval] SHORT* pVal);
2458  [propget, id(2), helpstring("FIDN")] HRESULT FIDN([out, retval] LONG* pVal);
2460  [propget, id(3), helpstring("FIDS")] HRESULT FIDS([out, retval] SHORT* pVal);
2462  [propget, id(4), helpstring("CellIdentifier")] HRESULT CellIdentifier([out, retval] IS57CellIdentifier** pVal);
2464  [id(5), helpstring("Show feature ID and cell ID as string")] HRESULT ToString([out, retval] BSTR* pVal);
2466  [id(6), helpstring("Construction from parts")] HRESULT Construct([in] SHORT Agency, [in] LONG FIDN, [in] SHORT FIDS, [in] IS57CellIdentifier * piCellID);
2468  [id(7), helpstring("Construct from string")] HRESULT FromString([in] BSTR val);
2469 #if !defined DOXYGEN_SHOULD_SKIP_THIS
2470  [id(9), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
2471 #endif
2473  [id(10), helpstring("Construction from parts")] HRESULT ConstructEx([in] SHORT Agency, [in] LONG FIDN, [in] SHORT FIDS, [in] IS57CellIdentifier * piCellID, [in] LONG index);
2475  [propget, id(11), helpstring("Index")] HRESULT Index([out, retval] LONG* pVal);
2477  [id(12), helpstring("Show feature ID, cell ID and index as string")] HRESULT ToStringEx([out, retval] BSTR* pVal);
2478 };
2479 
2481 [
2482  object,
2483  uuid(cb25f646-7cb6-11e1-8889-0024e84637be),
2484  dual,
2485  helpstring("IS57FeatureIdentifiers Interface"),
2486  nonextensible,
2487  pointer_default(unique),
2488  hidden
2489 ]
2491 {
2492  [propget, id(0), helpstring("property Item")] HRESULT Item([in] VARIANT vtIndex, [out,retval] IS57FeatureIdentifier** featureId);
2493  [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] LONG* pVal);
2494  [propget, id(-4), helpstring("property _NewEnum"), restricted] HRESULT _NewEnum([out, retval] IUnknown** pVal);
2495  [id(2), helpstring("method Add")] HRESULT Add([in] IS57FeatureIdentifier * featureId);
2496  [id(3), helpstring("method Remove")] HRESULT Remove([in] LONG nIndex);
2497  [id(4), helpstring("method Clear")] HRESULT Clear();
2498 
2499 #if !defined DOXYGEN_SHOULD_SKIP_THIS
2500  [id(5), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
2501 #endif
2502 };
2503 
2504 
2506 [
2507  object,
2508  uuid(cb25f647-7cb6-11e1-8889-0024e84637be),
2509  dual,
2510  helpstring("IS57FeatureInfo Interface"),
2511  nonextensible,
2512  pointer_default(unique),
2513  hidden
2514 ]
2516 {
2518  [propget, id(1), helpstring("property ObjectClass")] HRESULT ObjectClass([out, retval] IS57ObjectClass ** pVal);
2520  [propget, id(2), helpstring("property FeatureID")] HRESULT FeatureID([out, retval] IS57FeatureIdentifier ** pVal);
2522  [propget, id(3), helpstring("property Attributes")] HRESULT Attributes([out, retval] IS57AttributeValues ** pVal);
2524  [propget, id(4), helpstring("property Slaves")] HRESULT Slaves([out, retval] IS57FeatureIdentifiers ** pVal);
2525 };
2526 
2528 [
2529  object,
2530  uuid(cb25f648-7cb6-11e1-8889-0024e84637be),
2531  dual,
2532  helpstring("IS57FeatureArea Interface"),
2533  nonextensible,
2534  pointer_default(unique),
2535  hidden
2536 ]
2538 {
2540  [propget, id(1), helpstring("property FeatureInfo")] HRESULT FeatureInfo([out, retval] IS57FeatureInfo ** pVal);
2542  [propget, id(2), helpstring("property Faces")] HRESULT Faces([out, retval] IS57Faces ** pVal);
2543 };
2544 
2546 [
2547  object,
2548  uuid(cb25f649-7cb6-11e1-8889-0024e84637be),
2549  dual,
2550  helpstring("IS57FeatureLine Interface"),
2551  nonextensible,
2552  pointer_default(unique),
2553  hidden
2554 ]
2556 {
2558  [propget, id(1), helpstring("property FeatureInfo")] HRESULT FeatureInfo([out, retval] IS57FeatureInfo ** pVal);
2560 
2562  [propget, id(2), helpstring("property Points")] HRESULT Points([out, retval] IGeoPoints ** pVal);
2563 };
2564 
2565 
2567 [
2568  object,
2569  uuid(cb25f64a-7cb6-11e1-8889-0024e84637be),
2570  dual,
2571  helpstring("IS57FeaturePoint Interface"),
2572  nonextensible,
2573  pointer_default(unique),
2574  hidden
2575 ]
2577 {
2579  [propget, id(1), helpstring("property FeatureInfo")] HRESULT FeatureInfo([out, retval] IS57FeatureInfo ** pVal);
2581  [propget, id(2), helpstring("property Point")] HRESULT Point([out, retval] IGeoPoint ** pVal);
2582 };
2583 
2584 
2586 [
2587  object,
2588  uuid(cb25f64b-7cb6-11e1-8889-0024e84637be),
2589  dual,
2590  helpstring("IS57FeatureSounding Interface"),
2591  nonextensible,
2592  pointer_default(unique),
2593  hidden
2594 ]
2596 {
2598  [propget, id(1), helpstring("property FeatureInfo")] HRESULT FeatureInfo([out, retval] IS57FeatureInfo ** pVal);
2600  [propget, id(2), helpstring("property Depths")] HRESULT Depths([out, retval] IS57DepthPoints ** pVal);
2601 };
2602 
2603 
2604 
2605 
2606 interface IS57DrawnFeatures; // forward declaration
2607 
2609 [
2610  object,
2611  uuid(cb25f64c-7cb6-11e1-8889-0024e84637be),
2612  dual,
2613  helpstring("IS57DrawnFeature Interface"),
2614  nonextensible,
2615  pointer_default(unique),
2616  hidden
2617 ]
2619 {
2621 
2623  [propget, id(1), helpstring("property FeatureID")] HRESULT FeatureID([out, retval] IS57FeatureIdentifier ** pVal);
2625  [propget, id(2), helpstring("property Visible")] HRESULT Visible([out, retval] VARIANT_BOOL* pVal);
2627  [propget, id(3), helpstring("property DisplayPriorityPoint")] HRESULT DisplayPriorityPoint([out, retval] LONG* pVal);
2629  [propget, id(5), helpstring("property DisplayPriorityLine")] HRESULT DisplayPriorityLine([out, retval] LONG* pVal);
2631  [propget, id(6), helpstring("property DisplayPriorityArea")] HRESULT DisplayPriorityArea([out, retval] LONG* pVal);
2633  [propget, id(4), helpstring("property Slaves")] HRESULT Slaves([out, retval] IS57DrawnFeatures ** pVal);
2634 };
2635 
2637 [
2638  object,
2639  uuid(cb25f64d-7cb6-11e1-8889-0024e84637be),
2640  dual,
2641  helpstring("IS57DrawnFeatures Interface"),
2642  nonextensible,
2643  pointer_default(unique),
2644  hidden
2645 ]
2647 {
2648  [propget, id(0), helpstring("property Item")] HRESULT Item([in] VARIANT vtIndex, [out,retval] IS57DrawnFeature ** drawnFeature);
2649  [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] LONG* pVal);
2650  [propget, id(-4), helpstring("property _NewEnum"), restricted] HRESULT _NewEnum([out, retval] IUnknown** pVal);
2651 };
2652 
2653 
2654 
2656 
2872 [
2873  object,
2874  uuid(cb25f64e-7cb6-11e1-8889-0024e84637be),
2875  dual,
2876  helpstring("IS57DisplaySettings Interface"),
2877  nonextensible,
2878  pointer_default(unique),
2879  hidden
2880 ]
2882 {
2884 
2888  [propget, id(1), helpstring("property TwoColourShadingForDepthZones")] HRESULT TwoColourShadingForDepthZones([out, retval] VARIANT_BOOL* pVal);
2890 
2894  [propput, id(1), helpstring("property TwoColourShadingForDepthZones")] HRESULT TwoColourShadingForDepthZones([in] VARIANT_BOOL newVal);
2896  [propget, id(2), helpstring("property SymbolisedAreaBoundaries")] HRESULT SymbolisedAreaBoundaries([out, retval] VARIANT_BOOL* pVal);
2898  [propput, id(2), helpstring("property SymbolisedAreaBoundaries")] HRESULT SymbolisedAreaBoundaries([in] VARIANT_BOOL newVal);
2900  [propget, id(3), helpstring("property SimplifiedSymbols")] HRESULT SimplifiedSymbols([out, retval] VARIANT_BOOL* pVal);
2902  [propput, id(3), helpstring("property SimplifiedSymbols")] HRESULT SimplifiedSymbols([in] VARIANT_BOOL newVal);
2904  [propget, id(4), helpstring("property FullLengthLightSectorLines")] HRESULT FullLengthLightSectorLines([out, retval] VARIANT_BOOL* pVal);
2906  [propput, id(4), helpstring("property FullLengthLightSectorLines")] HRESULT FullLengthLightSectorLines([in] VARIANT_BOOL newVal);
2908  [propget, id(6), helpstring("property OverscaleIndicator")] HRESULT OverscaleIndicator([out, retval] VARIANT_BOOL* pVal);
2910  [propput, id(6), helpstring("property OverscaleIndicator")] HRESULT OverscaleIndicator([in] VARIANT_BOOL newVal);
2912  [propget, id(7), helpstring("property Date")] HRESULT Date([out, retval] DATE* pVal);
2914  [propput, id(7), helpstring("property Date")] HRESULT Date([in] DATE newVal);
2916  [propget, id(8), helpstring("property SafetyDepthMetres")] HRESULT SafetyDepthMetres([out, retval] DOUBLE* pVal);
2918  [propput, id(8), helpstring("property SafetyDepthMetres")] HRESULT SafetyDepthMetres([in] DOUBLE newVal);
2920  [propget, id(9), helpstring("property SafetyContourMetres")] HRESULT SafetyContourMetres([out, retval] DOUBLE* pVal);
2922  [propput, id(9), helpstring("property SafetyContourMetres")] HRESULT SafetyContourMetres([in] DOUBLE newVal);
2924  [propget, id(10), helpstring("property ShallowContourMetres")] HRESULT ShallowContourMetres([out, retval] DOUBLE* pVal);
2926  [propput, id(10), helpstring("property ShallowContourMetres")] HRESULT ShallowContourMetres([in] DOUBLE newVal);
2928  [propget, id(11), helpstring("property DeepContourMetres")] HRESULT DeepContourMetres([out, retval] DOUBLE* pVal);
2930  [propput, id(11), helpstring("property DeepContourMetres")] HRESULT DeepContourMetres([in] DOUBLE newVal);
2932  [propget, id(12), helpstring("property ViewingGroup")] HRESULT ViewingGroup([in] LONG ID, [out, retval] VARIANT_BOOL* pVal);
2934  [propput, id(12), helpstring("property ViewingGroup")] HRESULT ViewingGroup([in] LONG ID, [in] VARIANT_BOOL newVal);
2936  [propget, id(13), helpstring("property NumViewingGroups")] HRESULT NumViewingGroups([out, retval] LONG* pVal);
2938  [propget, id(14), helpstring("property TextGroup")] HRESULT TextGroup([in] LONG ID, [out, retval] VARIANT_BOOL* pVal);
2940  [propput, id(14), helpstring("property TextGroup")] HRESULT TextGroup([in] LONG ID, [in] VARIANT_BOOL newVal);
2942  [propget, id(15), helpstring("property NumTextGroups")] HRESULT NumTextGroups([out, retval] LONG* pVal);
2944  [id(16), helpstring("method SetViewingGroupRange")] HRESULT SetViewingGroupRange([in] LONG Start, [in] LONG End, [in] VARIANT_BOOL bShow);
2946  [propget, id(17), helpstring("property Usages")] HRESULT Usages([out, retval] IS57ProductAndUsages ** pVal);
2948  [propput, id(17), helpstring("property Usages")] HRESULT Usages([in] IS57ProductAndUsages * ProductAndUsages);
2949 
2951 
2954  [propget, id(18), helpstring("property CellFilter")] HRESULT CellFilter([out, retval] IS57CellIdentifiers ** pVal);
2955 
2957 
2960  [propput, id(18), helpstring("property CellFilter")] HRESULT CellFilter([in] IS57CellIdentifiers * newVal);
2961 
2963 
2965  [propget, id(19), helpstring("property CellFilterInclusive")] HRESULT CellFilterInclusive([out, retval] VARIANT_BOOL* pVal);
2967 
2972  [propput, id(19), helpstring("property CellFilterInclusive")] HRESULT CellFilterInclusive([in] VARIANT_BOOL newVal);
2974 
2979  [propget, id(20), helpstring("property FeatureFilter")] HRESULT FeatureFilter([out, retval] IS57FeatureIdentifiers ** pVal);
2981 
2986  [propput, id(20), helpstring("property FeatureFilter")] HRESULT FeatureFilter([in] IS57FeatureIdentifiers * newVal);
2988 
2993  [propget, id(21), helpstring("property FeatureFilterInclusive")] HRESULT FeatureFilterInclusive([out, retval] VARIANT_BOOL* pVal);
2995 
3000  [propput, id(21), helpstring("property FeatureFilterInclusive")] HRESULT FeatureFilterInclusive([in] VARIANT_BOOL newVal);
3001 
3003 
3004  [propget, id(22), helpstring("property Number of Depth Zones")] HRESULT NumDepthZones([out, retval] LONG* pVal);
3006 
3007  [propput, id(22), helpstring("property Number of Depth Zones")] HRESULT NumDepthZones([in] LONG newVal);
3008 
3010  [propget, id(23), helpstring("property VeryShallowContourMetres")] HRESULT VeryShallowContourMetres([out, retval] DOUBLE* pVal);
3012  [propput, id(23), helpstring("property VeryShallowContourMetres")] HRESULT VeryShallowContourMetres([in] DOUBLE newVal);
3013 
3015  [propget, id(24), helpstring("property SlightlyShallowContourMetres")] HRESULT SlightlyShallowContourMetres([out, retval] DOUBLE* pVal);
3017  [propput, id(24), helpstring("property SlightlyShallowContourMetres")] HRESULT SlightlyShallowContourMetres([in] DOUBLE newVal);
3018 
3020  [propget, id(25), helpstring("property SlightlyDeepContourMetres")] HRESULT SlightlyDeepContourMetres([out, retval] DOUBLE* pVal);
3022  [propput, id(25), helpstring("property SlightlyDeepContourMetres")] HRESULT SlightlyDeepContourMetres([in] DOUBLE newVal);
3023 
3025  [propget, id(26), helpstring("property VeryDeepContourMetres")] HRESULT VeryDeepContourMetres([out, retval] DOUBLE* pVal);
3027  [propput, id(26), helpstring("property VeryDeepContourMetres")] HRESULT VeryDeepContourMetres([in] DOUBLE newVal);
3028 
3029 
3031  [propget, id(27), helpstring("property Depth Display Units")] HRESULT DepthDisplayUnits([out, retval] enum S57DepthDisplayUnits* pVal);
3033  [propput, id(27), helpstring("property Depth Display Units")] HRESULT DepthDisplayUnits([in] enum S57DepthDisplayUnits newVal);
3034 
3036  [id(28), helpstring("Set the SCAMIN value for an object class")] HRESULT SetScaminForObjectClass([in] IS57ObjectClass * cr, [in] LONG scamin);
3038  [id(29), helpstring("Obtain the SCAMIN value for an object class")] HRESULT ScaminForObjectClass([in] IS57ObjectClass * cr, [out, retval] LONG * scamin);
3039 
3041  [propget, id(30), helpstring("property CompilationScaleZoomFactor")] HRESULT CompilationScaleZoomFactor([out, retval] LONG* pVal);
3043  [propput, id(30), helpstring("property CompilationScaleZoomFactor")] HRESULT CompilationScaleZoomFactor([in] LONG nVal);
3044 
3046  [id(31), helpstring("Get an identical copy of this object")] HRESULT Copy([out,retval] IS57DisplaySettings** pVal);
3047 
3049  [propget, id(32), helpstring("Affects size of text. Range 0.4 to 4. Default 1.")] HRESULT FontScaleFactor([out, retval] DOUBLE* pVal);
3051  [propput, id(32), helpstring("Affects size of text. Range 0.4 to 4. Default 1.")] HRESULT FontScaleFactor([in] DOUBLE nVal);
3052 
3054 
3065  [propget, id(33), helpstring("non-standard ENC display improvements level")] HRESULT ImprovementsLevel([out, retval] enum S57DisplayImprovements * level);
3067 
3078  [propput, id(33), helpstring("non-standard ENC display improvements level")] HRESULT ImprovementsLevel([in] enum S57DisplayImprovements level);
3079 
3081  [propget, id(34), helpstring("XML string representing settings")] HRESULT XML([out, retval] BSTR* xml);
3083  [propput, id(34), helpstring("XML string representing settings")] HRESULT XML([in] BSTR xml);
3085  [id(35), helpstring("Merge XML settings into existing settings")] HRESULT MergeXML([in] BSTR xml);
3086 
3088  [propget, id(36), helpstring("property IgnoreScamin")] HRESULT IgnoreScamin([out, retval] VARIANT_BOOL* pVal);
3090  [propput, id(36), helpstring("property IgnoreScamin")] HRESULT IgnoreScamin([in] VARIANT_BOOL newVal);
3091 
3093  [propget, id(37), helpstring("property DeclutterOverlappingCells")] HRESULT DeclutterOverlappingCells([out, retval] VARIANT_BOOL* pVal);
3095  [propput, id(37), helpstring("property DeclutterOverlappingCells")] HRESULT DeclutterOverlappingCells([in] VARIANT_BOOL newVal);
3097  [propget, id(38), helpstring("property ShowOverlappingCellAreas")] HRESULT ShowOverlappingCellAreas([out, retval] VARIANT_BOOL* pVal);
3099  [propput, id(38), helpstring("property ShowOverlappingCellAreas")] HRESULT ShowOverlappingCellAreas([in] VARIANT_BOOL newVal);
3100 
3102  [propget, id(39), helpstring("property HighlightDateDependent")] HRESULT HighlightDateDependent([out, retval] VARIANT_BOOL* pVal);
3104  [propput, id(39), helpstring("property HighlightDateDependent")] HRESULT HighlightDateDependent([in] VARIANT_BOOL newVal);
3105 
3107  [propget, id(40), helpstring("property DateMode")] HRESULT DateMode([out, retval] enum S57DateMode * dateMode);
3109  [propput, id(40), helpstring("property DateMode")] HRESULT DateMode([in] enum S57DateMode dateMode);
3110 
3111 #if !defined DOXYGEN_SHOULD_SKIP_THIS
3112  [id(41), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
3113 #endif
3114 
3116  [propget, id(42), helpstring("property ShowIsolatedDangersInShallowWater")] HRESULT ShowIsolatedDangersInShallowWater([out, retval] VARIANT_BOOL* pVal);
3118  [propput, id(42), helpstring("property ShowIsolatedDangersInShallowWater")] HRESULT ShowIsolatedDangersInShallowWater([in] VARIANT_BOOL newVal);
3119 };
3120 
3123 [
3124  object,
3125  uuid(cb25f684-7cb6-11e1-8889-0024e84637be),
3126  dual,
3127  helpstring("IWVSDisplaySettings Interface"),
3128  nonextensible,
3129  pointer_default(unique),
3130  hidden
3131 ]
3133 {
3135  [propget, id(1), helpstring("Fill colour of the land")] HRESULT LandColour([out, retval] DWORD * val);
3137  [propput, id(1), helpstring("Fill colour of the land")] HRESULT LandColour([in] DWORD val);
3139  [propget, id(2), helpstring("Outline colour of the land")] HRESULT LandOutlineColour([out, retval] DWORD * val);
3141  [propput, id(2), helpstring("Outline colour of the land")] HRESULT LandOutlineColour([in] DWORD val);
3143  [propget, id(3), helpstring("Colour of the lakes")] HRESULT LakeColour([out, retval] DWORD * val);
3145  [propput, id(3), helpstring("Colour of the lakes")] HRESULT LakeColour([in] DWORD val);
3147  [propget, id(4), helpstring("Colour of the borders")] HRESULT BorderColour([out, retval] DWORD * val);
3149  [propput, id(4), helpstring("Colour of the borders")] HRESULT BorderColour([in] DWORD val);
3151  [propget, id(5), helpstring("Colour of the rivers")] HRESULT RiverColour([out, retval] DWORD * val);
3153  [propput, id(5), helpstring("Colour of the rivers")] HRESULT RiverColour([in] DWORD val);
3155  [propget, id(6), helpstring("Land outline width")] HRESULT LandOutlineWidth([out, retval] FLOAT * val);
3157  [propput, id(6), helpstring("Land outline width")] HRESULT LandOutlineWidth([in] FLOAT val);
3159  [propget, id(7), helpstring("Border width")] HRESULT BorderWidth([out, retval] FLOAT * val);
3161  [propput, id(7), helpstring("Border width")] HRESULT BorderWidth([in] FLOAT val);
3163  [propget, id(8), helpstring("River width")] HRESULT RiverWidth([out, retval] FLOAT * val);
3165  [propput, id(8), helpstring("River width")] HRESULT RiverWidth([in] FLOAT val);
3166 
3168  [propget, id(9), helpstring("Show or hide")] HRESULT Show([out, retval] VARIANT_BOOL * val);
3170  [propput, id(9), helpstring("Show or hide")] HRESULT Show([in] VARIANT_BOOL val);
3171 
3173  [id(10), helpstring("Get an identical copy of this object")] HRESULT Copy([out,retval] IWVSDisplaySettings** pVal);
3174 
3176  [propget, id(11), helpstring("Outline colour of the lake")] HRESULT LakeOutlineColour([out, retval] DWORD * val);
3178  [propput, id(11), helpstring("Outline colour of the lake")] HRESULT LakeOutlineColour([in] DWORD val);
3180  [propget, id(12), helpstring("Lake outline width")] HRESULT LakeOutlineWidth([out, retval] FLOAT * val);
3182  [propput, id(12), helpstring("Lake outline width")] HRESULT LakeOutlineWidth([in] FLOAT val);
3183 
3185  [propget, id(13), helpstring("Fill colour of Antarctica")] HRESULT AntarcticaColour([out, retval] DWORD * val);
3187  [propput, id(13), helpstring("Fill colour of Antarctica")] HRESULT AntarcticaColour([in] DWORD val);
3189  [propget, id(14), helpstring("Outline colour of Antarctica")] HRESULT AntarcticaOutlineColour([out, retval] DWORD * val);
3191  [propput, id(14), helpstring("Outline colour of Antarctica")] HRESULT AntarcticaOutlineColour([in] DWORD val);
3192 
3193 #if !defined DOXYGEN_SHOULD_SKIP_THIS
3194  [id(15), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
3195 #endif
3196 };
3197 
3200 [
3201  object,
3202  uuid(cb25f688-7cb6-11e1-8889-0024e84637be),
3203  dual,
3204  helpstring("IGridPen Interface"),
3205  nonextensible,
3206  pointer_default(unique),
3207  hidden
3208 ]
3209 interface IGridPen : IDispatch
3210 {
3212  [propget, id(1), helpstring("Grid line colour")] HRESULT Colour([out, retval] DWORD * val);
3214  [propput, id(1), helpstring("Grid line colour")] HRESULT Colour([in] DWORD val);
3216  [propget, id(2), helpstring("Grid line width")] HRESULT Width([out, retval] FLOAT * val);
3218  [propput, id(2), helpstring("Grid line width")] HRESULT Width([in] FLOAT val);
3220  [propget, id(3), helpstring("Grid line style")] HRESULT Style([out, retval] enum PenStyle * val);
3222  [propput, id(3), helpstring("Grid line style")] HRESULT Style([in] enum PenStyle val);
3224  [propget, id(4), helpstring("Show or hide")] HRESULT Show([out, retval] VARIANT_BOOL * val);
3226  [propput, id(4), helpstring("Show or hide")] HRESULT Show([in] VARIANT_BOOL val);
3228  [id(5), helpstring("Get an identical copy of this object")] HRESULT Copy([out,retval] IGridPen** pVal);
3229 
3230 #if !defined DOXYGEN_SHOULD_SKIP_THIS
3231  [id(6), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
3232 #endif
3233 };
3234 
3236 
3238 [
3239  object,
3240  uuid(cb25f686-7cb6-11e1-8889-0024e84637be),
3241  dual,
3242  helpstring("IGridDisplaySettings Interface"),
3243  nonextensible,
3244  pointer_default(unique),
3245  hidden
3246 ]
3248 {
3250  [propget, id(1), helpstring("Get primary grid pen")] HRESULT GridPen1([out, retval] IGridPen ** val);
3252  [propput, id(1), helpstring("Set primary grid pen")] HRESULT GridPen1([in] IGridPen * val);
3254  [propget, id(2), helpstring("Get secondary grid pen")] HRESULT GridPen2([out, retval] IGridPen ** val);
3256  [propput, id(2), helpstring("Set secondary grid pen")] HRESULT GridPen2([in] IGridPen * val);
3258  [propget, id(3), helpstring("Get tertiary grid pen")] HRESULT GridPen3([out, retval] IGridPen ** val);
3260  [propput, id(3), helpstring("Set tertiary grid pen")] HRESULT GridPen3([in] IGridPen * val);
3262  [propget, id(4), helpstring("Show or hide the grid")] HRESULT Show([out, retval] VARIANT_BOOL * val);
3264  [propput, id(4), helpstring("Show or hide the grid")] HRESULT Show([in] VARIANT_BOOL val);
3266  [propget, id(5), helpstring("Label colour")] HRESULT LabelColour([out, retval] DWORD * val);
3268  [propput, id(5), helpstring("Label colour")] HRESULT LabelColour([in] DWORD val);
3270  [propget, id(6), helpstring("Show or hide labels")] HRESULT ShowLabels([out, retval] VARIANT_BOOL * val);
3272  [propput, id(6), helpstring("Show or hide labels")] HRESULT ShowLabels([in] VARIANT_BOOL val);
3274  [id(7), helpstring("Get an identical copy of this object")] HRESULT Copy([out,retval] IGridDisplaySettings** pVal);
3275 
3276 #if !defined DOXYGEN_SHOULD_SKIP_THIS
3277  [id(8), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
3278 #endif
3279 };
3280 
3282 
3283 
3285 
3286 [
3287  object,
3288  uuid(cb25f64f-7cb6-11e1-8889-0024e84637be),
3289  dual,
3290  helpstring("IS57ManagerInitialisationData Interface"),
3291  nonextensible,
3292  pointer_default(unique),
3293  hidden
3294 ]
3296 {
3298  [propget, id(1), helpstring("Senc path")] HRESULT SencPath([out, retval] BSTR * val);
3300  [propput, id(1), helpstring("Senc path")] HRESULT SencPath([in] BSTR val);
3302 
3303  [propget, id(2), helpstring("Presentation Library file name and extension")] HRESULT PresentationLibraryFileName([out, retval] BSTR * val);
3305 
3306  [propput, id(2), helpstring("Presentation Library file name and extension")] HRESULT PresentationLibraryFileName([in] BSTR val);
3308 
3309  [propget, id(3), helpstring("Colours and RGB values of those colours")] HRESULT ColourValues([out, retval] IS57ColourValues ** pVal);
3311 
3312  [propput, id(3), helpstring("Colours and RGB values of those colours")] HRESULT ColourValues([in] IS57ColourValues * pVal);
3314  [propget, id(4), helpstring("Read only SENCs will not be watched for changes and will be fully initialized to draw charts as soon as OpenSenc2 returns.")] HRESULT ReadOnly([out, retval] VARIANT_BOOL* pVal);
3316  [propput, id(4), helpstring("Read only SENCs will not be watched for changes and will be fully initialized to draw charts as soon as OpenSenc2 returns.")] HRESULT ReadOnly([in] VARIANT_BOOL pVal);
3318  [propget, id(5), helpstring("WVS path")] HRESULT WVSPath([out, retval] BSTR * val);
3320  [propput, id(5), helpstring("WVS path")] HRESULT WVSPath([in] BSTR val);
3321 
3322 #if !defined DOXYGEN_SHOULD_SKIP_THIS
3323  [id(6), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
3324 #endif
3325 };
3326 
3327 
3329 [
3330  object,
3331  uuid(cb25f650-7cb6-11e1-8889-0024e84637be),
3332  dual,
3333  helpstring("IS57Manager Interface"),
3334  nonextensible,
3335  pointer_default(unique),
3336  hidden
3337 ]
3339 {
3341  [id(1), helpstring("Associate this manager with a specified folder")] HRESULT OpenSenc([in] ILibrary * EncXLibrary, [in] BSTR sSencFolder);
3343  [id(3), helpstring("Dissociate from the current folder")] HRESULT CloseSenc(void);
3345 
3347  [propget, id(4), helpstring("Obtain a collection of the cells in the Senc that cannot be used")] HRESULT UnusedCells([out, retval] IS57CellIdentifiers ** pVal);
3348 
3349  // removed id(5) Providers property
3350 
3352 
3354  [propget, id(6), helpstring("Obtain the collection of S-57 products currently present in this SENC")] HRESULT InstalledProducts([out, retval] IS57ProductAndUsages ** pVal);
3355 
3357 
3360  [id(7), helpstring("Obtain the collection of all the cells in this SENC")] HRESULT Cells([in] IS57ProductAndUsages * ProductAndUsages, [in] IGeoRect * cr, [out, retval] IS57CellIdentifiers ** pVal);
3362  [id(8), helpstring("Details of a cell.")] HRESULT CellInfo([in] IS57CellIdentifier * piCellID, [out, retval] IS57CellInfo ** pVal);
3364  [id(9), helpstring("ObjectClass (a.k.a. Type) of a feature")] HRESULT ObjectClass([in] IS57FeatureIdentifier * fid, [out, retval] IS57ObjectClass ** pVal);
3366  [id(10), helpstring("Geometry of a feature")] HRESULT Geometry([in] IS57FeatureIdentifier * pifid, [out, retval] enum S57FeatureGeometry* pVal);
3368 
3369  [id(11), helpstring("Details of any Feature")] HRESULT FeatureInfo([in] IS57FeatureIdentifier * pifid, [out,retval] IS57FeatureInfo ** pVal);
3371 
3372  [id(12), helpstring("Details of a point feature")] HRESULT FeatureInfoPoint([in] IS57FeatureIdentifier * pifid, [out,retval] IS57FeaturePoint ** pVal);
3374 
3375  [id(13), helpstring("Details of a line feature")] HRESULT FeatureInfoLine([in] IS57FeatureIdentifier * pifid, [out,retval] IS57FeatureLine ** pVal);
3377 
3378  [id(14), helpstring("Details of an area feature")] HRESULT FeatureInfoArea([in] IS57FeatureIdentifier * pifid, [out,retval] IS57FeatureArea ** pVal);
3380 
3384  [id(15), helpstring("method FeatureInfoSounding")] HRESULT FeatureInfoSounding([in] IS57FeatureIdentifier * pifid, [out,retval] IS57FeatureSounding ** pVal);
3386  [id(16), helpstring("Invoke the CherSoft Windows application that installs and updates ENC cells in the SENC")] HRESULT RunInstallApplication([in] BSTR pathToApplication);
3387 
3389  [id(17), helpstring("Associate this manager with a specified folder")] HRESULT OpenSenc2([in] ILibrary * EncXLibrary, [in] IS57ManagerInitialisationData * p);
3390 
3392  [id(18), helpstring("Associate this manager with a specified SENC folder and WVS")] HRESULT OpenSencAndWVS([in] ILibrary * EncXLibrary, [in] BSTR sSencFolder, [in] BSTR sWVSFileOrFolder);
3393 
3395  [id(23), helpstring("The ENC user permit needed to buy commercial ENC chart data"), restricted] HRESULT UserPermit([out, retval] BSTR* pUserPermit);
3396 
3398  [id(24), helpstring("method IsValidSencFolder")] HRESULT IsValidSencFolder([in] BSTR sPath, [out, retval] VARIANT_BOOL * bRes);
3400  [id(25), helpstring("method CreateSencFolder")] HRESULT CreateSencFolder([in] BSTR sPath);
3401 
3402 #if !defined DOXYGEN_SHOULD_SKIP_THIS
3403  [id(28), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
3404 #endif
3405 };
3406 
3408 [
3409  object,
3410  uuid(cb25f651-7cb6-11e1-8889-0024e84637be),
3411  dual,
3412  helpstring("IS57FeatureQuery Interface"),
3413  nonextensible,
3414  pointer_default(unique),
3415  hidden
3416 ]
3418 {
3420  [id(1), helpstring("method Construct")] HRESULT Construct([in] IS57Manager * manager, [in] IS57CellIdentifier * cellid);
3422  [id(2), helpstring("method SetAreaFilter")] HRESULT SetAreaFilter([in] IGeoRect * rect);
3424 
3428  [id(3), helpstring("method SetFeatureFilter")] HRESULT SetFeatureFilter([in] IS57FeatureIdentifiers * featureIds, [in] VARIANT_BOOL bInclude);
3430 
3434  [id(4), helpstring("method SetObjectFilter")] HRESULT SetObjectFilter([in] IS57ObjectClassCollection * ObjectClassCollection, [in] VARIANT_BOOL bInclude);
3436  [propget, id(5), helpstring("property Results")] HRESULT Results([out, retval] IS57FeatureIdentifiers ** pVal);
3437 };
3438 
3440 [
3441  object,
3442  uuid(cb25f652-7cb6-11e1-8889-0024e84637be),
3443  dual,
3444  helpstring("IS57CatalogueObserver Interface"),
3445  nonextensible,
3446  pointer_default(unique),
3447  hidden
3448 ]
3450 {
3452  [id(1), helpstring("method Register")] HRESULT Register([in] IS57Manager * s57Mgr);
3454  [id(2), helpstring("method Unregister")] HRESULT Unregister(void);
3455 
3456 };
3457 
3459 
3461 
3462 [
3463  object,
3464  uuid(cb25f69a-7cb6-11e1-8889-0024e84637be),
3465  dual,
3466  nonextensible,
3467  pointer_default(unique)
3468 ]
3470 {
3471  [id(1)] HRESULT Add([in] enum VPFFeatureType t);
3472  [id(2)] HRESULT Remove([in] enum VPFFeatureType t);
3473  [id(3)] HRESULT Contains([in] enum VPFFeatureType t, [out, retval] VARIANT_BOOL * pVal);
3474 #if !defined DOXYGEN_SHOULD_SKIP_THIS
3475  [id(4), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
3476 #endif
3477 };
3478 
3480 
3481 [
3482  object,
3483  uuid(cb25f6a0-7cb6-11e1-8889-0024e84637be),
3484  dual,
3485  nonextensible,
3486  pointer_default(unique)
3487 ]
3489 {
3490  [propget, id(1), helpstring("property Name")] HRESULT Name([out, retval] BSTR* pVal);
3491  [propget, id(2), helpstring("property Description")] HRESULT Description([out, retval] BSTR* pVal);
3492  [propget, id(3), helpstring("property Use")] HRESULT Use([out, retval] VARIANT_BOOL* pVal);
3493  [propput, id(3), helpstring("property Use")] HRESULT Use([in] VARIANT_BOOL val);
3494  [propget, id(4), helpstring("property TopologicalLevel")] HRESULT TopologicalLevel([out, retval] LONG* pVal);
3495 };
3496 
3498 
3499 [
3500  object,
3501  uuid(cb25f69e-7cb6-11e1-8889-0024e84637be),
3502  dual,
3503  nonextensible,
3504  pointer_default(unique)
3505 ]
3507 {
3508  [propget, id(0), helpstring("property Item")] HRESULT Item([in] VARIANT vtIndex, [out, retval] IVPFIteratorGuide_CoverageUse ** pp);
3509  [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] LONG* pVal);
3510  [propget, id(2), helpstring("property Name")] HRESULT Name([out, retval] BSTR* pVal);
3511  [propget, id(-4), helpstring("property _NewEnum"), restricted] HRESULT _NewEnum([out, retval] IUnknown** pVal);
3512  [propget, id(3), helpstring("property Use")] HRESULT Use([out, retval] VARIANT_BOOL* pVal);
3513  [propput, id(3), helpstring("property Use")] HRESULT Use([in] VARIANT_BOOL val);
3515  [propget, id(4), helpstring("property Extent")] HRESULT Extent([out, retval] IGeoRect ** pVal);
3516 };
3517 
3519 
3520 [
3521  object,
3522  uuid(cb25f69c-7cb6-11e1-8889-0024e84637be),
3523  dual,
3524  nonextensible,
3525  pointer_default(unique)
3526 ]
3528 {
3529  [propget, id(0), helpstring("property Item")] HRESULT Item([in] VARIANT vtIndex, [out, retval] IVPFIteratorGuide_LibraryUse ** pp);
3530  [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] LONG* pVal);
3531  [propget, id(2), helpstring("property Name")] HRESULT Name([out, retval] BSTR* pVal);
3532  [propget, id(-4), helpstring("property _NewEnum"), restricted] HRESULT _NewEnum([out, retval] IUnknown** pVal);
3533  [propget, id(3), helpstring("property Use")] HRESULT Use([out, retval] VARIANT_BOOL* pVal);
3534  [propput, id(3), helpstring("property Use")] HRESULT Use([in] VARIANT_BOOL val);
3535 };
3536 
3538 
3539 [
3540  object,
3541  uuid(cb25f696-7cb6-11e1-8889-0024e84637be),
3542  dual,
3543  nonextensible,
3544  pointer_default(unique)
3545 ]
3547 {
3548  [propget, id(0), helpstring("property Item")] HRESULT Item([in] VARIANT vtIndex, [out, retval] IVPFIteratorGuide_DatabaseUse ** pp);
3549  [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] LONG* pVal);
3550  [propget, id(-4), helpstring("property _NewEnum"), restricted] HRESULT _NewEnum([out, retval] IUnknown** pVal);
3551 #if !defined DOXYGEN_SHOULD_SKIP_THIS
3552  [id(2), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
3553 #endif
3554 };
3555 
3557 
3558 [
3559  object,
3560  uuid(cb25f694-7cb6-11e1-8889-0024e84637be),
3561  dual,
3562  nonextensible,
3563  pointer_default(unique)
3564 ]
3566 {
3568 
3571  [propget, id(1), helpstring("property TwoColourShadingForDepthZones")] HRESULT TwoColourShadingForDepthZones([out, retval] VARIANT_BOOL* pVal);
3573 
3576  [propput, id(1), helpstring("property TwoColourShadingForDepthZones")] HRESULT TwoColourShadingForDepthZones([in] VARIANT_BOOL newVal);
3577 
3579  [propget, id(2), helpstring("property ShallowPattern")] HRESULT ShallowPattern([out, retval] VARIANT_BOOL* pVal);
3581  [propput, id(2), helpstring("property ShallowPattern")] HRESULT ShallowPattern([in] VARIANT_BOOL newVal);
3582 
3584  [propget, id(3), helpstring("property SimplifiedSymbols")] HRESULT SimplifiedSymbols([out, retval] VARIANT_BOOL* pVal);
3586  [propput, id(3), helpstring("property SimplifiedSymbols")] HRESULT SimplifiedSymbols([in] VARIANT_BOOL newVal);
3587 
3588 
3590  [propget, id(9), helpstring("property SafetyContourMetres")] HRESULT SafetyContourMetres([out, retval] DOUBLE* pVal);
3592  [propput, id(9), helpstring("property SafetyContourMetres")] HRESULT SafetyContourMetres([in] DOUBLE newVal);
3594  [propget, id(10), helpstring("property ShallowContourMetres")] HRESULT ShallowContourMetres([out, retval] DOUBLE* pVal);
3596  [propput, id(10), helpstring("property ShallowContourMetres")] HRESULT ShallowContourMetres([in] DOUBLE newVal);
3598  [propget, id(11), helpstring("property DeepContourMetres")] HRESULT DeepContourMetres([out, retval] DOUBLE* pVal);
3600  [propput, id(11), helpstring("property DeepContourMetres")] HRESULT DeepContourMetres([in] DOUBLE newVal);
3601 
3603  [propget, id(30), helpstring("property CompilationScaleZoomFactor")] HRESULT CompilationScaleZoomFactor([out, retval] DOUBLE* pVal);
3605  [propput, id(30), helpstring("property CompilationScaleZoomFactor")] HRESULT CompilationScaleZoomFactor([in] DOUBLE nVal);
3606 
3608  [id(31), helpstring("Get an identical copy of this object")] HRESULT Copy([out, retval] IVPFDisplaySettings** pVal);
3609 
3611  [propget, id(32), helpstring("The types of features to draw")] HRESULT FeatureSet([out, retval] IVPFFeatureSet ** pVal);
3613  [propput, id(32), helpstring("The types of features to draw")] HRESULT FeatureSet([in] IVPFFeatureSet * newVal);
3614 
3615 #if !defined DOXYGEN_SHOULD_SKIP_THIS
3616  [id(41), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
3617 #endif
3618 };
3619 
3621 
3622 [
3623  object,
3624  uuid(cb25f692-7cb6-11e1-8889-0024e84637be),
3625  dual,
3626  nonextensible,
3627  pointer_default(unique)
3628 ]
3630 {
3632  [id(1), helpstring("Associate this manager with a specified folder")] HRESULT OpenVenc([in] ILibrary * EncXLibrary, [in] BSTR chartFolder);
3634  [id(2), helpstring("Dissociate from the current folder")] HRESULT CloseVenc(void);
3636  [id(3), helpstring("Invoke the CherSoft Windows application that installs and updates VPF files")] HRESULT RunInstallApplication([in] BSTR pathToApplication);
3637 
3639  [propget, id(4), helpstring("The iterator guide")] HRESULT IteratorGuide([out, retval] IVPFIteratorGuide ** pVal);
3640 
3641 #if !defined DOXYGEN_SHOULD_SKIP_THIS
3642  [id(141), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
3643 #endif
3644 };
3645 
3647 [
3648  object,
3649  uuid(cb25f6a2-7cb6-11e1-8889-0024e84637be),
3650  dual,
3651  helpstring("IVPFCatalogueObserver Interface"),
3652  nonextensible,
3653  pointer_default(unique),
3654  hidden
3655 ]
3657 {
3659  [id(1), helpstring("method Register")] HRESULT Register([in] IVPFManager * vpfMgr);
3661  [id(2), helpstring("method Unregister")] HRESULT Unregister(void);
3662 
3663 };
3664 
3666 
3667 [
3668  object,
3669  uuid(cb25f653-7cb6-11e1-8889-0024e84637be),
3670  dual,
3671  helpstring("IS57Draw Interface"),
3672  nonextensible,
3673  pointer_default(unique),
3674  hidden
3675 ]
3676 interface IS57Draw : IDispatch
3677 {
3679  [id(1), helpstring("method SetManager")] HRESULT SetManager([in] IS57Manager * pMgr);
3681  [id(2), helpstring("Draw the chart to the specified device context")] HRESULT Draw([in] OLE_HANDLE lHDC);
3683  [propget, id(3), helpstring("The nominal scale of the chart")] HRESULT DisplayScale([out, retval] LONG* pVal);
3685 
3690  [id(4), helpstring("The nominal scale of the chart")] HRESULT SetDisplayScale([in] LONG nDisplayScale, [in] IPixelPoint * ipPixelPt);
3691 
3693 
3705  [id(7), helpstring("Obtain the sensible next scale in the specified direction")] HRESULT CalculateNewDisplayScale(
3706  [out] VARIANT_BOOL* pbAllowed, //<! Whether the output scale is within the range allowed by %ENCX
3707  [out] LONG* pnScaleOut, //<! The new suggested scale
3708  [in] LONG nScaleOld, //<! The old scale. Typically IS57Draw::DisplayScale()
3709  [in] LONG nChange, //<! The number of steps and direction to go from the old scale. Positive for more detailed scale.
3710  [in] LONG nSmallestChangeAllowed //<! The minimum number of steps to go from the old scale.
3711  );
3713 
3715  [propget, id(8), helpstring("Obtain the geopix")] HRESULT GeoPix([out, retval] IGeoPix ** pVal);
3717 
3718  [id(9), helpstring("method SetDrawLayerCallback")] HRESULT SetDrawLayerCallback(
3719  [in] enum S57CallBackDrawAction callBackDrawAction,
3720  [in] IS57ProductAndUsage * iproductAndUsage,
3721  [in] BYTE Layer
3722  );
3724 
3727  [propget, id(10), helpstring("Obtain the geographical position of the centre of the drawing surface")] HRESULT PositionOfCentre([out, retval] IGeoPoint ** geoPoint);
3729  [id(11), helpstring("Set the geographical position at the specified pixel position on the drawing surface")] HRESULT SetPosition([in] IGeoPoint * geoPt, [in] IPixelPoint * pixelPt, [out, retval] VARIANT_BOOL* bRes);
3731  [id(12), helpstring("Set the geographical position and scale so that the specified rectangle just fits on the drawing surface")] HRESULT SetPositionAndScale([in] IGeoRect * geoRect, [out,retval] VARIANT_BOOL* bRes);
3733  [propget, id(13), helpstring("The display settings control the symbolisation (drawing style) and what types of object are drawn")] HRESULT DisplaySettings([out, retval] IS57DisplaySettings ** pVal);
3735  [propput, id(13), helpstring("The display settings control the symbolisation (drawing style) and what types of object are drawn")] HRESULT DisplaySettings([in] IS57DisplaySettings * newVal);
3737 
3738  [propget, id(14), helpstring("The nominal size of a pixel")] HRESULT PixelSizeMetres([out, retval] DOUBLE* sz);
3740 
3741  [propput, id(14), helpstring("The nominal size of a pixel")] HRESULT PixelSizeMetres([in] DOUBLE sz);
3743  [propget, id(15), helpstring("The geographical orientation of the drawing surface")] HRESULT DirectionOfUp([out, retval] DOUBLE* pVal);
3745  [id(16), helpstring("The geographical orientation of the drawing surface")] HRESULT SetDirectionOfUp([in] DOUBLE degrees, [in] IPixelPoint * ipPixelPt, [out, retval] VARIANT_BOOL* pVal);
3746 
3748 
3751  [propget, id(17), helpstring("property GeoExtent")] HRESULT GeoExtent([out, retval] IGeoRect ** pVal);
3752 
3753  [id(18), helpstring("method FeaturesAtPoint")] HRESULT FeaturesAtPoint([in] IPixelPoint * pixelPt, [out, retval] IS57DrawnFeatures ** pVal);
3755  [propget, id(19), helpstring("The colour scheme for the chart")] HRESULT DisplayPalette([out, retval] IDisplayPalette ** pVal);
3757  [propput, id(19), helpstring("The colour scheme for the chart")] HRESULT DisplayPalette([in] IDisplayPalette * newVal);
3759 
3760  [propget, id(20), helpstring("property ShowPreviousCells")] HRESULT ShowPreviousCells([out, retval] VARIANT_BOOL* pVal);
3762 
3763  [propput, id(20), helpstring("property ShowPreviousCells")] HRESULT ShowPreviousCells([in] VARIANT_BOOL newVal);
3765 
3772  [id(22), helpstring("Adjusts the origin used when filling an area with symbols")] HRESULT AdjustAreaSymbolOffsets([in] LONG cx, [in] LONG cy);
3773 
3775  [id(23), helpstring("Set the geographical position and scale so that the specified rectangle exactly. The corners of the drawing surface will correspond to the corners of the GeoRect"), restricted] HRESULT SetPositionAndScaleExact([in] IGeoRect * geoRect, [out,retval] VARIANT_BOOL* bRes);
3776 
3778  [id(24), helpstring("Get a copy of the size of the area inside the rectangle (0,0) to (Size.Width,Size.Height) that will be drawn")] HRESULT GetSize([out, retval] IPixelSize** sz);
3780  [id(25), helpstring("Set the size of the image that will be drawn")] HRESULT SetSize([in] IPixelSize* sz);
3781 
3783  [id(26), helpstring("Try to get the depth at a pixel position")] HRESULT DepthAtPoint([in] IPixelPoint * pixelPt, [out] DOUBLE* depthInMetres, [out, retval] VARIANT_BOOL* succeeded);
3784 
3785 
3786  // RESERVE ID 27 FOR DEPTH AT GEOPOINT PROPERTY OR METHOD
3787 
3788 
3790  [propget, id(28), helpstring("Projection")] HRESULT ProjectionType([out, retval] enum S57Projection * projection);
3792  [propput, id(28), helpstring("Projection")] HRESULT ProjectionType([in] enum S57Projection projection);
3793 
3795  [propget, id(29), helpstring("Scalebar")] HRESULT Scalebar([out, retval] enum ScaleBarUnits * pVal);
3797  [propput, id(29), helpstring("Scalebar")] HRESULT Scalebar([in] enum ScaleBarUnits newVal);
3798 
3800  [propget, id(30), helpstring("Draw grid (deprecated)")] HRESULT DrawGrid([out, retval] VARIANT_BOOL * pVal);
3802  [propput, id(30), helpstring("Draw grid (deprecated)")] HRESULT DrawGrid([in] VARIANT_BOOL pVal);
3803 
3805  [propget, id(31), helpstring("The display settings control the symbolisation for single file World Vector Shoreline")] HRESULT WVSDisplaySettings([out, retval] IWVSDisplaySettings ** pVal);
3807  [propput, id(31), helpstring("The display settings control the symbolisation for single file World Vector Shoreline")] HRESULT WVSDisplaySettings([in] IWVSDisplaySettings * newVal);
3808 
3810  [propget, id(32), helpstring("The display settings control the drawing of the grid")] HRESULT GridDisplaySettings([out, retval] IGridDisplaySettings ** pVal);
3812  [propput, id(32), helpstring("The display settings control the drawing of the grid")] HRESULT GridDisplaySettings([in] IGridDisplaySettings * newVal);
3813 
3815  [id(33), helpstring("Highlight Feature")] HRESULT HighlightFeature([in] IS57FeatureIdentifier * featureId, [in] VARIANT_BOOL bClear);
3817  [id(34), helpstring("Highlight Sounding")] HRESULT HighlightSounding([in] IS57FeatureIdentifier * featureId, [in] double depthMetres, [in] VARIANT_BOOL bClear);
3818 
3819 #if !defined DOXYGEN_SHOULD_SKIP_THIS
3820  [id(35), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
3821 #endif
3822 
3824  [propget, id(36), helpstring("property BackgroundColour")] HRESULT BackgroundColour([out, retval] DWORD * colour);
3826  [propput, id(36), helpstring("property BackgroundColour")] HRESULT BackgroundColour([in] DWORD colour);
3827 
3829  [id(37), helpstring("method SetVPFManager")] HRESULT SetVPFManager([in] IVPFManager * pMgr);
3830 
3832  [id(38), helpstring("method VPFFeaturesAtPoint")] HRESULT VPFFeaturesAtPoint([in] IPixelPoint * pixelPt, [out, retval] BSTR * pXML);
3834  [id(39), helpstring("method VPFCoverageAtPoint")] HRESULT VPFCoveragesAtPoint([in] IPixelPoint * pixelPt, [out, retval] BSTR * pXML);
3835 
3837  [propget, id(40), helpstring("The VPF display settings")] HRESULT VPFDisplaySettings([out, retval] IVPFDisplaySettings ** pVal);
3839  [propput, id(40), helpstring("The VPF display settings")] HRESULT VPFDisplaySettings([in] IVPFDisplaySettings * newVal);
3840 
3842  [propget, id(41), helpstring("ScalebarDetailedMode")] HRESULT ScalebarDetailedMode([out, retval] enum SBDetailedMode * scale);
3844  [propput, id(41), helpstring("ScalebarDetailedMode")] HRESULT ScalebarDetailedMode([in] enum SBDetailedMode scale);
3845 };
3846 
3848 
3849 [
3850  object,
3851  uuid(cb25f67f-7cb6-11e1-8889-0024e84637be),
3852  dual,
3853  helpstring("IHTMLGenerator Interface"),
3854  nonextensible,
3855  pointer_default(unique),
3856  hidden
3857 ]
3859 {
3861  [id(1), helpstring("Set-up the generator for S-57 properties at point")] HRESULT S57PropertiesAtPoint([in] IS57Draw* s57draw, [in] IPixelPoint * pixelPt);
3862 
3864  [id(2), helpstring("Set the event for HTML")] HRESULT ProcessEvent([in] BSTR sEvent, [out, retval] enum HTMLAction * action);
3865 
3867  [id(3), helpstring("Get the HTML")] HRESULT HTML([in] BSTR sUrl, [out, retval] BSTR * pHtml);
3868 };
3869 
3871 
3872 [
3873  object,
3874  uuid(cb25f690-7cb6-11e1-8889-0024e84637be),
3875  dual,
3876  helpstring("IRouteCheck Interface"),
3877  nonextensible,
3878  pointer_default(unique),
3879  hidden
3880 ]
3882 {
3884  [id(1), helpstring("Check the route")] HRESULT Check([in] IGeoPoints * geoPoints, [in] enum GeoLineType lineType, [in] double safetyContourMetres, [in] double safetyDistanceMetres, [in] IS57Manager * manager, [out, retval] BSTR * xml);
3885 #if !defined DOXYGEN_SHOULD_SKIP_THIS
3886  [id(2), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
3887 #endif
3889  [propget, id(3), helpstring("Check line features within safety distance")] HRESULT CheckLinesWithinSafetyDistance([out, retval] VARIANT_BOOL * pVal);
3891  [propput, id(3), helpstring("Check line features within safety distance")] HRESULT CheckLinesWithinSafetyDistance([in] VARIANT_BOOL pVal);
3893  [propget, id(4), helpstring("Check area features within safety distance")] HRESULT CheckAreasWithinSafetyDistance([out, retval] VARIANT_BOOL * pVal);
3895  [propput, id(4), helpstring("Check area features within safety distance")] HRESULT CheckAreasWithinSafetyDistance([in] VARIANT_BOOL pVal);
3896 };
3897 
3899 
3901 
3905 [
3906  uuid(cb25f5f4-7cb6-11e1-8889-0024e84637be),
3907  version(3.0),
3908  helpstring("CherSoft ENCX 3.0 Type Library")
3909 ]
3910 library ENCX
3911 {
3912 #if !defined DOXYGEN_SHOULD_SKIP_THIS
3913  importlib("stdole2.tlb");
3914  importlib("mscorlib.tlb");
3915 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
3916 
3917 
3919 
3931  [
3932  uuid(cb25f5f5-7cb6-11e1-8889-0024e84637be),
3933  helpstring("Library Class")
3934  ]
3935  coclass Library
3936  {
3937  [default] interface ILibrary;
3938  };
3939 
3941 
3945  [
3946  uuid(cb25f5f6-7cb6-11e1-8889-0024e84637be),
3947  helpstring("DisplayPalette Class")
3948  ]
3950  {
3951  [default] interface IDisplayPalette;
3952  };
3953 
3955  [
3956  uuid(cb25f654-7cb6-11e1-8889-0024e84637be),
3957  helpstring("Events from DongleObserver"),
3958  hidden
3959  ]
3961  {
3962  properties:
3963  methods:
3965  [id(1), helpstring("method OnDongleChangeEvt")] HRESULT OnDongleChangeEvt(void);
3966  };
3967 
3969 
3972  [
3973  uuid(cb25f656-7cb6-11e1-8889-0024e84637be),
3974  helpstring("A security device")
3975  ]
3977  {
3978  [default] interface IDongleObserver;
3979  [default, source] dispinterface _IDongleObserverEvents;
3980  };
3981 
3983 
3984  [
3985  uuid(cb25f5f7-7cb6-11e1-8889-0024e84637be),
3986  helpstring("GeoPoint Class")
3987  ]
3988  coclass GeoPoint
3989  {
3990  [default] interface IGeoPoint;
3991  interface ICloneable;
3992  };
3993 
3995 
3996  [
3997  uuid(cb25f5f8-7cb6-11e1-8889-0024e84637be),
3998  helpstring("Collection of GeoPoint")
3999  ]
4000  coclass GeoPoints
4001  {
4002  [default] interface IGeoPoints;
4003  interface ICloneable;
4004  };
4005 
4007 
4008  [
4009  uuid(cb25f5f9-7cb6-11e1-8889-0024e84637be),
4010  helpstring("GeoArea Class")
4011  ]
4012  coclass GeoArea
4013  {
4014  [default] interface IGeoArea;
4015  };
4016 
4018 
4019  [
4020  uuid(cb25f5fa-7cb6-11e1-8889-0024e84637be),
4021  helpstring("GeoRect Class")
4022  ]
4023  coclass GeoRect
4024  {
4025  [default] interface IGeoRect;
4026  };
4027 
4029 
4030  [
4031  uuid(cb25f5fb-7cb6-11e1-8889-0024e84637be),
4032  helpstring("GeoLine Class")
4033  ]
4034  coclass GeoLine
4035  {
4036  [default] interface IGeoLine;
4037  };
4038 
4040 
4046 #if !defined(UDE_ENC_ONLY)
4047  [
4048  uuid(cb25f657-7cb6-11e1-8889-0024e84637be),
4049  helpstring("RasManager Class")
4050  ]
4051  coclass RasManager
4052  {
4053  [default] interface IRasManager;
4054  };
4055 
4057  [
4058  uuid(cb25f658-7cb6-11e1-8889-0024e84637be),
4059  helpstring("Events from RasCatalogueObserver"),
4060  hidden
4061  ]
4063  {
4064  properties:
4065  methods:
4067  [id(1), helpstring("Occurs when the contents of the raster chart folder has changed. Redraw everything.")] HRESULT OnChanged();
4068  };
4069 
4071 
4073  [
4074  uuid(cb25f659-7cb6-11e1-8889-0024e84637be),
4075  helpstring("RasCatalogueObserver Class")
4076  ]
4078  {
4079  [default] interface IRasCatalogueObserver;
4080  [default, source] dispinterface _IRasCatalogueObserverEvents;
4081  };
4082 
4084 
4086  [
4087  uuid(cb25f67a-7cb6-11e1-8889-0024e84637be),
4088  helpstring("RasChartPanelIdentifier Class")
4089  ]
4091  {
4092  [default] interface IRasChartPanelIdentifier;
4093  };
4094 
4096 
4107  [
4108  uuid(cb25f67b-7cb6-11e1-8889-0024e84637be),
4109  helpstring("RasDraw Class")
4110  ]
4111  coclass RasDraw
4112  {
4113  [default] interface IRasDraw;
4114  };
4115 #endif
4116 
4118  // S57 classes
4120 
4122  [
4123  uuid(cb25f5fc-7cb6-11e1-8889-0024e84637be),
4124  helpstring("Events from S57CatalogueObserver"),
4125  hidden
4126  ]
4128  {
4129  properties:
4130  methods:
4131  // Occurs when the contents of the S-57 SENC has changed. Redraw everything.
4132  [id(1), helpstring("Occurs when the contents of the S-57 SENC has changed. Redraw everything.")] HRESULT OnChanged();
4133  };
4134 
4136 
4139  [
4140  uuid(cb25f5fd-7cb6-11e1-8889-0024e84637be),
4141  helpstring("S57CatalogueObserver Class")
4142  ]
4144  {
4145  [default] interface IS57CatalogueObserver;
4146  [default, source] dispinterface _IS57CatalogueObserverEvents;
4147  };
4148 
4150 
4153  [
4154  uuid(cb25f5fe-7cb6-11e1-8889-0024e84637be),
4155  helpstring("S57CellIdentifier Class")
4156  ]
4158  {
4159  [default] interface IS57CellIdentifier;
4160  };
4161 
4163 
4164  [
4165  uuid(cb25f5ff-7cb6-11e1-8889-0024e84637be),
4166  helpstring("S57CellIdentifiers Class")
4167  ]
4169  {
4170  [default] interface IS57CellIdentifiers;
4171  };
4172 
4174 
4175  [
4176  uuid(cb25f60d-7cb6-11e1-8889-0024e84637be),
4177  helpstring("S57Colour Class"),
4178  ]
4179  coclass S57Colour
4180  {
4181  [default] interface IS57Colour;
4182  };
4183 
4185 
4186  [
4187  uuid(cb25f610-7cb6-11e1-8889-0024e84637be),
4188  helpstring("S57ColourValue Class"),
4189  ]
4191  {
4192  [default] interface IS57ColourValue;
4193  };
4194 
4196 
4197  [
4198  uuid(cb25f60e-7cb6-11e1-8889-0024e84637be),
4199  helpstring("S57ColourValues Class"),
4200  ]
4202  {
4203  [default] interface IS57ColourValues;
4204  };
4205 
4207 
4211  [
4212  uuid(cb25f600-7cb6-11e1-8889-0024e84637be),
4213  helpstring("S57ProductAndUsage Class")
4214  ]
4216  {
4217  [default] interface IS57ProductAndUsage;
4218  };
4219 
4221 
4222  [
4223  uuid(cb25f601-7cb6-11e1-8889-0024e84637be),
4224  helpstring("S57ProductAndUsages Class")
4225  ]
4227  {
4228  [default] interface IS57ProductAndUsages;
4229  };
4230 
4232 
4233  [
4234  uuid(cb25f602-7cb6-11e1-8889-0024e84637be),
4235  helpstring("S57ObjectClass Class")
4236  ]
4238  {
4239  [default] interface IS57ObjectClass;
4240  };
4241 
4243 
4244  [
4245  uuid(cb25f603-7cb6-11e1-8889-0024e84637be),
4246  helpstring("Collection of S57ObjectClass")
4247  ]
4249  {
4250  [default] interface IS57ObjectClassCollection;
4251  };
4252 
4254 
4255  [
4256  uuid(cb25f604-7cb6-11e1-8889-0024e84637be),
4257  helpstring("S57FeatureIdentifier Class")
4258  ]
4260  {
4261  [default] interface IS57FeatureIdentifier;
4262  };
4263 
4265 
4266  [
4267  uuid(cb25f605-7cb6-11e1-8889-0024e84637be),
4268  helpstring("S57FeatureIdentifiers Class")
4269  ]
4271  {
4272  [default] interface IS57FeatureIdentifiers;
4273  };
4274 
4276 
4282  [
4283  uuid(cb25f606-7cb6-11e1-8889-0024e84637be),
4284  helpstring("S57FeatureQuery Class")
4285  ]
4287  {
4288  [default] interface IS57FeatureQuery;
4289  };
4290 
4292  [
4293  uuid(cb25f60f-7cb6-11e1-8889-0024e84637be),
4294  helpstring("S57ManagerInitialisationData Class")
4295  ]
4297  {
4298  [default] interface IS57ManagerInitialisationData;
4299  };
4300 
4301 
4303 
4315  [
4316  uuid(cb25f607-7cb6-11e1-8889-0024e84637be),
4317  helpstring("S57Manager Class")
4318  ]
4319  coclass S57Manager
4320  {
4321  [default] interface IS57Manager;
4322  };
4323 
4325  [
4326  uuid(cb25f655-7cb6-11e1-8889-0024e84637be),
4327  helpstring("Events from S57Draw"),
4328  hidden
4329  ]
4330  dispinterface _IS57DrawEvents
4331  {
4332  properties:
4333  methods:
4335  [id(1), helpstring("Occurs before or after an S-57 layer is drawn")] HRESULT OnDrawLayer(OLE_HANDLE hdc, enum S57CallBackDrawAction action, IS57ProductAndUsage * ProductAndUsage, BYTE Layer);
4336  };
4337 
4338 
4340 
4353  [
4354  uuid(cb25f608-7cb6-11e1-8889-0024e84637be),
4355  helpstring("S57Draw Class")
4356  ]
4357  coclass S57Draw
4358  {
4359  [default] interface IS57Draw;
4360  [default, source] dispinterface _IS57DrawEvents;
4361  };
4362 
4364 
4367  [
4368  uuid(cb25f680-7cb6-11e1-8889-0024e84637be),
4369  helpstring("HTMLGenerator Class")
4370  ]
4372  {
4373  [default] interface IHTMLGenerator;
4374  };
4375 
4377 
4378  [
4379  uuid(cb25f60a-7cb6-11e1-8889-0024e84637be),
4380  helpstring("PixelPoint Class")
4381  ]
4382  coclass PixelPoint
4383  {
4384  [default] interface IPixelPoint;
4385  };
4386 
4388 
4389  [
4390  uuid(cb25f60b-7cb6-11e1-8889-0024e84637be),
4391  helpstring("PixelSize Class")
4392  ]
4393  coclass PixelSize
4394  {
4395  [default] interface IPixelSize;
4396  };
4397 
4398 
4400 
4401  [
4402  uuid(cb25f60c-7cb6-11e1-8889-0024e84637be),
4403  helpstring("PixelRect Class")
4404  ]
4405  coclass PixelRect
4406  {
4407  [default] interface IPixelRect;
4408  };
4409 
4410 
4412  // Non-creatable co-classes
4413  // These are here to tidy-up the interface so that the client programmer is not faced with IFoo.
4414  // The mere existence of these co-classes means that functions returning IFoo return Foo instead.
4415  // Note that there are no RGS files for these classes and the C++ code does not use them or their GUIDs at all.
4417 #if !defined DOXYGEN_SHOULD_SKIP_THIS
4418  // Dongle
4419  [
4420  uuid(cb25f67c-7cb6-11e1-8889-0024e84637be),
4421  helpstring("Dongle Class"),
4422  noncreatable
4423  ]
4424  coclass Dongle
4425  {
4426  [default] interface IDongle;
4427  };
4428 
4430 
4431  [
4432  uuid(cb25f609-7cb6-11e1-8889-0024e84637be),
4433  helpstring("S57DisplaySettings Class"),
4434  noncreatable
4435  ]
4436  coclass S57DisplaySettings
4437  {
4438  [default] interface IS57DisplaySettings;
4439  interface ICloneable;
4440  };
4441 
4442  // GeoHorizontalDatumInfo
4443  [
4444  uuid(cb25f67d-7cb6-11e1-8889-0024e84637be),
4445  helpstring("GeoHorizontalDatumInfo Class"),
4446  noncreatable
4447  ]
4448  coclass GeoHorizontalDatumInfo
4449  {
4450  [default] interface IGeoHorizontalDatumInfo;
4451  };
4452 
4453  // PixelPoints
4454  [
4455  uuid(cb25f65a-7cb6-11e1-8889-0024e84637be),
4456  helpstring("PixelPoints Class"),
4457  noncreatable
4458  ]
4459  coclass PixelPoints
4460  {
4461  [default] interface IPixelPoints;
4462  };
4463 
4464  // PolyLines
4465  [
4466  uuid(cb25f65b-7cb6-11e1-8889-0024e84637be),
4467  helpstring("PolyLines Class"),
4468  noncreatable
4469  ]
4470  coclass PolyLines
4471  {
4472  [default] interface IPolyLines;
4473  };
4474 
4475  // GeoPix
4476  [
4477  uuid(cb25f65c-7cb6-11e1-8889-0024e84637be),
4478  helpstring("GeoPix Class"),
4479  noncreatable
4480  ]
4481  coclass GeoPix
4482  {
4483  [default] interface IGeoPix;
4484  };
4485 
4486  // GeoPixCollection
4487  [
4488  uuid(cb25f65d-7cb6-11e1-8889-0024e84637be),
4489  helpstring("GeoPixCollection Class"),
4490  noncreatable
4491  ]
4492  coclass GeoPixCollection
4493  {
4494  [default] interface IGeoPixCollection;
4495  };
4496 
4497  // HorizontalDatum
4498  [
4499  uuid(cb25f65e-7cb6-11e1-8889-0024e84637be),
4500  helpstring("HorizontalDatum Class"),
4501  noncreatable
4502  ]
4503  coclass HorizontalDatum
4504  {
4505  [default] interface IHorizontalDatum;
4506  };
4507 
4508 #if !defined(UDE_ENC_ONLY)
4509  // RasCharts
4510  [
4511  uuid(cb25f65f-7cb6-11e1-8889-0024e84637be),
4512  helpstring("RasCharts Class"),
4513  noncreatable
4514  ]
4515  coclass RasCharts
4516  {
4517  [default] interface IRasCharts;
4518  };
4519 
4520  // RasDiscIdentity
4521  [
4522  uuid(cb25f660-7cb6-11e1-8889-0024e84637be),
4523  helpstring("RasDiscIdentity Class"),
4524  noncreatable
4525  ]
4526  coclass RasDiscIdentity
4527  {
4528  [default] interface IRasDiscIdentity;
4529  };
4530 
4531  // RasNoticeToMarinersNumber
4532  [
4533  uuid(cb25f661-7cb6-11e1-8889-0024e84637be),
4534  helpstring("RasNoticeToMarinersNumber Class"),
4535  noncreatable
4536  ]
4537  coclass RasNoticeToMarinersNumber
4538  {
4539  [default] interface IRasNoticeToMarinersNumber;
4540  };
4541 
4542  // RasNoticeToMariners
4543  [
4544  uuid(cb25f662-7cb6-11e1-8889-0024e84637be),
4545  helpstring("RasNoticeToMariners Class"),
4546  noncreatable
4547  ]
4548  coclass RasNoticeToMariners
4549  {
4550  [default] interface IRasNoticeToMariners;
4551  };
4552 
4553  // RasNoticesToMariners
4554  [
4555  uuid(cb25f663-7cb6-11e1-8889-0024e84637be),
4556  helpstring("RasNoticesToMariners Class"),
4557  noncreatable
4558  ]
4559  coclass RasNoticesToMariners
4560  {
4561  [default] interface IRasNoticesToMariners;
4562  };
4563 
4564  // RasPanelIdentifier
4565  [
4566  uuid(cb25f664-7cb6-11e1-8889-0024e84637be),
4567  helpstring("RasPanelIdentifier Class"),
4568  noncreatable
4569  ]
4570  coclass RasPanelIdentifier
4571  {
4572  [default] interface IRasPanelIdentifier;
4573  };
4574 
4575  // RasPanelIdentifiers
4576  [
4577  uuid(cb25f665-7cb6-11e1-8889-0024e84637be),
4578  helpstring("RasPanelIdentifiers Class"),
4579  noncreatable
4580  ]
4581  coclass RasPanelIdentifiers
4582  {
4583  [default] interface IRasPanelIdentifiers;
4584  };
4585 
4586  // RasChartPanelIdentifiers
4587  [
4588  uuid(cb25f666-7cb6-11e1-8889-0024e84637be),
4589  helpstring("RasChartPanelIdentifiers Class"),
4590  noncreatable
4591  ]
4592  coclass RasChartPanelIdentifiers
4593  {
4594  [default] interface IRasChartPanelIdentifiers;
4595  };
4596 
4597  // RasPanelInfo
4598  [
4599  uuid(cb25f667-7cb6-11e1-8889-0024e84637be),
4600  helpstring("RasPanelInfo Class"),
4601  noncreatable
4602  ]
4603  coclass RasPanelInfo
4604  {
4605  [default] interface IRasPanelInfo;
4606  };
4607 
4608  // RasChartInfo
4609  [
4610  uuid(cb25f668-7cb6-11e1-8889-0024e84637be),
4611  helpstring("RasChartInfo Class"),
4612  noncreatable
4613  ]
4614  coclass RasChartInfo
4615  {
4616  [default] interface IRasChartInfo;
4617  };
4618 
4619  // RasPanelNote
4620  [
4621  uuid(cb25f669-7cb6-11e1-8889-0024e84637be),
4622  helpstring("RasPanelNote Class"),
4623  noncreatable
4624  ]
4625  coclass RasPanelNote
4626  {
4627  [default] interface IRasPanelNote;
4628  };
4629 
4630  // RasPanelNotes
4631  [
4632  uuid(cb25f66a-7cb6-11e1-8889-0024e84637be),
4633  helpstring("RasPanelNotes Class"),
4634  noncreatable
4635  ]
4636  coclass RasPanelNotes
4637  {
4638  [default] interface IRasPanelNotes;
4639  };
4640 #endif
4641 
4642  // S57Attribute
4643  [
4644  uuid(cb25f66b-7cb6-11e1-8889-0024e84637be),
4645  helpstring("S57Attribute Class"),
4646  noncreatable
4647  ]
4648  coclass S57Attribute
4649  {
4650  [default] interface IS57Attribute;
4651  };
4652 
4653  // S57AttributeValue
4654  [
4655  uuid(cb25f66c-7cb6-11e1-8889-0024e84637be),
4656  helpstring("S57AttributeValue Class"),
4657  noncreatable
4658  ]
4659  coclass S57AttributeValue
4660  {
4661  [default] interface IS57AttributeValue;
4662  };
4663 
4664  // S57AttributeValues
4665  [
4666  uuid(cb25f66d-7cb6-11e1-8889-0024e84637be),
4667  helpstring("S57AttributeValues Class"),
4668  noncreatable
4669  ]
4670  coclass S57AttributeValues
4671  {
4672  [default] interface IS57AttributeValues;
4673  };
4674 
4675  // S57CellInfo
4676  [
4677  uuid(cb25f66e-7cb6-11e1-8889-0024e84637be),
4678  helpstring("S57CellInfo Class"),
4679  noncreatable
4680  ]
4681  coclass S57CellInfo
4682  {
4683  [default] interface IS57CellInfo;
4684  };
4685 
4686  // S57DepthPoint
4687  [
4688  uuid(cb25f66f-7cb6-11e1-8889-0024e84637be),
4689  helpstring("S57DepthPoint Class"),
4690  noncreatable
4691  ]
4692  coclass S57DepthPoint
4693  {
4694  [default] interface IS57DepthPoint;
4695  };
4696 
4697  // S57DepthPoints
4698  [
4699  uuid(cb25f670-7cb6-11e1-8889-0024e84637be),
4700  helpstring("S57DepthPoints Class"),
4701  noncreatable
4702  ]
4703  coclass S57DepthPoints
4704  {
4705  [default] interface IS57DepthPoints;
4706  };
4707 
4708  // S57Face
4709  [
4710  uuid(cb25f671-7cb6-11e1-8889-0024e84637be),
4711  helpstring("S57Face Class"),
4712  noncreatable
4713  ]
4714  coclass S57Face
4715  {
4716  [default] interface IS57Face;
4717  };
4718 
4719  // S57Faces
4720  [
4721  uuid(cb25f672-7cb6-11e1-8889-0024e84637be),
4722  helpstring("S57Faces Class"),
4723  noncreatable
4724  ]
4725  coclass S57Faces
4726  {
4727  [default] interface IS57Faces;
4728  };
4729 
4730  // S57FeatureInfo
4731  [
4732  uuid(cb25f673-7cb6-11e1-8889-0024e84637be),
4733  helpstring("S57FeatureInfo Class"),
4734  noncreatable
4735  ]
4736  coclass S57FeatureInfo
4737  {
4738  [default] interface IS57FeatureInfo;
4739  };
4740 
4741  // S57FeatureArea
4742  [
4743  uuid(cb25f674-7cb6-11e1-8889-0024e84637be),
4744  helpstring("S57FeatureArea Class"),
4745  noncreatable
4746  ]
4747  coclass S57FeatureArea
4748  {
4749  [default] interface IS57FeatureArea;
4750  };
4751 
4752  // S57FeatureLine
4753  [
4754  uuid(cb25f675-7cb6-11e1-8889-0024e84637be),
4755  helpstring("S57FeatureLine Class"),
4756  noncreatable
4757  ]
4758  coclass S57FeatureLine
4759  {
4760  [default] interface IS57FeatureLine;
4761  };
4762 
4763  // S57FeaturePoint
4764  [
4765  uuid(cb25f676-7cb6-11e1-8889-0024e84637be),
4766  helpstring("S57FeaturePoint Class"),
4767  noncreatable
4768  ]
4769  coclass S57FeaturePoint
4770  {
4771  [default] interface IS57FeaturePoint;
4772  };
4773 
4774  // S57FeatureSounding
4775  [
4776  uuid(cb25f677-7cb6-11e1-8889-0024e84637be),
4777  helpstring("S57FeatureSounding Class"),
4778  noncreatable
4779  ]
4780  coclass S57FeatureSounding
4781  {
4782  [default] interface IS57FeatureSounding;
4783  };
4784 
4785  // S57DrawnFeature
4786  [
4787  uuid(cb25f678-7cb6-11e1-8889-0024e84637be),
4788  helpstring("S57DrawnFeature Class"),
4789  noncreatable
4790  ]
4791  coclass S57DrawnFeature
4792  {
4793  [default] interface IS57DrawnFeature;
4794  };
4795 
4796  // S57DrawnFeatures
4797  [
4798  uuid(cb25f679-7cb6-11e1-8889-0024e84637be),
4799  helpstring("S57DrawnFeatures Class"),
4800  noncreatable
4801  ]
4802  coclass S57DrawnFeatures
4803  {
4804  [default] interface IS57DrawnFeatures;
4805  };
4806 
4807 
4808  // GeoPointFormatter
4809  [
4810  uuid(cb25f682-7cb6-11e1-8889-0024e84637be),
4811  helpstring("GeoPointFormatter Class"),
4812  noncreatable
4813  ]
4814  coclass GeoPointFormatter
4815  {
4816  [default] interface IGeoPointFormatter;
4817  };
4818 
4819  // PolyAreas
4820  [
4821  uuid(cb25f683-7cb6-11e1-8889-0024e84637be),
4822  helpstring("PolyAreas Class"),
4823  noncreatable
4824  ]
4825  coclass PolyAreas
4826  {
4827  [default] interface IPolyAreas;
4828  };
4829 
4831 
4832  [
4833  uuid(cb25f685-7cb6-11e1-8889-0024e84637be),
4834  helpstring("WVSDisplaySettings Class"),
4835  noncreatable
4836  ]
4837  coclass WVSDisplaySettings
4838  {
4839  [default] interface IWVSDisplaySettings;
4840  interface ICloneable;
4841  };
4842 
4844 
4845  [
4846  uuid(cb25f687-7cb6-11e1-8889-0024e84637be),
4847  helpstring("GridDisplaySettings Class"),
4848  noncreatable
4849  ]
4850  coclass GridDisplaySettings
4851  {
4852  [default] interface IGridDisplaySettings;
4853  interface ICloneable;
4854  };
4855 
4857 
4858  [
4859  uuid(cb25f689-7cb6-11e1-8889-0024e84637be),
4860  helpstring("GridPen Class"),
4861  noncreatable
4862  ]
4863  coclass GridPen
4864  {
4865  [default] interface IGridPen;
4866  interface ICloneable;
4867  };
4868 
4870  [
4871  uuid(cb25f691-7cb6-11e1-8889-0024e84637be),
4872  helpstring("RouteCheck Class")
4873  ]
4874  coclass RouteCheck
4875  {
4876  [default] interface IRouteCheck;
4877  };
4878 
4879 
4880  // VPFIteratorGuide_CoverageUse
4881  [
4882  uuid(cb25f6a1-7cb6-11e1-8889-0024e84637be),
4883  noncreatable
4884  ]
4885  coclass VPFIteratorGuide_CoverageUse
4886  {
4887  [default] interface IVPFIteratorGuide_CoverageUse;
4888  };
4889 
4890  // VPFIteratorGuide_LibraryUse
4891  [
4892  uuid(cb25f69f-7cb6-11e1-8889-0024e84637be),
4893  noncreatable
4894  ]
4895  coclass VPFIteratorGuide_LibraryUse
4896  {
4897  [default] interface IVPFIteratorGuide_LibraryUse;
4898  };
4899 
4900  // VPFIteratorGuide_DatabaseUse
4901  [
4902  uuid(cb25f69d-7cb6-11e1-8889-0024e84637be),
4903  noncreatable
4904  ]
4905  coclass VPFIteratorGuide_DatabaseUse
4906  {
4907  [default] interface IVPFIteratorGuide_DatabaseUse;
4908  };
4909 
4910  // VPFIteratorGuide
4911  [
4912  uuid(cb25f697-7cb6-11e1-8889-0024e84637be),
4913  noncreatable
4914  ]
4915  coclass VPFIteratorGuide
4916  {
4917  [default] interface IVPFIteratorGuide;
4918  };
4919 
4920  // VPFDisplaySettings
4921  [
4922  uuid(cb25f695-7cb6-11e1-8889-0024e84637be),
4923  helpstring("VPFDisplaySettings Class"),
4924  noncreatable
4925  ]
4926  coclass VPFDisplaySettings
4927  {
4928  [default] interface IVPFDisplaySettings;
4929  interface ICloneable;
4930  };
4931 
4932  // VPFFeatureSet
4933  [
4934  uuid(cb25f69b-7cb6-11e1-8889-0024e84637be)
4935  ]
4936  coclass VPFFeatureSet
4937  {
4938  [default] interface IVPFFeatureSet;
4939  };
4940 
4941  // VPFManager
4942  [
4943  uuid(cb25f693-7cb6-11e1-8889-0024e84637be)
4944  ]
4945  coclass VPFManager
4946  {
4947  [default] interface IVPFManager;
4948  };
4949 
4950 
4952  [
4953  uuid(cb25f6a4-7cb6-11e1-8889-0024e84637be),
4954  helpstring("Events from VPFCatalogueObserver"),
4955  hidden
4956  ]
4957  dispinterface _IVPFCatalogueObserverEvents
4958  {
4959  properties:
4960  methods:
4961  // Occurs when the contents of the VENC has changed. Redraw everything.
4962  [id(1), helpstring("Occurs when the contents of the VENC has changed. Redraw everything.")] HRESULT OnChanged();
4963  };
4964 
4966 
4969  [
4970  uuid(cb25f6a3-7cb6-11e1-8889-0024e84637be),
4971  helpstring("VPFCatalogueObserver Class")
4972  ]
4973  coclass VPFCatalogueObserver
4974  {
4975  [default] interface IVPFCatalogueObserver;
4976  [default, source] dispinterface _IVPFCatalogueObserverEvents;
4977  };
4978 
4979 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
4980 }
Specifies the type of palette and any fading of the chart.
Definition: encxcom.idl:3950
Observe the state of the security device.
Definition: encxcom.idl:3977
An area formed by joining points in a closed loop with lines of the specified shape.
Definition: encxcom.idl:4013
A line of a specified shape between two points on the Earth's surface.
Definition: encxcom.idl:4035
A position on the Earth's surface defined by geodetic latitude and longitude.
Definition: encxcom.idl:3989
Collection of GeoPoint objects.
Definition: encxcom.idl:4001
An area on the Earth's surface defined by two meridians (east and west) and two parallels (north and ...
Definition: encxcom.idl:4024
Create HTML for display in a browser control (etc.)
Definition: encxcom.idl:4372
The top level object in the ENCX library. Required to create many other ENCX objects.
Definition: encxcom.idl:3936
A value class representing a floating point Cartesian pixel point.
Definition: encxcom.idl:4383
A value class representing a floating point Cartesian pixel rectangle aligned with the Cartesian axes...
Definition: encxcom.idl:4406
A value class representing a floating point Cartesian pixel size.
Definition: encxcom.idl:4394
Observe changes to the charts in a RasManager.
Definition: encxcom.idl:4078
The identity of a single panel (either the main chart or an inset panel) on a known raster chart.
Definition: encxcom.idl:4091
Display a bounded raster chart via a Win32 Device Context.
Definition: encxcom.idl:4112
Manage a folder of raster charts.
Definition: encxcom.idl:4052
Observe changes to the cells in an S57Manager.
Definition: encxcom.idl:4144
Identification of an S-57 cell.
Definition: encxcom.idl:4158
Collection of S57CellIdentifier.
Definition: encxcom.idl:4169
An S-57 Colour Identifier.
Definition: encxcom.idl:4180
An S-57 Colour Identifier combined with the values of the colour (RGB) for each colour scheme (Day,...
Definition: encxcom.idl:4191
A collection of S-57 colours and associated RGB values.
Definition: encxcom.idl:4202
Display a continuous S-57 vector chart via a Win32 Device Context.
Definition: encxcom.idl:4358
A globally unique value that identifies a particular feature as represented by a particular S-57 cell...
Definition: encxcom.idl:4260
Collection of S57FeatureIdentifier.
Definition: encxcom.idl:4271
A means of querying an S-57 cell within a SENC to obtain a collection of the cell's features.
Definition: encxcom.idl:4287
An S-57 SENC.
Definition: encxcom.idl:4320
Parameters required to initialize S57Manager using OpenSenc2()
Definition: encxcom.idl:4297
Collection of S57ObjectClass.
Definition: encxcom.idl:4249
Type of S-57 Object.
Definition: encxcom.idl:4238
The combination of an S-57 Product and an Intended Usage.
Definition: encxcom.idl:4216
Collection of S57ProductAndUsage.
Definition: encxcom.idl:4227
ScaleBarUnits
Used to set the units to use for the scale bar on S57 charts.
Definition: encxcom.idl:106
@ SBU_Kilometres
kilometres
Definition: encxcom.idl:107
@ SBU_NauticalMiles
nautical miles
Definition: encxcom.idl:108
S57DateMode
Determines the date to use when deciding whether to draw features with date dependencies or just allo...
Definition: encxcom.idl:180
@ S57DateMode_IgnoreDates
Draw all features regardless of date.
Definition: encxcom.idl:183
@ S57DateMode_UseSetDate
Use the user set date.
Definition: encxcom.idl:182
@ S57DateMode_UseSystemDate
Use the current system date.
Definition: encxcom.idl:181
VPFFeatureType
VPF feature types to draw.
Definition: encxcom.idl:195
@ FT_Edge
Line features.
Definition: encxcom.idl:198
@ FT_Node
Point features.
Definition: encxcom.idl:196
@ FT_Text
Text features.
Definition: encxcom.idl:197
@ FT_Face
Polygon features.
Definition: encxcom.idl:199
PaletteType
Used to specify which palette the charts will be rendered in.
Definition: encxcom.idl:38
@ PalDay
Normal daytime palette.
Definition: encxcom.idl:40
@ PalDusk
Palette for dawn and dusk.
Definition: encxcom.idl:42
@ PalNight
Palette for night viewing.
Definition: encxcom.idl:43
@ PalCount
Number of palette values.
Definition: encxcom.idl:45
@ PalDayBright
Daytime palette for bright conditions.
Definition: encxcom.idl:39
@ PalUnknown
Unknown palette.
Definition: encxcom.idl:46
@ PalDayBlack
Daytime palette with a black background.
Definition: encxcom.idl:41
@ PalNightUnfiltered
Palette for night viewing through a neutral filter.
Definition: encxcom.idl:44
UniversalGridType
Definition: encxcom.idl:203
@ Grid_UTM
Universal Transverse Mercator.
Definition: encxcom.idl:204
@ Grid_MGRS
Military Grid Reference System.
Definition: encxcom.idl:205
LatLonFormat
Use this enum in GeoPointFormatter to change the lat-lon format returned by GeoPoint....
Definition: encxcom.idl:122
@ D_MM_MMMM
Degrees, minutes to 4 decimal places.
Definition: encxcom.idl:126
@ D_MM_MMM
Degrees, minutes to 3 decimal places.
Definition: encxcom.idl:125
@ D_MM_SS_SS
Degrees, minutes, seconds to 2 decimal places.
Definition: encxcom.idl:124
@ D_MM_SS_S
Degrees, minutes, seconds to 1 decimal place.
Definition: encxcom.idl:123
@ D_DDDDDD
Degrees to 6 decimal places.
Definition: encxcom.idl:128
@ D_DDDDD
Degrees to 5 decimal places.
Definition: encxcom.idl:127
S57DisplayImprovements
Definition: encxcom.idl:165
@ S57DisplayImprovements_Max
CherSoft's best ENC chart display improvements (non-standard)
Definition: encxcom.idl:167
@ S57DisplayImprovements_Level1
ENC display improvements Q1 2012.
Definition: encxcom.idl:168
@ S57DisplayImprovements_Nothing
No non-standard decluttering.
Definition: encxcom.idl:166
S57Product
A number of 'products' use the S-57 vector chart standard. The most well known one is ENC (Electronic...
Definition: encxcom.idl:62
@ PD_Unknown
Unknown product.
Definition: encxcom.idl:63
@ PD_AMLV3_MMA
AML Version 3 - Marine Management Areas.
Definition: encxcom.idl:79
@ PD_AMLV3_PEA
AML Version 3 - Practice and Exercise Areas.
Definition: encxcom.idl:85
@ PD_PENC
Port ENC (PENC) vector data.
Definition: encxcom.idl:66
@ PD_IENC
Inland ENC (IENC) vector data.
Definition: encxcom.idl:65
@ PD_RAL
Routes, Areas and Limits (AML)
Definition: encxcom.idl:69
@ PD_AMLV3_SBO
AML Version 3 - Small Bottom Objects.
Definition: encxcom.idl:87
@ PD_AMLV3_QRT
AML Version 3 - Q - Routes.
Definition: encxcom.idl:86
@ PD_LBO
Large Bottom Object (AML)
Definition: encxcom.idl:70
@ PD_AMLV3_MFI
AML Version 3 - Military Flight Information.
Definition: encxcom.idl:84
@ PD_ENC
ENC vector data.
Definition: encxcom.idl:64
@ PD_AMLV3_FAI
AML Version 3 - Flight Aeronautical Information.
Definition: encxcom.idl:82
@ PD_SBO
Small Bottom Objects (AML)
Definition: encxcom.idl:73
@ PD_MFF
Marine Foundation and Facilities (AML)
Definition: encxcom.idl:68
@ PD_AMLV3_NCD
AML Version 3 - Nautical Chart Background Data.
Definition: encxcom.idl:76
@ PD_ESB
Environment, Seabed and Beach (AML)
Definition: encxcom.idl:72
@ PD_AMLV3_GEN
AML Version 3 - generic.
Definition: encxcom.idl:74
@ PD_AIO
UKHO Admiralty Information Overlay (AIO)
Definition: encxcom.idl:92
@ PD_AMLV3_SED
AML Version 3 - Sediment.
Definition: encxcom.idl:77
@ PD_AMLV3_LBO
AML Version 3 - Large Bottom Objects.
Definition: encxcom.idl:88
@ PD_AMLV3_TSB
AML Version 3 - Territorial Sea Boundaries.
Definition: encxcom.idl:81
@ PD_AMLV3_MNI
AML Version 3 - Military Nautical Information.
Definition: encxcom.idl:91
@ PD_AMLV3_CFI
AML Version 3 - Civil Flight Information.
Definition: encxcom.idl:83
@ PD_AMLV3_CLB
AML Version 3 - Contour Line Bathymetry.
Definition: encxcom.idl:78
@ PD_AMLV3_LND
AML Version 3 - Land Background Data.
Definition: encxcom.idl:75
@ PD_AMLV3_AMP
AML Version 3 - Amphibious Warfare Data.
Definition: encxcom.idl:89
@ PD_WVS
The World Shoreline supplied with ENCX is another product of the S-57 standard.
Definition: encxcom.idl:67
@ PD_AMLV3_MTD
AML Version 3 - Mine Tactical Data.
Definition: encxcom.idl:80
@ PD_BENC
Bathymetric ENC.
Definition: encxcom.idl:93
@ PD_CLB
Contour Line Bathymetry (AML)
Definition: encxcom.idl:71
@ PD_AMLV3_ICE
AML Version 3 - Ice Data.
Definition: encxcom.idl:90
GeoLineType
The shape of the path between two points on the Earth's surface.
Definition: encxcom.idl:55
@ GL_GreatCircle
The shortest route between two points on the WGS-84 spheroid.
Definition: encxcom.idl:56
@ GL_Rhumb
The line of constant bearing between two points on the WGS-84 spheroid.
Definition: encxcom.idl:57
S57CallBackDrawAction
Identifies the relationship between a drawing callback and the drawing of a particular layer.
Definition: encxcom.idl:145
@ CB_NoS57Layer
Don't draw S-57 layer
Definition: encxcom.idl:146
@ CB_BeforeAndAfterS57Layer
Both before and after S-57 layer draw.
Definition: encxcom.idl:149
@ CB_BeforeS57Layer
Before S-57 layer draw
Definition: encxcom.idl:147
@ CB_AfterS57Layer
After S-57 layer draw
Definition: encxcom.idl:148
S57FeatureGeometry
S-57 supports a number of 'geometries', there are basically Points, Lines and Areas.
Definition: encxcom.idl:133
@ FG_Line
An object that is mapped as a line (possibly containing many segments), such as a contour.
Definition: encxcom.idl:136
@ FG_Unknown
Should not normally occur.
Definition: encxcom.idl:139
@ FG_Sounding
A collection of depth soundings.
Definition: encxcom.idl:138
@ FG_None
E.g. a collection of other features, such as the anchors and buoys for a tanker mooring system.
Definition: encxcom.idl:134
@ FG_Point
An object that is mapped as a single point, such as a light (LIGHTS) or a buoy (BOYSPP).
Definition: encxcom.idl:135
@ FG_Area
An object that is mapped as an area, such as some land (LNDARE) or an area of constant sea depth (DEP...
Definition: encxcom.idl:137
PenStyle
Determines the style of pen to use for drawing grid lines.
Definition: encxcom.idl:188
@ PS_Solid
Draw a solid line.
Definition: encxcom.idl:189
@ PS_Dashed
Draw a dashed line.
Definition: encxcom.idl:190
HTMLAction
Definition: encxcom.idl:153
@ SHA_UpdatePagesAndGoHome
Update pages and go home.
Definition: encxcom.idl:161
@ SHA_GoForward
Go forward.
Definition: encxcom.idl:158
@ SHA_DoNothing
Do nothing.
Definition: encxcom.idl:154
@ SHA_GoBack
Go back.
Definition: encxcom.idl:157
@ SHA_MightBeUrl
Might be a URL.
Definition: encxcom.idl:155
@ SHA_GoHome
Go home.
Definition: encxcom.idl:156
@ SHA_UpdatePages
Update pages.
Definition: encxcom.idl:159
@ SHA_UpdatePagesAndReloadCurrentPage
Update pages and reload the current page.
Definition: encxcom.idl:160
S57Projection
Definition: encxcom.idl:172
@ S57Projection_Mercator
Mercator.
Definition: encxcom.idl:174
@ S57Projection_Cylindrical
Original ENCX S-57 projection for fastest drawing.
Definition: encxcom.idl:173
@ S57Projection_PolarStereographic
Polar Stereographic.
Definition: encxcom.idl:175
SBDetailedMode
Used to set the scale bar behaviour when the display scale is more detailed than 1:8,...
Definition: encxcom.idl:113
@ SDM_Off
Don't use detailed mode (default)
Definition: encxcom.idl:114
@ SDM_UseMetres
In detailed mode, set the scale bar length to 100 m (regardless of scale bar units).
Definition: encxcom.idl:116
@ SDM_Auto
In detailed mode, set the scale bar length to 0.1 M when scale bar units are nautical miles or 0....
Definition: encxcom.idl:115
DongleState
The state of dongle. The dongle may either be DFS file (a 'virtual dongle') or a hardware dongle.
Definition: encxcom.idl:27
@ DS_Exists
A dongle exists but is not licensing the product. This may be affected by the OEM key (or default) us...
Definition: encxcom.idl:29
@ DS_Active
Dongle found and working.
Definition: encxcom.idl:30
@ DS_NotFound
No dongle could be found (hardware dongles require drivers, software dongles require the DFS file to ...
Definition: encxcom.idl:28
S57DepthDisplayUnits
Used for the display of soundings and contour depths on S57 charts.
Definition: encxcom.idl:98
@ DDU_MetresECDIS
Display in ECDIS font and style.
Definition: encxcom.idl:101
@ DDU_Feet
Feet.
Definition: encxcom.idl:100
@ DDU_Metres
Metres and decimetres.
Definition: encxcom.idl:99
Events from DongleObserver.
Definition: encxcom.idl:3961
HRESULT OnDongleChangeEvt(void)
Occurs when the state of the dongle has changed.
Events from RasCatalogueObserver.
Definition: encxcom.idl:4063
HRESULT OnChanged()
Occurs when the contents of the raster chart folder has changed. Redraw everything.
Events from S57CatalogueObserver.
Definition: encxcom.idl:4128
Events from S57Draw.
Definition: encxcom.idl:4331
HRESULT OnDrawLayer(OLE_HANDLE hdc, enum S57CallBackDrawAction action, IS57ProductAndUsage *ProductAndUsage, BYTE Layer)
Occurs before or after an S-57 layer is drawn.
Properties and methods for ENCX::DisplayPalette.
Definition: encxcom.idl:364
DOUBLE Luminance
The brightness of drawing. Default 1.0. Anything less than about 0.01 is completely black....
PaletteType PalType
E.g. PalDay, PalDusk, PalNight.
DOUBLE Saturation
The density of colour. Default 1.0. Anything less than about 0.01 is greyscale. Anything more than ab...
A security device.
Definition: encxcom.idl:224
BSTR DeviceName
Obtain a name identifying the security device. Suitable for display to end-users.
DongleState State
Obtain the current status of the security device.
LONG SerialNumber
Serial number of the dongle.
Properties and methods for ENCX::DongleObserver.
Definition: encxcom.idl:254
HRESULT Unregister(void)
Ask to not be notified of dongle state changes.
HRESULT Register(IDongle *dongle)
Register to be notified of dongle state changes.
Properties and methods for ENCX::GeoArea.
Definition: encxcom.idl:471
GeoLineType LineType
The shape of the lines between positions in ::Points.
IGeoPoints Points
A line is assumed between consecutive positions and between the last and first positions.
BSTR RoundedCornersString
Space delimited string containing indexes of the corners that are rounded.
BSTR PointsString
A line is assumed between consecutive positions and between the last and first positions.
Abbreviated and full descriptions of a horizontal datum.
Definition: encxcom.idl:506
BSTR Code
Three character code, e.g. WGE for WGS84, plus optional one-character sub area.
BSTR ShortDescription
Abbreviated description, e.g. WGS84 or OSGB1936.
BSTR LongDescription
Full description, e.g. World Geodetic System 1984.
Properties and methods for ENCX::GeoLine.
Definition: encxcom.idl:554
GeoLineType LineType
The shape of the path to be used between the ends.
HRESULT SetPoint1([in] DOUBLE LatGeodeticDegrees, [in] DOUBLE LonDegrees)
Setting the position of one end of the line.
IGeoPoint Point1
One end of the line.
IGeoPoint Point2
The other end of the line.
HRESULT SetPoint2([in] DOUBLE LatGeodeticDegrees, [in] DOUBLE LonDegrees)
Setting the position of the other end of the line.
HRESULT CreateFromBearingAndLength([in] enum GeoLineType lineType, [in] IGeoPoint *start, [in] DOUBLE bearing, [in] DOUBLE lengthInMeters)
Construct line from length and bearing.
DOUBLE BearingEnd
Bearing at end of line.
DOUBLE LengthInMetres
Length in metres.
DOUBLE BearingStart
Bearing at start.
A collection of geopixes.
Definition: encxcom.idl:847
IGeoPix Item([in] VARIANT vtIndex)
A GeoPix represents a portion of chart visible on the screen.
Definition: encxcom.idl:751
VARIANT_BOOL UseSmallSymbology
Draw symbols smaller (for Overviews).
VARIANT_BOOL PointInView
Returns true iff the last IGeoPix::Point or IGeoPix::PointEx conversion was inside the view.
IGeoRect Extent
The geographical bounding rectangle for the viewport of this IGeoPix.
HRESULT ClipRegionDevicePoints([in] IPixelRect *rect, [in] OLE_HANDLE lHDC, [out, retval] OLE_HANDLE *lhRgn)
Obtains the area of intersection between input rectangle and the visible portion of the chart that th...
HRESULT Area([in] IGeoArea *geoArea, [out, retval] IPolyAreas **areas)
Geographic to Pixel area conversion.
HRESULT GeoPointFromPixelPoint([in] IPixelPoint *pixelPt, [out, retval] IGeoPoint **geoPt)
Obtain a geographical position from a pixel point.
LONG DisplayScale
The scale to show to the user. Based on a nominal pixel pitch for the type of view (typically 200 mic...
HRESULT PointEx([in] IGeoPoint *geoPt, [in] DOUBLE brgGeo, [out] DOUBLE *brgPixel, [out] DOUBLE *distOnePixel, [out, retval] IPixelPoint **pixelPt)
Geographic to Pixel point conversion.
HRESULT Point([in] IGeoPoint *geoPt, [out, retval] IPixelPoint **pixelPt)
Geographic to Pixel point conversion.
HRESULT ClipRegionLogicalPoints([in] IPixelRect *rect, [out, retval] OLE_HANDLE *lhRgn)
Obtains the area of intersection between the input rectangle and the visible portion of the chart tha...
HRESULT Line([in] IGeoLine *geoLine, [out, retval] IPolyLines **lines)
Geographic to Pixel line conversion.
DOUBLE DirectionOfUp
Degrees. Like a compass bearing. Range 0 >= x < 360.
HRESULT ExtentFromRect([in] IPixelRect *rect, [out, retval] IGeoRect **pVal)
The geographical bounding rectangle for rectangle defined in pixel coordinates clipped to the viewpor...
GeoPointFormatter.
Definition: encxcom.idl:280
VARIANT_BOOL UseUniversalGrid
Show the position using the UTM or MGRS universal grid, where available.
UniversalGridType UniversalGrid
The universal grid format to use.
VARIANT_BOOL UseNationalGrid
Show the position using a national grid, where available. When set, this has priority over UseUnivers...
LatLonFormat Format
The format to use for latitude and longitude values. This does not affect grid formats.
Properties and methods for ENCX::GeoPoint.
Definition: encxcom.idl:400
HRESULT ParseMGRS([in] BSTR newVal)
Attempt to parse MGRS string in format {zone band grid easting northing} e.g. "30 U XE 01468 26018".
DOUBLE Lat
Degrees, positive going north, zero on the equator.
BSTR LatLonString
Comma separated lat and lon.
HRESULT ParseLatLon([in] BSTR newVal)
Attempt to parse lat-long string, N|S , E|W, degrees, minutes, seconds.
DOUBLE Lon
Degrees, positive going east, zero on the Greenwich Meridian.
HRESULT ParseUTM([in] BSTR newVal)
Attempt to parse UTM string in format {central_meridian N|S easting northing} e.g....
HRESULT Copy([out, retval] IGeoPoint **pVal)
Get an identical copy of this object. Like the Clone() method but type safe.
BSTR FormattedPosition
Get the position as a string using GeoPointFormatter settings.
Properties and methods for ENCX::GeoPoints.
Definition: encxcom.idl:444
HRESULT Remove([in] LONG nIndex)
IGeoPoint Item([in] VARIANT vtIndex)
HRESULT AddLatLon([in] DOUBLE Lat, [in] DOUBLE Lon)
HRESULT Clear()
HRESULT Add([in] IGeoPoint *geoPoint)
IUnknown _NewEnum
HRESULT Copy([out, retval] IGeoPoints **pVal)
Get an identical copy of this object. Like the Clone() method but type safe.
Properties and methods for ENCX::GeoRect.
Definition: encxcom.idl:527
DOUBLE LonE
DOUBLE LatN
DOUBLE LatS
DOUBLE LonW
Properties and methods for ENCX::GridDisplaySettings.
Definition: encxcom.idl:3248
IGridPen GridPen1
Primary grid pen.
DWORD LabelColour
Label colour.
IGridPen GridPen3
Tertiary grid pen.
HRESULT Copy([out, retval] IGridDisplaySettings **pVal)
Get an identical copy of this object. Like the Clone() method but type safe.
IGridPen GridPen2
Secondary grid pen.
VARIANT_BOOL ShowLabels
Show or hide labels.
VARIANT_BOOL Show
Show or hide the grid.
Properties and methods for ENCX::GridPen.
Definition: encxcom.idl:3210
PenStyle Style
Pen style of grid line.
FLOAT Width
Width of grid line.
HRESULT Copy([out, retval] IGridPen **pVal)
Get an identical copy of this object. Like the Clone() method but type safe.
VARIANT_BOOL Show
Show or hide the grid line.
DWORD Colour
Grid line colour.
Properties and methods for ENCX::HTMLGenerator.
Definition: encxcom.idl:3859
HRESULT ProcessEvent([in] BSTR sEvent, [out, retval] enum HTMLAction *action)
Handle an event from a web browser that is displaying the HTML.
HRESULT S57PropertiesAtPoint([in] IS57Draw *s57draw, [in] IPixelPoint *pixelPt)
Set the point on the chart and the draw object that HTML generated by will refer to.
HRESULT HTML([in] BSTR sUrl, [out, retval] BSTR *pHtml)
Get the HTML.
A way to convert a geographical position between a local horizontal datum and WGS84.
Definition: encxcom.idl:866
VARIANT_BOOL HasLocalDatum
Returns true if the chart has a local datum which is not WGS84.
BSTR LocalDatumLongName
The local datum name in either long or short form. See HCRF 2.0 A.4 HORIZONTAL DATUM CODES.
HRESULT WGS84ToLocal([out] DOUBLE *LatLocal, [out] DOUBLE *LonLocal, [in] DOUBLE LatWGS84, [in] DOUBLE LonWGS84, [out, retval] VARIANT_BOOL *bRes)
Convert a geographical position on WGS84 to the local datum.
BSTR LocalDatumShortName
The local datum name in either long or short form. See HCRF 2.0 A.4 HORIZONTAL DATUM CODES.
DOUBLE ErrorDistanceMetres
The accuracy of the transformation. Units are metres.
HRESULT LocalToWGS84([out] DOUBLE *LatWGS84, [out] DOUBLE *LonWGS84, [in] DOUBLE LatLocal, [in] DOUBLE LonLocal, [out, retval] VARIANT_BOOL *bRes)
Convert a geographical position on the local datum to WGS84.
Properties and methods for ENCX::Library.
Definition: encxcom.idl:310
HRESULT DoIdle([out, retval] VARIANT_BOOL *bRes)
Call while the application is idle and while DoIdle() keeps returning true.
HRESULT Construct([in] BSTR OEMKey, [in] BSTR DFSFileName)
Initialise the ENCX library.
BSTR DFSInstallationId
Get the Installation ID string which is used to obtain a Dongle Free Security (DFS) file from CherSof...
IDongle Dongle
Get the Dongle object. This object can be queried about the state of the dongle.
BSTR DFSFileName
The full pathname of the DFS filename.
BSTR Version
Get the version of the library.
VARIANT_BOOL ValidOEMKey
True if the OEM key supplied when the object was initialized is a valid key.
IGeoPointFormatter GeoPointFormatter
VARIANT_BOOL ValidDFSFile
Is the DFS file valid (an absence of file is considered invalid)
Properties and methods for ENCX::PixelPoint.
Definition: encxcom.idl:599
FLOAT X
Horizontal, increasing from left to right.
FLOAT Y
Vertical, increasing from top to bottom.
A collection of pixel points.
Definition: encxcom.idl:687
IPixelPoint Item([in] VARIANT vtIndex)
IUnknown _NewEnum
Properties and methods for ENCX::PixelRect.
Definition: encxcom.idl:651
LONG Height
Height. Vertical.
LONG Top
Top edge. Vertical, increasing from top to bottom.
LONG Width
Width. Horizontal.
LONG Left
Left edge. Horizontal, increasing from left to right.
Properties and methods for ENCX::PixelSize.
Definition: encxcom.idl:625
LONG Height
Height. Vertical.
LONG Width
Width. Horizontal.
A collection of rings of pixel points. Returned by IGeoPix::Area.
Definition: encxcom.idl:723
IUnknown _NewEnum
IPixelPoints Item([in] VARIANT vtIndex)
A collection of chains of pixel points. Returned by IGeoPix::Line.
Definition: encxcom.idl:706
IPixelPoints Item([in] VARIANT vtIndex)
IUnknown _NewEnum
Properties and methods for ENCX::RasCatalogueObserver.
Definition: encxcom.idl:1254
HRESULT Unregister(void)
Always unregister before the derived class is destroyed.
HRESULT Register([in] IRasManager *rasManager)
Call this when ready to receive change notifications.
Details of a raster chart.
Definition: encxcom.idl:1141
DATE LastChanged
When the last update was applied to this chart.
DATE EditionDate
When this edition of the chart was created.
IRasPanelIdentifiers PanelIdentifiers
Obtain a list of all the panels in the chart.
BSTR Producer1
Description of the country that produced the original chart. E.g. United Kingdom.
IRasDiscIdentity InstallationCD
The CD from which the chart was / can be installed.
IRasNoticeToMarinersNumber LatestNoticeToMarinersNumber
The Notices to Mariners number of the latest update installed.
BSTR NativeFormatShortDescription
The short description of the original format of the chart. E.g ARCS.
IRasNoticesToMariners NoticesToMariners
Obtain the Temporary and Preliminary Notices to Mariners corresponding to the latest update installed...
DATE RasterChartIssueDate
BSTR Number
The identity of the chart. Never blank. E.g. 2182C.
BSTR Producer2
Description of the second country that produced the original chart. Often blank.
VARIANT_BOOL IsComplete
Returns true iff the chart is fully installed.
BSTR Description
A meaningful name for the whole chart.
IRasPanelInfo PanelInfo([in] IRasPanelIdentifier panelId)
Obtain the details of a specified panel.
BSTR CountryOfOrigin
Description of the country that produced the original chart.
VARIANT_BOOL IsWithdrawn
Returns true if the chart's supplier has withdrawn the chart.
IRasDiscIdentity MissingUpdateCD
The CD from which the chart needs to be updated.
VARIANT_BOOL RequiresLicence
All ARCS charts require a license.
BSTR InternationalNumber
The internationally agreed identity of the chart. Often blank.
IRasDiscIdentity MissingReInstallationCD
The CD from which the chart needs to be re-installed.
DATE LatestCorrectionDate
When the last update that has been applied was issued by the data producer.
BSTR NativeFormatLongDescription
The description of the original format of the chart. E.g Admiralty Raster Chart Service.
The identity of a specific panel of a specific chart.
Definition: encxcom.idl:1039
HRESULT Construct([in] BSTR chartNumber, [in] IRasPanelIdentifier *panelID)
Initialize from a specific chart and panel.
BSTR ChartIdentifier
The chart.
IRasPanelIdentifier Panel
The panel within the chart.
A collection of raster chart panel identifiers.
Definition: encxcom.idl:1063
IRasChartPanelIdentifier Item([in] VARIANT vtIndex)
A collection of raster charts.
Definition: encxcom.idl:910
BSTR Item([in] VARIANT vtIndex)
IUnknown _NewEnum
A means of identifying a chart CD.
Definition: encxcom.idl:928
DATE IssueDate
The date the CD was released.
BSTR Description
The name of the CD. E.g. WK23_04.
Properties and methods for ENCX::RasDraw.
Definition: encxcom.idl:1323
BSTR WarningMessage
This message should be brought to the operator's attention when the chart is opened.
HRESULT PanelAtPoint([in] IPixelPoint *ipPixelPt, [out, retval] IRasPanelIdentifier **rpid)
Obtain the identity of the panel at a specified pixel position.
HRESULT HorizontalDatum([in] IPixelPoint *ipPixelPt, [out, retval] IHorizontalDatum **hd)
Obtain the HorizontalDatum at a specified pixel position.
VARIANT_BOOL IndicateUpdates
Highlight the updated areas on the chart. Off by default.
VARIANT_BOOL HasUpdates
True iff there are currently corrections on the chart.
HRESULT SetRect([in] IPixelRect *rect)
The area of the chart to be drawn. Pixel position (0,0) is always at the top left corner of the chart...
BSTR ChartIdentifier
The chart's number. Not necessarily numeric. E.g. "109", "2182C", "AUS1234".
VARIANT_BOOL DisplayUpdates
Draw the chart using the available updates. On by default.
HRESULT PanelNotes([in] IRasPanelIdentifier *panelId, [out, retval] IRasPanelNotes **pVal)
Obtain a collection of notes associated with the specified panel.
DOUBLE PixelSizeMetres
Returns the nominal size of a pixel.
ULONG Magnify
Magnification of raster image - 100% is normal. Range is from 25% to 4000% in 25% intervals.
BSTR UpdateMessage
This message should be brought to the operator's attention when the chart is opened.
IGeoPixCollection VisibleGeoPix
Obtain a snapshot of all the geopixes that are inside Rect(). If you call this property twice you wil...
IPixelSize ChartSize
Return the size of the whole chart in pixels, allowing for it being either full-size or overview.
HRESULT GetRect([out, retval] IPixelRect **rect)
The area of the chart to be drawn. Pixel position (0,0) is always at the top left corner of the chart...
IDisplayPalette DisplayPalette
The colour scheme for the chart. Use to draw the chart with lower luminance for twilight and night vi...
HRESULT GeoPix([in] IPixelPoint *ipPixelPt, [out, retval] IGeoPix **geoPix)
Obtain the GeoPix at a specified pixel position.
HRESULT OpenAtPositionOnPanel([in] IRasManager *rasManager, [in] IRasChartPanelIdentifier *chartAndPanel, [in] IGeoPoint *geoPt)
Set the view rectangle to display the geographical position specified on the panel specified....
VARIANT_BOOL DisplayFullSize
When true, the chart will be drawn at a much reduced size (typically 1/6th of normal size).
HRESULT Draw([in] OLE_HANDLE hDC)
Draw the Rect() portion of the chart to the specified device context.
BSTR PermanentMessage
This message should be displayed on top of the chart at all times.
HRESULT OpenChart([in] IRasManager *rasmanager, [in] BSTR ChartIdentifier)
Use a specific chart.
Properties and methods for ENCX::RasManager.
Definition: encxcom.idl:1208
HRESULT ChartInfo([in] BSTR ChartIdentifier, [out, retval] IRasChartInfo **pVal)
Obtain the details of a specified chart.
HRESULT PanelInfo([in] IRasChartPanelIdentifier *PanelID, [out, retval] IRasPanelInfo **pVal)
Obtain the details of a specified panel on a specified chart.
HRESULT IsValidRasFolder([in] BSTR sPath, [out, retval] VARIANT_BOOL *bRes)
Is the path pointing to a valid RENC. A RENC is the folder structure in which raster charts are insta...
DATE NoticesToMarinersLatestUpdate
HRESULT SetManualWGS84Shift([in] IRasChartPanelIdentifier *PanelId, [in] IGeoPoint *geoPoint, VARIANT_BOOL isSet)
Set the horizontal datum shift for WGS84 manually.
HRESULT PanelsAtPoint([in] DOUBLE dLatGeodeticDegrees, [in] DOUBLE dLonDegrees, [in] LONG ScaleMin, [in] LONG ScaleMax, [out, retval] IRasChartPanelIdentifiers **pVal)
HRESULT PanelsInGeoRect([in] IGeoRect *geoRect, [in] LONG ScaleMin, [in] LONG ScaleMax, [out, retval] IRasChartPanelIdentifiers **pVal)
HRESULT RunInstallApplicationARCS([in] BSTR pathToInstallationApp)
Invoke the CherSoft Windows application that installs and updates ARCS charts in the folder.
IRasCharts Charts
Obtain a collection of all the charts in the folder.
HRESULT CreateRasFolder([in] BSTR sPath)
Create a RENC. A RENC is the folder structure in which raster charts are installed.
HRESULT OpenRasFolder([in] ILibrary *piLibrary, [in] BSTR sPath)
Associate this manager with a specified folder.
HRESULT DisplayPinDialog([in] BSTR chartNumber, [out, retval] VARIANT_BOOL *bRes)
Deprecated - calling this method is no longer required.
IRasNoticesToMariners GeneralNoticesToMariners
A Notice to Mariners.
Definition: encxcom.idl:967
BSTR Text
The content of the notice.
IRasNoticeToMarinersNumber Number
The identity of the notice.
Identification for a notice to mariners.
Definition: encxcom.idl:947
LONG Number
The number of the notice within its Year. Sequential from 1.
LONG Year
The year in which the notice was issued. E.g. 2005.
HRESULT ToString([retval][out] BSTR *pVal)
Obtain a representation of the value as a string.
A collection of Notices to Mariners.
Definition: encxcom.idl:986
IRasNoticeToMariners Item([in] VARIANT vtIndex)
Properties and methods for ENCX::RasPanelIdentifier.
Definition: encxcom.idl:1003
A collection of raster panel identifiers.
Definition: encxcom.idl:1021
IRasPanelIdentifier Item([in] VARIANT vtIndex)
Details of a raster panel.
Definition: encxcom.idl:1085
BSTR ProjectionName
The description of the projection used by the chart. E.g. Mercator.
IGeoPoint ManualWGS84Shift
Returns the manual horizontal datum shift.
IGeoArea GeoArea
Obtain the geographical extent of the panel.
VARIANT_BOOL ManualWGS84ShiftCanBeModified
Returns true iff the horizontal datum shift can be modified using IRasManager.SetManualWGS84Shift().
BSTR HeightDatum
The description of the vertical datum for heights. E.g. Mean High Water Springs.
IGeoHorizontalDatumInfo HorizontalDatumInfo
Obtain details of the horizontal datum for this panel.
LONG Scale
The nominal scale of the chart. Suitable for display to the user, but not for precise calculations.
BSTR DepthUnits
The description of the units used for depths.
LONG SubPanelNumber
Obtain the subsidiary number identifying this panel in the original source data.
LONG PanelNumber
Obtain the number identifying this panel in the original source data.
BSTR DepthDatum
The description of the vertical datum for depths. E.g. Lowest Astronomical Tide.
BSTR HeightUnits
The description of the units used for heights.
HRESULT PointInPanel([in] DOUBLE dLatGeodeticDegrees, [in] DOUBLE dLonDegrees, [out, retval] VARIANT_BOOL *bRes)
Returns true iff the specified geographical position is inside the panel.
IPixelPoints PixelPoints
Obtain the pixel extent of the panel.
VARIANT_BOOL ManualWGS84ShiftIsSet
Returns true iff the horizontal datum shift has been modified programmatically.
BSTR Description
A meaningful name for the panel.
Details of an explanatory note on a raster panel.
Definition: encxcom.idl:1275
BSTR Type
Coarse categorisation of the note. E.g. Routeing or Sources.
BSTR Code
Fine catIdentification of the note. This is a subsidiary classification within Type().
IPixelRect Rect
The bounding box of the note on the chart. Pixel position (0,0) is always at the top left corner of t...
VARIANT_BOOL Display
Returns true if the note should be displayed to the user.
VARIANT_BOOL Obscures
Returns true if the note overlaps any hydrography.
A collection of notes for a raster panel.
Definition: encxcom.idl:1303
IRasPanelNote Item([in] VARIANT vtIndex)
IUnknown _NewEnum
Properties and methods for ENCX::RouteCheck.
Definition: encxcom.idl:3882
VARIANT_BOOL CheckLinesWithinSafetyDistance
Check line features within safety distance.
VARIANT_BOOL CheckAreasWithinSafetyDistance
Check area features within safety distance.
HRESULT Check([in] IGeoPoints *geoPoints, [in] enum GeoLineType lineType, [in] double safetyContourMetres, [in] double safetyDistanceMetres, [in] IS57Manager *manager, [out, retval] BSTR *xml)
Check route safety.
Classification of the properties associated with an S-57 feature.
Definition: encxcom.idl:1696
HRESULT IsInProduct([in] enum S57Product product, [out, retval] VARIANT_BOOL *result)
Whether this Attribute is used by the specified product.
S57Product Product
Deprecated. Use IsInProduct instead.
BSTR Acronym
The six letter alphanumeric abbreviation for this Attribute.
BSTR Name
The name of the Attribute.
An S-57 feature can contain many attributes. Each attribute has a type (IS57Attribute) and a value.
Definition: encxcom.idl:1720
IS57Attribute Attribute
The type of attribute.
BSTR Value
The value of the Attribute.
A collection of S-57 attribute values.
Definition: encxcom.idl:1739
IS57AttributeValue Item([in] VARIANT vtIndex)
Properties and methods for ENCX::S57CatalogueObserver.
Definition: encxcom.idl:3450
HRESULT Unregister(void)
Ask to not be notified of IS57Manager changes.
HRESULT Register([in] IS57Manager *s57Mgr)
Register to be notified of IS57Manager changes.
Properties and methods for ENCX::S57CellIdentifier.
Definition: encxcom.idl:1757
HRESULT Construct([in] enum S57Product product, [in] BSTR cellName)
Compose from parts.
S57Product Product
ENC or WVS.
BSTR CellName
An eight character alphanumeric string.
Properties and methods for ENCX::S57CellIdentifiers; a collection of S57CellIdentifier.
Definition: encxcom.idl:1782
HRESULT Remove([in] LONG nIndex)
HRESULT Add([in] IS57CellIdentifier *cellId)
IS57CellIdentifier Item([in] VARIANT vtIndex)
Details of a single S-57 cell.
Definition: encxcom.idl:2042
LONG LeastDetailedDisplayScaleToShow_Coverage
Whether the contents of a cell is displayed depends on the relationship between the IS57Draw::Display...
LONG IntendedUsage
Can be combined with CellIdentifier::Product to form a ProductIntendedUsage.
DATE PermitExpiryDate
When the licence expires for this cell.
LONG LeastDetailedDisplayScaleToShow_GroupOne
Whether the contents of a cell is displayed depends on the relationship between the IS57Draw::Display...
DATE LastChanged
When the cell was last modified in the SENC.
VARIANT_BOOL PermitIsSubscription
Returns true iff a permit is required for this cell.
BSTR SoundingDatum
Description of the vertical datum used for sea depths and drying heights.
LONG Edition
S-57 allows a cell to be completely replaces instead of being updated.
DATE IssueDate
When the cell was released.
BSTR Agency
Description of the S-57 data producer. 1:1 correspondence with the Agency code in IS57FeatureIdentifi...
BSTR LongFileName
Empty for most ENC suppliers, useful text from NOAA.
BSTR Country
Name of the country providing the cell.
LONG CompilationScale
The nominal scale. The cell should contain a reasonable amount of detail when drawn at this scale.
LONG LeastDetailedDisplayScaleToShow_All
Whether the contents of a cell is displayed depends on the relationship between the IS57Draw::Display...
LONG LatestUpdate
Cell updates are numbered sequentially. 000 indicates a base cell. 001 is the first update.
BSTR VerticalDatum
Description of the vertical datum used for land heights. See SoundingDatum for the vertical datum use...
IS57CellIdentifier CellIdentifier
Unique label for an S-57 cell.
IGeoRect Extent
The geographical bounding rectangle defined by two parallels and two meridians that encloses the feat...
Classification of the properties associated with an S-57 colour.
Definition: encxcom.idl:1882
HRESULT Construct([in] BSTR name)
Initialisation.
An S-57 Colour Identifier combined with the RGB values of the colour for each colour scheme (Day,...
Definition: encxcom.idl:1905
COLORREF DayRGB
The RGB value of the Colour for daylight viewing.
IS57Colour Colour
The type of colour.
COLORREF NightRGB
The RGB value of the Colour for night time viewing.
COLORREF TwilightRGB
The RGB value of the Colour for twilight viewing.
HRESULT Construct([in] IS57Colour *pColour, DWORD rgbDay, DWORD rgbTwilight, DWORD rgbNight)
Initialisation.
A collection of S-57 colours and associated RGB values.
Definition: encxcom.idl:1942
HRESULT Add([in] IS57ColourValue *colourValue)
HRESULT Remove([in] LONG nIndex)
IS57ColourValue Item([in] VARIANT vtIndex)
The combination of a geographical position and the depth at that position.
Definition: encxcom.idl:2100
DOUBLE Depth
The depth at that geographical position. Units are metres. Referenced to the sounding datum (IS57Cell...
IGeoPoint GeoPoint
The geographical position.
A collection of S-57 soundings (position and depth pairs).
Definition: encxcom.idl:2119
IS57DepthPoint Item([in] VARIANT vtIndex)
IUnknown _NewEnum
Properties and methods for ENCX::S57DisplaySettings.
Definition: encxcom.idl:2882
VARIANT_BOOL IgnoreScamin
When set to true ignore the SCAMIN property on any features so they are drawn.
VARIANT_BOOL SymbolisedAreaBoundaries
When true, the edges of some areas (e.g. anchorages) will be drawn with appropriate symbols (e....
DOUBLE SlightlyShallowContourMetres
Separates depth colours when NumberOfDepthZones is 8.
HRESULT MergeXML([in] BSTR xml)
Merge XML string into existing settings.
VARIANT_BOOL TwoColourShadingForDepthZones
When true, two colours are used for non-drying depths; otherwise 4 colours are used.
VARIANT_BOOL ShowOverlappingCellAreas
When set to true where cells with the same navigational purpose overlap, and DeclutterOverlapping is ...
LONG NumTextGroups
Object classes are organised into text groups. The drawing of each text group can be switched on and ...
S57DateMode DateMode
Change between system date, user date or ignore date when handling drawing of features with date depe...
LONG NumDepthZones
Controls the number of colours used for depths. Supersedes the TwoColourShadingForDepthZones property...
DOUBLE DeepContourMetres
Separates depth colours when TwoColourShadingForDepthZones is false.
S57DisplayImprovements ImprovementsLevel
Controls non-standard ENC display improvements. Associated with decluttering ENC displays.
VARIANT_BOOL ViewingGroup([in] LONG ID)
Object classes are organised into viewing groups. The drawing of each viewing group can be switched o...
VARIANT_BOOL OverscaleIndicator
Draw the overscale indicator.
DOUBLE SlightlyDeepContourMetres
Separates depth colours when NumberOfDepthZones is 8.
HRESULT SetScaminForObjectClass([in] IS57ObjectClass *cr, [in] LONG scamin)
Setting the SCAMIN value overrides any SCAMIN in individual features of that object class....
VARIANT_BOOL SimplifiedSymbols
When true, alternative symbols designed to be distinguishable at low resolutions will be used; otherw...
IS57CellIdentifiers CellFilter
Specific cells that can be drawn (excluding all others) or must not be drawn.
IS57ProductAndUsages Usages
The types of S-57 data that should be drawn.
DOUBLE VeryDeepContourMetres
Separates depth colours when NumberOfDepthZones is 8.
LONG NumViewingGroups
Object classes are organised into viewing groups. The drawing of each viewing group can be switched o...
LONG CompilationScaleZoomFactor
The factor which determines when a cell of a particular compilation scale is drawn.
DOUBLE ShallowContourMetres
Separates depth colours when TwoColourShadingForDepthZones is false.
S57DepthDisplayUnits DepthDisplayUnits
The display units for depths (contours and soundings).
DOUBLE SafetyContourMetres
The contour at this depth, or the next shallower depth, is emboldened.
VARIANT_BOOL CellFilterInclusive
Controls the interpretation of CellFilter().
HRESULT SetViewingGroupRange([in] LONG Start, [in] LONG End, [in] VARIANT_BOOL bShow)
Show or hide multiple viewing groups at once.
HRESULT ScaminForObjectClass([in] IS57ObjectClass *cr, [out, retval] LONG *scamin)
Obtaining the SCAMIN value for an object class. Returns 0 if there is no override value.
DOUBLE FontScaleFactor
Affects size of text. Range 0.4 to 4. Default 1.
VARIANT_BOOL TextGroup([in] LONG ID)
Object classes are organised into text groups. The drawing of each text group can be switched on and ...
VARIANT_BOOL FullLengthLightSectorLines
When true, the rays indicating the limits of a light sector will be extended to their true range (or ...
VARIANT_BOOL FeatureFilterInclusive
Controls the interpretation of FeatureFilter().
VARIANT_BOOL ShowIsolatedDangersInShallowWater
When set to true underwater or above water dangers are highlighted with the isolated danger symbol.
DATE Date
Date for chart display which affects seasonal S-57 features (which used PERSTA,PEREND,...
VARIANT_BOOL DeclutterOverlappingCells
When set to true where cells with the same navigational purpose overlap, only draw one of them.
IS57FeatureIdentifiers FeatureFilter
Specific features that can be drawn (excluding all others) or must not be drawn.
DOUBLE SafetyDepthMetres
Soundings deeper than this are displayed in a lighter colour. Units are metres.
DOUBLE VeryShallowContourMetres
Separates depth colours when NumberOfDepthZones is 8.
HRESULT Copy([out, retval] IS57DisplaySettings **pVal)
Get an identical copy of this object. Like the Clone() method but type safe.
BSTR XML
XML string representing settings.
VARIANT_BOOL HighlightDateDependent
When set to true, draw symbol CHDATD01 with date dependent objects.
Properties and methods for ENCX::S57Draw.
Definition: encxcom.idl:3677
S57Projection ProjectionType
Projection (Cylindrical, Mercator or PolarStereographic)
HRESULT AdjustAreaSymbolOffsets([in] LONG cx, [in] LONG cy)
Call with the offset of each scrolling action.
HRESULT CalculateNewDisplayScale([out] VARIANT_BOOL *pbAllowed, [out] LONG *pnScaleOut, [in] LONG nScaleOld, [in] LONG nChange, [in] LONG nSmallestChangeAllowed)
Obtain the sensible next scale in the specified direction.
HRESULT SetDirectionOfUp([in] DOUBLE degrees, [in] IPixelPoint *ipPixelPt, [out, retval] VARIANT_BOOL *pVal)
The geographical orientation of the drawing surface.
HRESULT HighlightSounding([in] IS57FeatureIdentifier *featureId, [in] double depthMetres, [in] VARIANT_BOOL bClear)
Highlight the sounding (true to clear existing highlights, false to add the sounding to the ones alre...
HRESULT VPFCoveragesAtPoint([in] IPixelPoint *pixelPt, [out, retval] BSTR *pXML)
Return XML describing the VPF coverages at a specified point.
DOUBLE DirectionOfUp
The geographical orientation of the drawing surface.
DOUBLE PixelSizeMetres
The nominal size of a pixel.
SBDetailedMode ScalebarDetailedMode
Get scroll bar behaviour mode when display scale is less than 1:8,000.
HRESULT SetPositionAndScaleExact([in] IGeoRect *geoRect, [out, retval] VARIANT_BOOL *bRes)
Set the geographical position and scale so that the specified rectangle exactly. The corners of the d...
IS57DisplaySettings DisplaySettings
The display settings control the symbolisation (drawing style) and what types of object are drawn or ...
HRESULT SetSize([in] IPixelSize *sz)
The area inside the rectangle (0,0) to (Size.Width,Size.Height) will be drawn.
VARIANT_BOOL DrawGrid
Set to true to draw a simple geodetic grid on top of S-57 data (deprecated - use GridDisplaySettings ...
LONG DisplayScale
The nominal scale of the chart. Suitable for display to the user, but not for precise calculations.
IGeoPix GeoPix
Obtain the geopix.
IGeoPoint PositionOfCentre
Obtain the geographical position of the centre of the drawing surface.
IGridDisplaySettings GridDisplaySettings
The display settings for the grid.
HRESULT SetVPFManager([in] IVPFManager *pMgr)
Connect to a VPF chart folder. All the VPF data to be drawn on the device context will be obtained fr...
HRESULT Draw([in] OLE_HANDLE lHDC)
Draw the chart to the specified device context.
ScaleBarUnits Scalebar
The units for the scalebar.
IGeoRect GeoExtent
The geographical rectangle of the drawing surface.
HRESULT VPFFeaturesAtPoint([in] IPixelPoint *pixelPt, [out, retval] BSTR *pXML)
Return XML describing the VPF features at a specified point.
HRESULT SetPosition([in] IGeoPoint *geoPt, [in] IPixelPoint *pixelPt, [out, retval] VARIANT_BOOL *bRes)
Set the geographical position at the specified pixel position on the drawing surface.
HRESULT DepthAtPoint([in] IPixelPoint *pixelPt, [out] DOUBLE *depthInMetres, [out, retval] VARIANT_BOOL *succeeded)
Get the depth at a pixel position within the view.
DWORD BackgroundColour
Get background colour.
IDisplayPalette DisplayPalette
The colour scheme for the chart. Use to draw the chart with lower luminance for twilight and night vi...
HRESULT SetPositionAndScale([in] IGeoRect *geoRect, [out, retval] VARIANT_BOOL *bRes)
Set the geographical position and scale so that the specified rectangle just fits on the drawing surf...
HRESULT GetSize([out, retval] IPixelSize **sz)
The area inside the rectangle (0,0) to (Size.Width,Size.Height) will be drawn.
IWVSDisplaySettings WVSDisplaySettings
The display settings for single file WVS.
VARIANT_BOOL ShowPreviousCells
Draw the S-57 cells using the previous updates. Off by default.
HRESULT SetManager([in] IS57Manager *pMgr)
Connect to a SENC. All the S-57 data to be drawn on the device context will be obtained from pMgr.
HRESULT SetDisplayScale([in] LONG nDisplayScale, [in] IPixelPoint *ipPixelPt)
Set the nominal scale of the chart. Suitable for display to the user, but not for precise calculation...
HRESULT SetDrawLayerCallback([in] enum S57CallBackDrawAction callBackDrawAction, [in] IS57ProductAndUsage *iproductAndUsage, [in] BYTE Layer)
Insert a callback into the drawing sequence.
HRESULT HighlightFeature([in] IS57FeatureIdentifier *featureId, [in] VARIANT_BOOL bClear)
Highlight the feature (true to clear existing highlights, false to add the feature to the ones alread...
IVPFDisplaySettings VPFDisplaySettings
The VPF display settings to control drawing.
HRESULT FeaturesAtPoint([in] IPixelPoint *pixelPt, [out, retval] IS57DrawnFeatures **pVal)
How a feature is (or would be) drawn. Obtained when hit-testing a S57Draw object.
Definition: encxcom.idl:2619
IS57FeatureIdentifier FeatureID
The identity of the feature.
LONG DisplayPriorityPoint
The Z order of the object for points. 0 (lowest) to 9 (highest) within the feature's ProductIntendedU...
IS57DrawnFeatures Slaves
Child objects (if any) and how they are drawn.
VARIANT_BOOL Visible
Whether the object is actually drawn. Some objects exist but are not symbolised (e....
LONG DisplayPriorityArea
The Z order of the object for areas. 0 (lowest) to 9 (highest) within the feature's ProductIntendedUs...
LONG DisplayPriorityLine
The Z order of the object for lines. 0 (lowest) to 9 (highest) within the feature's ProductIntendedUs...
A collection of features returned by hit-testing an S57Draw object.
Definition: encxcom.idl:2647
IS57DrawnFeature Item([in] VARIANT vtIndex)
A geographical area - a closed region on the surface of the earth.
Definition: encxcom.idl:2137
IGeoPoints Points
A snapshot of the Geographic Points that make up the face.
A collection of S-57 faces.
Definition: encxcom.idl:2154
IS57Face Item([in] VARIANT vtIndex)
IUnknown _NewEnum
Information about a feature of 'Area' geometry.
Definition: encxcom.idl:2538
IS57Faces Faces
The geometry of the feature.
IS57FeatureInfo FeatureInfo
The basic information as for any type of feature.
Properties and methods for ENCX::S57FeatureIdentifier.
Definition: encxcom.idl:2447
SHORT FIDS
The combination of FIDN and FIDS (usually) uniquely identifies an S-57 feature within a particular S-...
IS57CellIdentifier CellIdentifier
The same feature can occur in multiple cells (e.g. if a line or area straddles a cell boundary).
LONG Index
In some cells, the same identifier is used for multiple features. Index can be used to differentiate ...
HRESULT ConstructEx([in] SHORT Agency, [in] LONG FIDN, [in] SHORT FIDS, [in] IS57CellIdentifier *piCellID, [in] LONG index)
Compose from parts including index.
LONG FIDN
The combination of FIDN and FIDS (usually) uniquely identifies an S-57 feature within a particular S-...
HRESULT ToString([out, retval] BSTR *pVal)
Obtain a string representation of the identifier.
SHORT Agency
Per provider identifier of a particular feature in a particular cell. 1:1 correspondence with the Age...
HRESULT ToStringEx([out, retval] BSTR *pVal)
Obtain a string representation of the identifier.
HRESULT FromString([in] BSTR val)
Construct from string.
HRESULT Construct([in] SHORT Agency, [in] LONG FIDN, [in] SHORT FIDS, [in] IS57CellIdentifier *piCellID)
Compose from parts.
A collection of S-57 feature identifiers.
Definition: encxcom.idl:2491
HRESULT Remove([in] LONG nIndex)
HRESULT Add([in] IS57FeatureIdentifier *featureId)
IS57FeatureIdentifier Item([in] VARIANT vtIndex)
Generic information. Can be used with any feature.
Definition: encxcom.idl:2516
IS57AttributeValues Attributes
Obtain the collection of attributes (and their values) for this feature.
IS57FeatureIdentifier FeatureID
Globally unique identification of the feature.
IS57ObjectClass ObjectClass
Classification of features. E.g. DEPARE.
IS57FeatureIdentifiers Slaves
Obtain the collection of subsidiary features for this feature.
Information about a feature of 'Line' geometry.
Definition: encxcom.idl:2556
IS57FeatureInfo FeatureInfo
The basic information as for any type of feature.
IGeoPoints Points
The geometry of the feature.
Information about a feature of 'Point' geometry.
Definition: encxcom.idl:2577
IS57FeatureInfo FeatureInfo
The basic information as for any type of feature.
IGeoPoint Point
The geometry of the feature.
Properties and methods for ENCX::S57FeatureQuery.
Definition: encxcom.idl:3418
HRESULT SetAreaFilter([in] IGeoRect *rect)
Constrain to a geographical area. Default is the whole world.
IS57FeatureIdentifiers Results
Obtain the collection of features that satisfy the constraints.
HRESULT SetObjectFilter([in] IS57ObjectClassCollection *ObjectClassCollection, [in] VARIANT_BOOL bInclude)
Constrain to specific types of object.
HRESULT Construct([in] IS57Manager *manager, [in] IS57CellIdentifier *cellid)
Specify the SENC the S-57 cell to be queried.
HRESULT SetFeatureFilter([in] IS57FeatureIdentifiers *featureIds, [in] VARIANT_BOOL bInclude)
Constrain to specific features.
Information about a collection of soundings.
Definition: encxcom.idl:2596
IS57DepthPoints Depths
The geometry of the feature.
IS57FeatureInfo FeatureInfo
The basic information as for any type of feature.
Properties and methods for ENCX::S57Manager.
Definition: encxcom.idl:3339
HRESULT FeatureInfo([in] IS57FeatureIdentifier *pifid, [out, retval] IS57FeatureInfo **pVal)
Obtain the general details for a specified S-57 feature.
HRESULT RunInstallApplication([in] BSTR pathToApplication)
Invoke the CherSoft Windows application that installs and updates ENC cells in the SENC.
HRESULT IsValidSencFolder([in] BSTR sPath, [out, retval] VARIANT_BOOL *bRes)
Is the path pointing to a valid SENC. A SENC is the folder structure in which ENC chart data is insta...
HRESULT Cells([in] IS57ProductAndUsages *ProductAndUsages, [in] IGeoRect *cr, [out, retval] IS57CellIdentifiers **pVal)
Obtain the collection of all the cells in this SENC.
IS57ProductAndUsages InstalledProducts
Obtain the collection of S-57 products currently present in this SENC.
HRESULT FeatureInfoSounding([in] IS57FeatureIdentifier *pifid, [out, retval] IS57FeatureSounding **pVal)
Obtain the general details and spatial details (one or more point geographical positions) for a speci...
HRESULT OpenSenc([in] ILibrary *EncXLibrary, [in] BSTR sSencFolder)
Associate this manager with a specified folder.
HRESULT UserPermit([out, retval] BSTR *pUserPermit)
The ENC user permit needed to buy commercial ENC chart data.
HRESULT Geometry([in] IS57FeatureIdentifier *pifid, [out, retval] enum S57FeatureGeometry *pVal)
Obtain the geometry of a specified S-57 feature.
HRESULT CellInfo([in] IS57CellIdentifier *piCellID, [out, retval] IS57CellInfo **pVal)
Obtain the details for a specified S-57 cell.
IS57CellIdentifiers UnusedCells
Obtain a collection of the cells in the Senc that cannot be used. These cells need to be re-installed...
HRESULT FeatureInfoLine([in] IS57FeatureIdentifier *pifid, [out, retval] IS57FeatureLine **pVal)
Obtain the general details and spatial details (a chain of geographical positions) for a specified S-...
HRESULT FeatureInfoArea([in] IS57FeatureIdentifier *pifid, [out, retval] IS57FeatureArea **pVal)
Obtain the general details and spatial details (one or more rings of geographical positions) for a sp...
HRESULT CreateSencFolder([in] BSTR sPath)
Create a SENC. A SENC is the folder structure in which ENC chart data is installed.
HRESULT OpenSencAndWVS([in] ILibrary *EncXLibrary, [in] BSTR sSencFolder, [in] BSTR sWVSFileOrFolder)
Open ENC SENC and World Vector Shoreline .cvcf file or WVS SENC folder.
HRESULT ObjectClass([in] IS57FeatureIdentifier *fid, [out, retval] IS57ObjectClass **pVal)
Obtain the type (ObjectClass in S-57 language) of a specified S-57 feature.
HRESULT FeatureInfoPoint([in] IS57FeatureIdentifier *pifid, [out, retval] IS57FeaturePoint **pVal)
Obtain the general details and spatial details (a single geographical position) for a specified S-57 ...
HRESULT CloseSenc(void)
Dissociate from the current folder.
HRESULT OpenSenc2([in] ILibrary *EncXLibrary, [in] IS57ManagerInitialisationData *p)
Associate this manager with a specified folder.
Properties and methods for ENCX::S57ManagerInitialisationData.
Definition: encxcom.idl:3296
BSTR SencPath
Associate the manager with a specified folder.
BSTR PresentationLibraryFileName
The file name and extension for the presentation library file.
VARIANT_BOOL ReadOnly
Read only SENCs will not be watched for changes and will be fully initialized to draw charts as soon ...
BSTR WVSPath
Associate the manager with a World Vector Shoreline .cvcf file or SENC folder.
IS57ColourValues ColourValues
Colour values that will override the default values.
A collection of S-57 Object Classes.
Definition: encxcom.idl:2423
IS57ObjectClass Item([in] VARIANT vtIndex)
HRESULT Add([in] IS57ObjectClass *objectClass)
HRESULT Remove([in] LONG nIndex)
Properties and methods for ENCX::S57ObjectClass.
Definition: encxcom.idl:2395
HRESULT IsInProduct([in] enum S57Product product, [out, retval] VARIANT_BOOL *result)
Whether this ObjectClass is used by the specified product.
S57Product Product
Deprecated. Use IsInProduct instead.
BSTR Acronym
The six letter alphanumeric abbreviation for this ObjectClass.
HRESULT Construct([in] BSTR acronym)
Initialisation.
BSTR Description
The name of the ObjectClass.
Properties and methods for ENCX::S57ProductAndUsage.
Definition: encxcom.idl:1967
S57Product Product
ENC, IENC or WVS.
BYTE IntendedUsage
For ENC and IENC, a navigational purpose. For WVS, 1.
A collection of S-57 product / intended usage pairs.
Definition: encxcom.idl:2015
HRESULT Remove([in] LONG nIndex)
HRESULT RestoreDefault()
HRESULT Add([in] IS57ProductAndUsage *ProductAndUsage)
IS57ProductAndUsage Item([in] VARIANT vtIndex)
Properties and methods for ENCX::VPFCatalogueObserver.
Definition: encxcom.idl:3657
HRESULT Register([in] IVPFManager *vpfMgr)
Register to be notified of chart folder changes. Call OpenVenc first.
HRESULT Unregister(void)
Ask to not be notified of chart folder changes.
Properties and methods for ENCX::VPFDisplaySettings.
Definition: encxcom.idl:3566
DOUBLE CompilationScaleZoomFactor
The factor which determines when a cell of a particular compilation scale is drawn.
DOUBLE ShallowContourMetres
Separates depth colours when TwoColourShadingForDepthZones is false.
IVPFFeatureSet FeatureSet
The types of features to draw.
VARIANT_BOOL ShallowPattern
ShallowPattern draw diamond shallow patterns in areas where the depth is less than or equal to Shallo...
DOUBLE SafetyContourMetres
The contour at this depth, or the next shallower depth, is emboldened.
DOUBLE DeepContourMetres
Separates depth colours when TwoColourShadingForDepthZones is false.
VARIANT_BOOL TwoColourShadingForDepthZones
When true, two colours are used for non-drying depths; otherwise 4 colours are used.
HRESULT Copy([out, retval] IVPFDisplaySettings **pVal)
Get an identical copy of this object. Like the Clone() method but type safe.
VARIANT_BOOL SimplifiedSymbols
When true, alternative symbols designed to be distinguishable at low resolutions will be used; otherw...
Properties and methods for ENCX::VPFFeatureSet.
Definition: encxcom.idl:3470
HRESULT Add([in] enum VPFFeatureType t)
HRESULT Remove([in] enum VPFFeatureType t)
HRESULT Contains([in] enum VPFFeatureType t, [out, retval] VARIANT_BOOL *pVal)
Properties and methods for ENCX::IVPFIteratorGuide_CoverageUse.
Definition: encxcom.idl:3489
Properties and methods for ENCX::VPFIteratorGuide_DatabaseUse.
Definition: encxcom.idl:3528
IVPFIteratorGuide_LibraryUse Item([in] VARIANT vtIndex)
Properties and methods for ENCX::IVPFIteratorGuide_LibraryUse.
Definition: encxcom.idl:3507
IVPFIteratorGuide_CoverageUse Item([in] VARIANT vtIndex)
IGeoRect Extent
The geographical bounding rectangle defined by two parallels and two meridians that encloses the libr...
Properties and methods for ENCX::VPFIteratorGuide.
Definition: encxcom.idl:3547
IVPFIteratorGuide_DatabaseUse Item([in] VARIANT vtIndex)
Properties and methods for ENCX::VPFManager.
Definition: encxcom.idl:3630
HRESULT OpenVenc([in] ILibrary *EncXLibrary, [in] BSTR chartFolder)
Associate this manager with a specified chart folder.
IVPFIteratorGuide IteratorGuide
The collection of Library/Database/Coverage in the chart folder.
HRESULT CloseVenc(void)
Dissociate from the current folder.
HRESULT RunInstallApplication([in] BSTR pathToApplication)
Invoke the CherSoft Windows application to install/update files in the VPF chart folder.
Properties and methods for ENCX::WVSDisplaySettings. These settings only affect single-file WVS drawi...
Definition: encxcom.idl:3133
FLOAT LandOutlineWidth
Width of the land outline.
DWORD LandOutlineColour
Colour of the land outline.
DWORD AntarcticaOutlineColour
Colour of Antarctica outline.
HRESULT Copy([out, retval] IWVSDisplaySettings **pVal)
Get an identical copy of this object. Like the Clone() method but type safe.
DWORD BorderColour
Colour of the political borders.
DWORD LandColour
Fill colour of the land.
FLOAT BorderWidth
Width of the political borders.
DWORD AntarcticaColour
Fill colour of Antarctica.
DWORD LakeColour
Colour of the lakes.
FLOAT RiverWidth
Width of the rivers.
VARIANT_BOOL Show
Show or hide WVS.
DWORD RiverColour
Colour of the rivers.
FLOAT LakeOutlineWidth
Width of the lake outline.
DWORD LakeOutlineColour
Colour of the lake outline.
An SDK for the display and use of marine navigational information supporting S-57/ENC and ARCS.
Definition: encxcom.idl:3911