ENCX SDK  5.5.0.1115
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 
1196 
1197  [propget, id(23), helpstring("property PermitExpiryDate")] HRESULT PermitExpiryDate([out, retval] DATE* pVal);
1198 };
1199 
1200 
1202 [
1203  object,
1204  uuid(cb25f62f-7cb6-11e1-8889-0024e84637be),
1205  dual,
1206  helpstring("IRasManager Interface"),
1207  nonextensible,
1208  pointer_default(unique),
1209  hidden
1210 ]
1212 {
1214  [id(2), helpstring("method OpenRasFolder")] HRESULT OpenRasFolder([in] ILibrary * piLibrary, [in] BSTR sPath);
1216  [propget, id(4), helpstring("property Charts")] HRESULT Charts([out, retval] IRasCharts ** pVal);
1218  [id(5), helpstring("method ChartInfo")] HRESULT ChartInfo([in] BSTR ChartIdentifier, [out, retval] IRasChartInfo ** pVal);
1220  [id(6), helpstring("method PanelInfo")] HRESULT PanelInfo([in] IRasChartPanelIdentifier * PanelID, [out, retval] IRasPanelInfo ** pVal);
1221  [propget, id(7), helpstring("property NoticesToMarinersLatestUpdate")] HRESULT NoticesToMarinersLatestUpdate([out, retval] DATE* pVal);
1222  [propget, id(8), helpstring("property GeneralNoticesToMariners")] HRESULT GeneralNoticesToMariners([out, retval] IRasNoticesToMariners ** pVal);
1223  [id(9), helpstring("method PanelsInGeoRect")] HRESULT PanelsInGeoRect([in] IGeoRect * geoRect, [in] LONG ScaleMin, [in] LONG ScaleMax, [out, retval] IRasChartPanelIdentifiers ** pVal);
1224  [id(10), helpstring("method PanelsAtPoint")] HRESULT PanelsAtPoint([in] DOUBLE dLatGeodeticDegrees, [in] DOUBLE dLonDegrees, [in] LONG ScaleMin, [in] LONG ScaleMax, [out, retval] IRasChartPanelIdentifiers ** pVal);
1226 
1227  [id(11), helpstring("method SetManualWGS84Shift")] HRESULT SetManualWGS84Shift([in] IRasChartPanelIdentifier * PanelId, [in] IGeoPoint * geoPoint, VARIANT_BOOL isSet);
1228 
1230  [id(12), helpstring("method DisplayPinDialog")] HRESULT DisplayPinDialog([in] BSTR chartNumber, [out, retval] VARIANT_BOOL * bRes);
1231 
1233  [id(13), helpstring("Invoke the CherSoft Windows application that installs and updates ARCS charts in the folder")] HRESULT RunInstallApplicationARCS([in] BSTR pathToInstallationApp);
1234 
1236  [id(15), helpstring("method IsValidRasFolder")] HRESULT IsValidRasFolder([in] BSTR sPath, [out, retval] VARIANT_BOOL * bRes);
1238  [id(16), helpstring("method CreateRasFolder")] HRESULT CreateRasFolder([in] BSTR sPath);
1239 
1240 #if !defined DOXYGEN_SHOULD_SKIP_THIS
1241  [id(17), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
1242 #endif
1243 };
1244 
1245 
1247 
1248 [
1249  object,
1250  uuid(cb25f630-7cb6-11e1-8889-0024e84637be),
1251  dual,
1252  helpstring("IRasCatalogueObserver Interface"),
1253  nonextensible,
1254  pointer_default(unique),
1255  hidden
1256 ]
1258 {
1260  [id(1), helpstring("method Register")] HRESULT Register([in] IRasManager * rasManager);
1262  [id(2), helpstring("method Unregister")] HRESULT Unregister(void);
1263 };
1264 
1265 
1267 
1269 [
1270  object,
1271  uuid(cb25f631-7cb6-11e1-8889-0024e84637be),
1272  dual,
1273  helpstring("IRasPanelNote Interface"),
1274  nonextensible,
1275  pointer_default(unique),
1276  hidden
1277 ]
1279 {
1281  [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);
1283 
1285  [propget, id(3), helpstring("Fine catIdentification of the note")] HRESULT Code([out, retval] BSTR* pVal);
1287  [propget, id(4), helpstring("Coarse categorisation of the note")] HRESULT Type([out, retval] BSTR* pVal);
1289  [propget, id(5), helpstring("Returns true if the note overlaps any hydrography")] HRESULT Obscures([out, retval] VARIANT_BOOL* pVal);
1291 
1293  [propget, id(6), helpstring("Returns true if the note should be displayed to the user")] HRESULT Display([out, retval] VARIANT_BOOL* pVal);
1294 };
1295 
1297 [
1298  object,
1299  uuid(cb25f632-7cb6-11e1-8889-0024e84637be),
1300  dual,
1301  helpstring("IRasPanelNotes Interface"),
1302  nonextensible,
1303  pointer_default(unique),
1304  hidden
1305 ]
1307 {
1308  [propget, id(0), helpstring("property Item")] HRESULT Item([in] VARIANT vtIndex, [out,retval] IRasPanelNote ** panelNote);
1309  [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] LONG* pVal);
1310  [propget, id(-4), helpstring("property _NewEnum"), restricted] HRESULT _NewEnum([out, retval] IUnknown** pVal);
1311 };
1312 
1313 
1315 
1317 [
1318  object,
1319  uuid(cb25f633-7cb6-11e1-8889-0024e84637be),
1320  dual,
1321  helpstring("IRasDraw Interface"),
1322  nonextensible,
1323  pointer_default(unique),
1324  hidden
1325 ]
1326 interface IRasDraw : IDispatch
1327 {
1329  [id(1), helpstring("Use a specific chart")] HRESULT OpenChart([in] IRasManager * rasmanager, [in] BSTR ChartIdentifier);
1331  [propget, id(2), helpstring("The chart's number")] HRESULT ChartIdentifier([out, retval] BSTR* pVal);
1333 
1335  [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);
1337 
1339  [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);
1341 
1344  [propget, id(4), helpstring("True iff there are currently corrections on the chart")] HRESULT HasUpdates([out, retval] VARIANT_BOOL* pVal);
1346 
1347  [propget, id(5), helpstring("Draw the chart using the available updates. On by default")] HRESULT DisplayUpdates([out, retval] VARIANT_BOOL* pVal);
1349 
1350  [propput, id(5), helpstring("Draw the chart using the available updates. On by default")] HRESULT DisplayUpdates([in] VARIANT_BOOL newVal);
1352 
1353  [propget, id(6), helpstring("Highlight the updated areas on the chart. Off by default")] HRESULT IndicateUpdates([out, retval] VARIANT_BOOL* pVal);
1355 
1356  [propput, id(6), helpstring("Highlight the updated areas on the chart. Off by default")] HRESULT IndicateUpdates([in] VARIANT_BOOL newVal);
1358  [propget, id(7), helpstring("The colour scheme for the chart")] HRESULT DisplayPalette([out, retval] IDisplayPalette ** pVal);
1360  [propput, id(7), helpstring("The colour scheme for the chart")] HRESULT DisplayPalette([in] IDisplayPalette * newVal);
1362  [propget, id(8), helpstring("This message should be displayed on top of the chart at all times")] HRESULT PermanentMessage([out, retval] BSTR* pVal);
1364  [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);
1366  [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);
1368  [propget, id(12), helpstring("Snapshot of all the geopixes that are inside Rect()")] HRESULT VisibleGeoPix([out, retval] IGeoPixCollection ** pVal);
1370 
1371  [propget, id(13), helpstring("Returns the nominal size of a pixel")] HRESULT PixelSizeMetres([out, retval] DOUBLE* sz);
1373  [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);
1375 
1376  [id(15), helpstring("Obtain the identity of the panel at a specified pixel position")] HRESULT PanelAtPoint([in] IPixelPoint * ipPixelPt, [out,retval] IRasPanelIdentifier ** rpid);
1378 
1379  [id(16), helpstring("Obtain the GeoPix at a specified pixel position")] HRESULT GeoPix([in] IPixelPoint * ipPixelPt, [out,retval] IGeoPix ** geoPix);
1381 
1382  [id(17), helpstring("Obtain the HorizontalDatum at a specified pixel position")] HRESULT HorizontalDatum([in] IPixelPoint * ipPixelPt, [out,retval] IHorizontalDatum ** hd);
1384 
1385  [id(18), helpstring("Draw the Rect() portion of the chart to the specified device context")] HRESULT Draw([in] OLE_HANDLE hDC);
1387  [id(19), helpstring("Obtain a collection of notes associated with the specified panel")] HRESULT PanelNotes([in] IRasPanelIdentifier * panelId, [out, retval] IRasPanelNotes ** pVal);
1388 
1390 
1391  [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);
1393 
1394  [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);
1396 
1397  [id(22), helpstring("Set the view rectangle to display the geographical position specified on the panel specified.")]
1398  HRESULT OpenAtPositionOnPanel([in] IRasManager * rasManager, [in] IRasChartPanelIdentifier * chartAndPanel, [in] IGeoPoint * geoPt);
1399 
1401  [propget, id(23), helpstring("Magnify raster chart")] HRESULT Magnify([out, retval] ULONG* percent);
1403 
1404  [propput, id(23), helpstring("Magnify raster chart")] HRESULT Magnify([in] ULONG percent);
1405 
1407 
1408  [id(24), helpstring("Obtain the GeoPix for the specified panel")] HRESULT PanelGeoPix([in] IRasPanelIdentifier* panelID, [out, retval] IGeoPix** geoPix);
1409 };
1410 
1411 #endif
1413 // S57 interfaces
1415 
1417 
1694 [
1695  object,
1696  uuid(cb25f634-7cb6-11e1-8889-0024e84637be),
1697  dual,
1698  helpstring("IS57Attribute Interface"),
1699  nonextensible,
1700  pointer_default(unique),
1701  hidden
1702 ]
1704 {
1706  [propget, id(1), hidden, helpstring("property Product")] HRESULT Product([out, retval] enum S57Product* pVal);
1708  [propget, id(2), helpstring("property Acronym")] HRESULT Acronym([out, retval] BSTR* pVal);
1710  [propget, id(3), helpstring("property Name")] HRESULT Name([out, retval] BSTR* pVal);
1712  [id(4), helpstring("Whether this Attribute is used by the specified product")] HRESULT IsInProduct([in] enum S57Product product, [out, retval] VARIANT_BOOL * result);
1713 };
1714 
1715 
1717 
1718 [
1719  object,
1720  uuid(cb25f635-7cb6-11e1-8889-0024e84637be),
1721  dual,
1722  helpstring("IS57AttributeValue Interface"),
1723  nonextensible,
1724  pointer_default(unique),
1725  hidden
1726 ]
1728 {
1730  [propget, id(1), helpstring("property Attribute")] HRESULT Attribute([out, retval] IS57Attribute ** pVal);
1732  [propget, id(2), helpstring("property Value")] HRESULT Value([out, retval] BSTR* pVal);
1733 };
1734 
1735 
1737 [
1738  object,
1739  uuid(cb25f636-7cb6-11e1-8889-0024e84637be),
1740  dual,
1741  helpstring("IS57AttributeValues Interface"),
1742  nonextensible,
1743  pointer_default(unique),
1744  hidden
1745 ]
1747 {
1748  [propget, id(0), helpstring("property Item")] HRESULT Item([in] VARIANT vtIndex, [out,retval] IS57AttributeValue ** attrValue);
1749  [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] LONG* pVal);
1750  [propget, id(-4), helpstring("property _NewEnum"), restricted] HRESULT _NewEnum([out, retval] IUnknown** pVal);
1751 };
1752 
1753 
1755 [
1756  object,
1757  uuid(cb25f637-7cb6-11e1-8889-0024e84637be),
1758  dual,
1759  helpstring("IS57CellIdentifier Interface"),
1760  nonextensible,
1761  pointer_default(unique),
1762  hidden
1763 ]
1765 {
1767 
1768  [propget, id(1), helpstring("property CellName")] HRESULT CellName([out, retval] BSTR* pVal);
1770  [propget, id(2), helpstring("property Product")] HRESULT Product([out, retval] enum S57Product* pVal);
1772  [id(3), helpstring("method Construct")] HRESULT Construct([in] enum S57Product product, [in] BSTR cellName);
1773 
1774 #if !defined DOXYGEN_SHOULD_SKIP_THIS
1775  [id(4), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
1776 #endif
1777 };
1778 
1780 [
1781  object,
1782  uuid(cb25f638-7cb6-11e1-8889-0024e84637be),
1783  dual,
1784  helpstring("IS57CellIdentifiers Interface"),
1785  nonextensible,
1786  pointer_default(unique),
1787  hidden
1788 ]
1790 {
1791  [propget, id(0), helpstring("property Item")] HRESULT Item([in] VARIANT vtIndex, [out,retval] IS57CellIdentifier** cellId);
1792  [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] LONG* pVal);
1793  [propget, id(-4), helpstring("property _NewEnum"), restricted] HRESULT _NewEnum([out, retval] IUnknown** pVal);
1794  [id(2), helpstring("method Add")] HRESULT Add([in] IS57CellIdentifier * cellId);
1795  [id(3), helpstring("method Remove")] HRESULT Remove([in] LONG nIndex);
1796  [id(4), helpstring("method Clear")] HRESULT Clear();
1797 
1798 #if !defined DOXYGEN_SHOULD_SKIP_THIS
1799  [id(5), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
1800 #endif
1801 };
1802 
1804 
1880 [
1881  object,
1882  uuid(cb25f639-7cb6-11e1-8889-0024e84637be),
1883  dual,
1884  helpstring("IS57Colour Interface"),
1885  nonextensible,
1886  pointer_default(unique),
1887  hidden
1888 ]
1890 {
1891  [propget, id(1), helpstring("property Name")] HRESULT Name([out, retval] BSTR* pVal);
1892  [propput, id(1), helpstring("property Name")] HRESULT Name([in] BSTR val);
1894  [id(2), helpstring("Construct")] HRESULT Construct([in] BSTR name);
1895 
1896 #if !defined DOXYGEN_SHOULD_SKIP_THIS
1897  [id(3), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
1898 #endif
1899 };
1900 
1901 
1903 [
1904  object,
1905  uuid(cb25f63a-7cb6-11e1-8889-0024e84637be),
1906  dual,
1907  helpstring("IS57ColourValue Interface"),
1908  nonextensible,
1909  pointer_default(unique),
1910  hidden
1911 ]
1913 {
1915  [id(1), helpstring("Construct")] HRESULT Construct([in] IS57Colour * pColour, DWORD rgbDay, DWORD rgbTwilight, DWORD rgbNight);
1917  [propget, id(2), helpstring("property Colour")] HRESULT Colour([out, retval] IS57Colour ** pVal);
1919  [propput, id(2), helpstring("property Colour")] HRESULT Colour([in] IS57Colour * pVal);
1921  [propget, id(3), helpstring("property RGB for daylight viewing")] HRESULT DayRGB([out, retval] COLORREF* rgb);
1923  [propput, id(3), helpstring("property RGB for daylight viewing")] HRESULT DayRGB([in] COLORREF rgb);
1925  [propget, id(4), helpstring("property RGB for twilight viewing")] HRESULT TwilightRGB([out, retval] COLORREF* rgb);
1927  [propput, id(4), helpstring("property RGB for twilight viewing")] HRESULT TwilightRGB([in] COLORREF rgb);
1929  [propget, id(5), helpstring("property RGB for night time viewing")] HRESULT NightRGB([out, retval] COLORREF* rgb);
1931  [propput, id(5), helpstring("property RGB for night time viewing")] HRESULT NightRGB([in] COLORREF rgb);
1932 
1933 #if !defined DOXYGEN_SHOULD_SKIP_THIS
1934  [id(6), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
1935 #endif
1936 };
1937 
1938 
1940 [
1941  object,
1942  uuid(cb25f63b-7cb6-11e1-8889-0024e84637be),
1943  dual,
1944  helpstring("IS57ColourValues Interface"),
1945  nonextensible,
1946  pointer_default(unique),
1947  hidden
1948 ]
1950 {
1951  [propget, id(0), helpstring("property Item")] HRESULT Item([in] VARIANT vtIndex, [out,retval] IS57ColourValue ** colourValue);
1952  [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] LONG* pVal);
1953  [propget, id(-4), helpstring("property _NewEnum"), restricted] HRESULT _NewEnum([out, retval] IUnknown** pVal);
1954  [id(2), helpstring("method Add")] HRESULT Add([in] IS57ColourValue * colourValue);
1955  [id(3), helpstring("method Remove")] HRESULT Remove([in] LONG nIndex);
1956  [id(4), helpstring("method Clear")] HRESULT Clear();
1957 
1958 #if !defined DOXYGEN_SHOULD_SKIP_THIS
1959  [id(5), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
1960 #endif
1961 };
1962 
1963 
1965 [
1966  object,
1967  uuid(cb25f63c-7cb6-11e1-8889-0024e84637be),
1968  dual,
1969  helpstring("IS57ProductAndUsage Interface"),
1970  nonextensible,
1971  pointer_default(unique),
1972  hidden
1973 ]
1975 {
1977  [propget, id(1), helpstring("S-57 Product")] HRESULT Product([out, retval] enum S57Product* pVal);
1979  [propput, id(1), helpstring("S-57 Product")] HRESULT Product([in] enum S57Product newVal);
1981 
1992  [propget, id(2), helpstring("Intended usage (For ENC, navigational purpose 1 .. 6)")] HRESULT IntendedUsage([out, retval] BYTE* pVal);
1994 
2005  [propput, id(2), helpstring("Intended usage (For ENC, navigational purpose 1 .. 6)")] HRESULT IntendedUsage([in] BYTE newVal);
2006 
2007 #if !defined DOXYGEN_SHOULD_SKIP_THIS
2008  [id(3), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
2009 #endif
2010 };
2011 
2013 [
2014  object,
2015  uuid(cb25f63d-7cb6-11e1-8889-0024e84637be),
2016  dual,
2017  helpstring("IS57ProductAndUsages Interface"),
2018  nonextensible,
2019  pointer_default(unique),
2020  hidden
2021 ]
2023 {
2024  [propget, id(0), helpstring("property Item")] HRESULT Item([in] VARIANT vtIndex, [out,retval] IS57ProductAndUsage** ProductAndUsage);
2025  [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] LONG* pVal);
2026  [propget, id(-4), helpstring("property _NewEnum"), restricted] HRESULT _NewEnum([out, retval] IUnknown** pVal);
2027  [id(2), helpstring("method Add")] HRESULT Add([in] IS57ProductAndUsage * ProductAndUsage);
2028  [id(3), helpstring("method Remove")] HRESULT Remove([in] LONG nIndex);
2029  [id(4), helpstring("method Clear")] HRESULT Clear();
2030 
2031 #if !defined DOXYGEN_SHOULD_SKIP_THIS
2032  [id(5), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
2033 #endif
2034 
2035  [id(6), helpstring("method RestoreDefault")] HRESULT RestoreDefault();
2036 };
2037 
2039 
2040 [
2041  object,
2042  uuid(cb25f63e-7cb6-11e1-8889-0024e84637be),
2043  dual,
2044  helpstring("IS57CellInfo Interface"),
2045  nonextensible,
2046  pointer_default(unique),
2047  hidden
2048 ]
2050 {
2052  [propget, id(1), helpstring("property CellIdentifier")] HRESULT CellIdentifier([out, retval] IS57CellIdentifier** pVal);
2054  [propget, id(2), helpstring("property IntendedUsage")] HRESULT IntendedUsage([out, retval] LONG* pVal);
2056  [propget, id(3), helpstring("property CompilationScale")] HRESULT CompilationScale([out, retval] LONG* pVal);
2058  [propget, id(4), helpstring("Description of the S-57 data producer")] HRESULT Agency([out, retval] BSTR* pVal);
2060  [propget, id(5), helpstring("property Country")] HRESULT Country([out, retval] BSTR* pVal);
2062  [propget, id(6), helpstring("property VerticalDatum")] HRESULT VerticalDatum([out, retval] BSTR* pVal);
2064  [propget, id(7), helpstring("property SoundingDatum")] HRESULT SoundingDatum([out, retval] BSTR* pVal);
2066  [propget, id(8), helpstring("property Extent")] HRESULT Extent([out, retval] IGeoRect ** pVal);
2068  [propget, id(9), helpstring("property IssueDate")] HRESULT IssueDate([out, retval] DATE* pVal);
2070  [propget, id(11), helpstring("property LastChanged")] HRESULT LastChanged([out, retval] DATE* pVal);
2072 
2073  [propget, id(12), helpstring("property Edition")] HRESULT Edition([out, retval] LONG* pVal);
2075  [propget, id(13), helpstring("property LatestUpdate")] HRESULT LatestUpdate([out, retval] LONG* pVal);
2077  [propget, id(14), helpstring("property PermitExpiryDate")] HRESULT PermitExpiryDate([out, retval] DATE* pVal);
2079  [propget, id(15), helpstring("property PermitIsSubscription")] HRESULT PermitIsSubscription([out, retval] VARIANT_BOOL* pVal);
2081 
2083  [propget, id(16), helpstring("property LeastDetailedDisplayScaleToShow_All")] HRESULT LeastDetailedDisplayScaleToShow_All([out, retval] LONG* pVal);
2085 
2087  [propget, id(17), helpstring("property LeastDetailedDisplayScaleToShow_GroupOne")] HRESULT LeastDetailedDisplayScaleToShow_GroupOne([out, retval] LONG* pVal);
2089 
2092  [propget, id(18), helpstring("property LeastDetailedDisplayScaleToShow_Coverage")] HRESULT LeastDetailedDisplayScaleToShow_Coverage([out, retval] LONG* pVal);
2094  [propget, id(19), helpstring("Empty for most ENC suppliers, useful text from NOAA")] HRESULT LongFileName([out, retval] BSTR* pVal);
2095 };
2096 
2098 [
2099  object,
2100  uuid(cb25f63f-7cb6-11e1-8889-0024e84637be),
2101  dual,
2102  helpstring("IS57DepthPoint Interface"),
2103  nonextensible,
2104  pointer_default(unique),
2105  hidden
2106 ]
2108 {
2110  [propget, id(1), helpstring("Geographical position of sounding")] HRESULT GeoPoint([out, retval] IGeoPoint ** pVal);
2112  [propget, id(2), helpstring("Depth of sounding in metres")] HRESULT Depth([out, retval] DOUBLE* pVal);
2113 };
2114 
2115 
2117 [
2118  object,
2119  uuid(cb25f640-7cb6-11e1-8889-0024e84637be),
2120  dual,
2121  helpstring("IS57DepthPoints Interface"),
2122  nonextensible,
2123  pointer_default(unique),
2124  hidden
2125 ]
2127 {
2128  [propget, id(0), helpstring("property Item")] HRESULT Item([in] VARIANT vtIndex, [out,retval] IS57DepthPoint ** depthPoint);
2129  [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] LONG* pVal);
2130  [propget, id(-4), helpstring("property _NewEnum"), restricted] HRESULT _NewEnum([out, retval] IUnknown** pVal);
2131 };
2132 
2133 
2135 [
2136  object,
2137  uuid(cb25f641-7cb6-11e1-8889-0024e84637be),
2138  dual,
2139  helpstring("IS57Face Interface"),
2140  nonextensible,
2141  pointer_default(unique),
2142  hidden
2143 ]
2144 interface IS57Face : IDispatch
2145 {
2147  [propget, id(1), helpstring("property Points")] HRESULT Points([out, retval] IGeoPoints ** pVal);
2148 };
2149 
2150 
2152 [
2153  object,
2154  uuid(cb25f642-7cb6-11e1-8889-0024e84637be),
2155  dual,
2156  helpstring("IS57Faces Interface"),
2157  nonextensible,
2158  pointer_default(unique),
2159  hidden
2160 ]
2162 {
2163  [propget, id(0), helpstring("property Item")] HRESULT Item([in] VARIANT vtIndex, [out,retval] IS57Face ** face);
2164  [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] LONG* pVal);
2165  [propget, id(-4), helpstring("property _NewEnum"), restricted] HRESULT _NewEnum([out, retval] IUnknown** pVal);
2166 };
2167 
2169 
2393 [
2394  object,
2395  uuid(cb25f643-7cb6-11e1-8889-0024e84637be),
2396  dual,
2397  helpstring("IS57ObjectClass Interface"),
2398  nonextensible,
2399  pointer_default(unique),
2400  hidden
2401 ]
2403 {
2405  [propget, id(1), hidden, helpstring("Product")] HRESULT Product([out, retval] enum S57Product* pVal);
2407  [propget, id(2), helpstring("Acronym")] HRESULT Acronym([out, retval] BSTR* pVal);
2409  [propget, id(3), helpstring("Description")] HRESULT Description([out, retval] BSTR* pVal);
2411  [id(4), helpstring("Construct")] HRESULT Construct([in] BSTR acronym);
2413  [id(5), helpstring("Whether this Object Class is used by the specified product")] HRESULT IsInProduct([in] enum S57Product product, [out, retval] VARIANT_BOOL * result);
2414 
2415 #if !defined DOXYGEN_SHOULD_SKIP_THIS
2416  [id(6), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
2417 #endif
2418 };
2419 
2421 [
2422  object,
2423  uuid(cb25f644-7cb6-11e1-8889-0024e84637be),
2424  dual,
2425  helpstring("IS57ObjectClassCollection Interface"),
2426  nonextensible,
2427  pointer_default(unique),
2428  hidden
2429 ]
2431 {
2432  [propget, id(0), helpstring("property Item")] HRESULT Item([in] VARIANT vtIndex, [out,retval] IS57ObjectClass ** objectClass);
2433  [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] LONG* pVal);
2434  [propget, id(-4), helpstring("property _NewEnum"), restricted] HRESULT _NewEnum([out, retval] IUnknown** pVal);
2435  [id(2), helpstring("method Add")] HRESULT Add([in] IS57ObjectClass * objectClass);
2436  [id(3), helpstring("method Remove")] HRESULT Remove([in] LONG nIndex);
2437  [id(4), helpstring("method Clear")] HRESULT Clear();
2438 
2439 #if !defined DOXYGEN_SHOULD_SKIP_THIS
2440  [id(5), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
2441 #endif
2442 };
2443 
2445 [
2446  object,
2447  uuid(cb25f645-7cb6-11e1-8889-0024e84637be),
2448  dual,
2449  helpstring("IS57FeatureIdentifier Interface"),
2450  nonextensible,
2451  pointer_default(unique),
2452  hidden
2453 ]
2455 {
2457 
2464  [propget, id(1), helpstring("Agency")] HRESULT Agency([out, retval] SHORT* pVal);
2466  [propget, id(2), helpstring("FIDN")] HRESULT FIDN([out, retval] LONG* pVal);
2468  [propget, id(3), helpstring("FIDS")] HRESULT FIDS([out, retval] SHORT* pVal);
2470  [propget, id(4), helpstring("CellIdentifier")] HRESULT CellIdentifier([out, retval] IS57CellIdentifier** pVal);
2472  [id(5), helpstring("Show feature ID and cell ID as string")] HRESULT ToString([out, retval] BSTR* pVal);
2474  [id(6), helpstring("Construction from parts")] HRESULT Construct([in] SHORT Agency, [in] LONG FIDN, [in] SHORT FIDS, [in] IS57CellIdentifier * piCellID);
2476  [id(7), helpstring("Construct from string")] HRESULT FromString([in] BSTR val);
2477 #if !defined DOXYGEN_SHOULD_SKIP_THIS
2478  [id(9), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
2479 #endif
2481  [id(10), helpstring("Construction from parts")] HRESULT ConstructEx([in] SHORT Agency, [in] LONG FIDN, [in] SHORT FIDS, [in] IS57CellIdentifier * piCellID, [in] LONG index);
2483  [propget, id(11), helpstring("Index")] HRESULT Index([out, retval] LONG* pVal);
2485  [id(12), helpstring("Show feature ID, cell ID and index as string")] HRESULT ToStringEx([out, retval] BSTR* pVal);
2486 };
2487 
2489 [
2490  object,
2491  uuid(cb25f646-7cb6-11e1-8889-0024e84637be),
2492  dual,
2493  helpstring("IS57FeatureIdentifiers Interface"),
2494  nonextensible,
2495  pointer_default(unique),
2496  hidden
2497 ]
2499 {
2500  [propget, id(0), helpstring("property Item")] HRESULT Item([in] VARIANT vtIndex, [out,retval] IS57FeatureIdentifier** featureId);
2501  [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] LONG* pVal);
2502  [propget, id(-4), helpstring("property _NewEnum"), restricted] HRESULT _NewEnum([out, retval] IUnknown** pVal);
2503  [id(2), helpstring("method Add")] HRESULT Add([in] IS57FeatureIdentifier * featureId);
2504  [id(3), helpstring("method Remove")] HRESULT Remove([in] LONG nIndex);
2505  [id(4), helpstring("method Clear")] HRESULT Clear();
2506 
2507 #if !defined DOXYGEN_SHOULD_SKIP_THIS
2508  [id(5), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
2509 #endif
2510 };
2511 
2512 
2514 [
2515  object,
2516  uuid(cb25f647-7cb6-11e1-8889-0024e84637be),
2517  dual,
2518  helpstring("IS57FeatureInfo Interface"),
2519  nonextensible,
2520  pointer_default(unique),
2521  hidden
2522 ]
2524 {
2526  [propget, id(1), helpstring("property ObjectClass")] HRESULT ObjectClass([out, retval] IS57ObjectClass ** pVal);
2528  [propget, id(2), helpstring("property FeatureID")] HRESULT FeatureID([out, retval] IS57FeatureIdentifier ** pVal);
2530  [propget, id(3), helpstring("property Attributes")] HRESULT Attributes([out, retval] IS57AttributeValues ** pVal);
2532  [propget, id(4), helpstring("property Slaves")] HRESULT Slaves([out, retval] IS57FeatureIdentifiers ** pVal);
2533 };
2534 
2536 [
2537  object,
2538  uuid(cb25f648-7cb6-11e1-8889-0024e84637be),
2539  dual,
2540  helpstring("IS57FeatureArea Interface"),
2541  nonextensible,
2542  pointer_default(unique),
2543  hidden
2544 ]
2546 {
2548  [propget, id(1), helpstring("property FeatureInfo")] HRESULT FeatureInfo([out, retval] IS57FeatureInfo ** pVal);
2550  [propget, id(2), helpstring("property Faces")] HRESULT Faces([out, retval] IS57Faces ** pVal);
2551 };
2552 
2554 [
2555  object,
2556  uuid(cb25f649-7cb6-11e1-8889-0024e84637be),
2557  dual,
2558  helpstring("IS57FeatureLine Interface"),
2559  nonextensible,
2560  pointer_default(unique),
2561  hidden
2562 ]
2564 {
2566  [propget, id(1), helpstring("property FeatureInfo")] HRESULT FeatureInfo([out, retval] IS57FeatureInfo ** pVal);
2568 
2570  [propget, id(2), helpstring("property Points")] HRESULT Points([out, retval] IGeoPoints ** pVal);
2571 };
2572 
2573 
2575 [
2576  object,
2577  uuid(cb25f64a-7cb6-11e1-8889-0024e84637be),
2578  dual,
2579  helpstring("IS57FeaturePoint Interface"),
2580  nonextensible,
2581  pointer_default(unique),
2582  hidden
2583 ]
2585 {
2587  [propget, id(1), helpstring("property FeatureInfo")] HRESULT FeatureInfo([out, retval] IS57FeatureInfo ** pVal);
2589  [propget, id(2), helpstring("property Point")] HRESULT Point([out, retval] IGeoPoint ** pVal);
2590 };
2591 
2592 
2594 [
2595  object,
2596  uuid(cb25f64b-7cb6-11e1-8889-0024e84637be),
2597  dual,
2598  helpstring("IS57FeatureSounding Interface"),
2599  nonextensible,
2600  pointer_default(unique),
2601  hidden
2602 ]
2604 {
2606  [propget, id(1), helpstring("property FeatureInfo")] HRESULT FeatureInfo([out, retval] IS57FeatureInfo ** pVal);
2608  [propget, id(2), helpstring("property Depths")] HRESULT Depths([out, retval] IS57DepthPoints ** pVal);
2609 };
2610 
2611 
2612 
2613 
2614 interface IS57DrawnFeatures; // forward declaration
2615 
2617 [
2618  object,
2619  uuid(cb25f64c-7cb6-11e1-8889-0024e84637be),
2620  dual,
2621  helpstring("IS57DrawnFeature Interface"),
2622  nonextensible,
2623  pointer_default(unique),
2624  hidden
2625 ]
2627 {
2629 
2631  [propget, id(1), helpstring("property FeatureID")] HRESULT FeatureID([out, retval] IS57FeatureIdentifier ** pVal);
2633  [propget, id(2), helpstring("property Visible")] HRESULT Visible([out, retval] VARIANT_BOOL* pVal);
2635  [propget, id(3), helpstring("property DisplayPriorityPoint")] HRESULT DisplayPriorityPoint([out, retval] LONG* pVal);
2637  [propget, id(5), helpstring("property DisplayPriorityLine")] HRESULT DisplayPriorityLine([out, retval] LONG* pVal);
2639  [propget, id(6), helpstring("property DisplayPriorityArea")] HRESULT DisplayPriorityArea([out, retval] LONG* pVal);
2641  [propget, id(4), helpstring("property Slaves")] HRESULT Slaves([out, retval] IS57DrawnFeatures ** pVal);
2642 };
2643 
2645 [
2646  object,
2647  uuid(cb25f64d-7cb6-11e1-8889-0024e84637be),
2648  dual,
2649  helpstring("IS57DrawnFeatures Interface"),
2650  nonextensible,
2651  pointer_default(unique),
2652  hidden
2653 ]
2655 {
2656  [propget, id(0), helpstring("property Item")] HRESULT Item([in] VARIANT vtIndex, [out,retval] IS57DrawnFeature ** drawnFeature);
2657  [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] LONG* pVal);
2658  [propget, id(-4), helpstring("property _NewEnum"), restricted] HRESULT _NewEnum([out, retval] IUnknown** pVal);
2659 };
2660 
2661 
2662 
2664 
2880 [
2881  object,
2882  uuid(cb25f64e-7cb6-11e1-8889-0024e84637be),
2883  dual,
2884  helpstring("IS57DisplaySettings Interface"),
2885  nonextensible,
2886  pointer_default(unique),
2887  hidden
2888 ]
2890 {
2892 
2896  [propget, id(1), helpstring("property TwoColourShadingForDepthZones")] HRESULT TwoColourShadingForDepthZones([out, retval] VARIANT_BOOL* pVal);
2898 
2902  [propput, id(1), helpstring("property TwoColourShadingForDepthZones")] HRESULT TwoColourShadingForDepthZones([in] VARIANT_BOOL newVal);
2904  [propget, id(2), helpstring("property SymbolisedAreaBoundaries")] HRESULT SymbolisedAreaBoundaries([out, retval] VARIANT_BOOL* pVal);
2906  [propput, id(2), helpstring("property SymbolisedAreaBoundaries")] HRESULT SymbolisedAreaBoundaries([in] VARIANT_BOOL newVal);
2908  [propget, id(3), helpstring("property SimplifiedSymbols")] HRESULT SimplifiedSymbols([out, retval] VARIANT_BOOL* pVal);
2910  [propput, id(3), helpstring("property SimplifiedSymbols")] HRESULT SimplifiedSymbols([in] VARIANT_BOOL newVal);
2912  [propget, id(4), helpstring("property FullLengthLightSectorLines")] HRESULT FullLengthLightSectorLines([out, retval] VARIANT_BOOL* pVal);
2914  [propput, id(4), helpstring("property FullLengthLightSectorLines")] HRESULT FullLengthLightSectorLines([in] VARIANT_BOOL newVal);
2916  [propget, id(6), helpstring("property OverscaleIndicator")] HRESULT OverscaleIndicator([out, retval] VARIANT_BOOL* pVal);
2918  [propput, id(6), helpstring("property OverscaleIndicator")] HRESULT OverscaleIndicator([in] VARIANT_BOOL newVal);
2920  [propget, id(7), helpstring("property Date")] HRESULT Date([out, retval] DATE* pVal);
2922  [propput, id(7), helpstring("property Date")] HRESULT Date([in] DATE newVal);
2924  [propget, id(8), helpstring("property SafetyDepthMetres")] HRESULT SafetyDepthMetres([out, retval] DOUBLE* pVal);
2926  [propput, id(8), helpstring("property SafetyDepthMetres")] HRESULT SafetyDepthMetres([in] DOUBLE newVal);
2928  [propget, id(9), helpstring("property SafetyContourMetres")] HRESULT SafetyContourMetres([out, retval] DOUBLE* pVal);
2930  [propput, id(9), helpstring("property SafetyContourMetres")] HRESULT SafetyContourMetres([in] DOUBLE newVal);
2932  [propget, id(10), helpstring("property ShallowContourMetres")] HRESULT ShallowContourMetres([out, retval] DOUBLE* pVal);
2934  [propput, id(10), helpstring("property ShallowContourMetres")] HRESULT ShallowContourMetres([in] DOUBLE newVal);
2936  [propget, id(11), helpstring("property DeepContourMetres")] HRESULT DeepContourMetres([out, retval] DOUBLE* pVal);
2938  [propput, id(11), helpstring("property DeepContourMetres")] HRESULT DeepContourMetres([in] DOUBLE newVal);
2940  [propget, id(12), helpstring("property ViewingGroup")] HRESULT ViewingGroup([in] LONG ID, [out, retval] VARIANT_BOOL* pVal);
2942  [propput, id(12), helpstring("property ViewingGroup")] HRESULT ViewingGroup([in] LONG ID, [in] VARIANT_BOOL newVal);
2944  [propget, id(13), helpstring("property NumViewingGroups")] HRESULT NumViewingGroups([out, retval] LONG* pVal);
2946  [propget, id(14), helpstring("property TextGroup")] HRESULT TextGroup([in] LONG ID, [out, retval] VARIANT_BOOL* pVal);
2948  [propput, id(14), helpstring("property TextGroup")] HRESULT TextGroup([in] LONG ID, [in] VARIANT_BOOL newVal);
2950  [propget, id(15), helpstring("property NumTextGroups")] HRESULT NumTextGroups([out, retval] LONG* pVal);
2952  [id(16), helpstring("method SetViewingGroupRange")] HRESULT SetViewingGroupRange([in] LONG Start, [in] LONG End, [in] VARIANT_BOOL bShow);
2954  [propget, id(17), helpstring("property Usages")] HRESULT Usages([out, retval] IS57ProductAndUsages ** pVal);
2956  [propput, id(17), helpstring("property Usages")] HRESULT Usages([in] IS57ProductAndUsages * ProductAndUsages);
2957 
2959 
2962  [propget, id(18), helpstring("property CellFilter")] HRESULT CellFilter([out, retval] IS57CellIdentifiers ** pVal);
2963 
2965 
2968  [propput, id(18), helpstring("property CellFilter")] HRESULT CellFilter([in] IS57CellIdentifiers * newVal);
2969 
2971 
2973  [propget, id(19), helpstring("property CellFilterInclusive")] HRESULT CellFilterInclusive([out, retval] VARIANT_BOOL* pVal);
2975 
2980  [propput, id(19), helpstring("property CellFilterInclusive")] HRESULT CellFilterInclusive([in] VARIANT_BOOL newVal);
2982 
2987  [propget, id(20), helpstring("property FeatureFilter")] HRESULT FeatureFilter([out, retval] IS57FeatureIdentifiers ** pVal);
2989 
2994  [propput, id(20), helpstring("property FeatureFilter")] HRESULT FeatureFilter([in] IS57FeatureIdentifiers * newVal);
2996 
3001  [propget, id(21), helpstring("property FeatureFilterInclusive")] HRESULT FeatureFilterInclusive([out, retval] VARIANT_BOOL* pVal);
3003 
3008  [propput, id(21), helpstring("property FeatureFilterInclusive")] HRESULT FeatureFilterInclusive([in] VARIANT_BOOL newVal);
3009 
3011 
3012  [propget, id(22), helpstring("property Number of Depth Zones")] HRESULT NumDepthZones([out, retval] LONG* pVal);
3014 
3015  [propput, id(22), helpstring("property Number of Depth Zones")] HRESULT NumDepthZones([in] LONG newVal);
3016 
3018  [propget, id(23), helpstring("property VeryShallowContourMetres")] HRESULT VeryShallowContourMetres([out, retval] DOUBLE* pVal);
3020  [propput, id(23), helpstring("property VeryShallowContourMetres")] HRESULT VeryShallowContourMetres([in] DOUBLE newVal);
3021 
3023  [propget, id(24), helpstring("property SlightlyShallowContourMetres")] HRESULT SlightlyShallowContourMetres([out, retval] DOUBLE* pVal);
3025  [propput, id(24), helpstring("property SlightlyShallowContourMetres")] HRESULT SlightlyShallowContourMetres([in] DOUBLE newVal);
3026 
3028  [propget, id(25), helpstring("property SlightlyDeepContourMetres")] HRESULT SlightlyDeepContourMetres([out, retval] DOUBLE* pVal);
3030  [propput, id(25), helpstring("property SlightlyDeepContourMetres")] HRESULT SlightlyDeepContourMetres([in] DOUBLE newVal);
3031 
3033  [propget, id(26), helpstring("property VeryDeepContourMetres")] HRESULT VeryDeepContourMetres([out, retval] DOUBLE* pVal);
3035  [propput, id(26), helpstring("property VeryDeepContourMetres")] HRESULT VeryDeepContourMetres([in] DOUBLE newVal);
3036 
3037 
3039  [propget, id(27), helpstring("property Depth Display Units")] HRESULT DepthDisplayUnits([out, retval] enum S57DepthDisplayUnits* pVal);
3041  [propput, id(27), helpstring("property Depth Display Units")] HRESULT DepthDisplayUnits([in] enum S57DepthDisplayUnits newVal);
3042 
3044  [id(28), helpstring("Set the SCAMIN value for an object class")] HRESULT SetScaminForObjectClass([in] IS57ObjectClass * cr, [in] LONG scamin);
3046  [id(29), helpstring("Obtain the SCAMIN value for an object class")] HRESULT ScaminForObjectClass([in] IS57ObjectClass * cr, [out, retval] LONG * scamin);
3047 
3049  [propget, id(30), helpstring("property CompilationScaleZoomFactor")] HRESULT CompilationScaleZoomFactor([out, retval] LONG* pVal);
3051  [propput, id(30), helpstring("property CompilationScaleZoomFactor")] HRESULT CompilationScaleZoomFactor([in] LONG nVal);
3052 
3054  [id(31), helpstring("Get an identical copy of this object")] HRESULT Copy([out,retval] IS57DisplaySettings** pVal);
3055 
3057  [propget, id(32), helpstring("Affects size of text. Range 0.4 to 4. Default 1.")] HRESULT FontScaleFactor([out, retval] DOUBLE* pVal);
3059  [propput, id(32), helpstring("Affects size of text. Range 0.4 to 4. Default 1.")] HRESULT FontScaleFactor([in] DOUBLE nVal);
3060 
3062 
3073  [propget, id(33), helpstring("non-standard ENC display improvements level")] HRESULT ImprovementsLevel([out, retval] enum S57DisplayImprovements * level);
3075 
3086  [propput, id(33), helpstring("non-standard ENC display improvements level")] HRESULT ImprovementsLevel([in] enum S57DisplayImprovements level);
3087 
3089  [propget, id(34), helpstring("XML string representing settings")] HRESULT XML([out, retval] BSTR* xml);
3091  [propput, id(34), helpstring("XML string representing settings")] HRESULT XML([in] BSTR xml);
3093  [id(35), helpstring("Merge XML settings into existing settings")] HRESULT MergeXML([in] BSTR xml);
3094 
3096  [propget, id(36), helpstring("property IgnoreScamin")] HRESULT IgnoreScamin([out, retval] VARIANT_BOOL* pVal);
3098  [propput, id(36), helpstring("property IgnoreScamin")] HRESULT IgnoreScamin([in] VARIANT_BOOL newVal);
3099 
3101  [propget, id(37), helpstring("property DeclutterOverlappingCells")] HRESULT DeclutterOverlappingCells([out, retval] VARIANT_BOOL* pVal);
3103  [propput, id(37), helpstring("property DeclutterOverlappingCells")] HRESULT DeclutterOverlappingCells([in] VARIANT_BOOL newVal);
3105  [propget, id(38), helpstring("property ShowOverlappingCellAreas")] HRESULT ShowOverlappingCellAreas([out, retval] VARIANT_BOOL* pVal);
3107  [propput, id(38), helpstring("property ShowOverlappingCellAreas")] HRESULT ShowOverlappingCellAreas([in] VARIANT_BOOL newVal);
3108 
3110  [propget, id(39), helpstring("property HighlightDateDependent")] HRESULT HighlightDateDependent([out, retval] VARIANT_BOOL* pVal);
3112  [propput, id(39), helpstring("property HighlightDateDependent")] HRESULT HighlightDateDependent([in] VARIANT_BOOL newVal);
3113 
3115  [propget, id(40), helpstring("property DateMode")] HRESULT DateMode([out, retval] enum S57DateMode * dateMode);
3117  [propput, id(40), helpstring("property DateMode")] HRESULT DateMode([in] enum S57DateMode dateMode);
3118 
3119 #if !defined DOXYGEN_SHOULD_SKIP_THIS
3120  [id(41), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
3121 #endif
3122 
3124  [propget, id(42), helpstring("property ShowIsolatedDangersInShallowWater")] HRESULT ShowIsolatedDangersInShallowWater([out, retval] VARIANT_BOOL* pVal);
3126  [propput, id(42), helpstring("property ShowIsolatedDangersInShallowWater")] HRESULT ShowIsolatedDangersInShallowWater([in] VARIANT_BOOL newVal);
3127 };
3128 
3131 [
3132  object,
3133  uuid(cb25f684-7cb6-11e1-8889-0024e84637be),
3134  dual,
3135  helpstring("IWVSDisplaySettings Interface"),
3136  nonextensible,
3137  pointer_default(unique),
3138  hidden
3139 ]
3141 {
3143  [propget, id(1), helpstring("Fill colour of the land")] HRESULT LandColour([out, retval] DWORD * val);
3145  [propput, id(1), helpstring("Fill colour of the land")] HRESULT LandColour([in] DWORD val);
3147  [propget, id(2), helpstring("Outline colour of the land")] HRESULT LandOutlineColour([out, retval] DWORD * val);
3149  [propput, id(2), helpstring("Outline colour of the land")] HRESULT LandOutlineColour([in] DWORD val);
3151  [propget, id(3), helpstring("Colour of the lakes")] HRESULT LakeColour([out, retval] DWORD * val);
3153  [propput, id(3), helpstring("Colour of the lakes")] HRESULT LakeColour([in] DWORD val);
3155  [propget, id(4), helpstring("Colour of the borders")] HRESULT BorderColour([out, retval] DWORD * val);
3157  [propput, id(4), helpstring("Colour of the borders")] HRESULT BorderColour([in] DWORD val);
3159  [propget, id(5), helpstring("Colour of the rivers")] HRESULT RiverColour([out, retval] DWORD * val);
3161  [propput, id(5), helpstring("Colour of the rivers")] HRESULT RiverColour([in] DWORD val);
3163  [propget, id(6), helpstring("Land outline width")] HRESULT LandOutlineWidth([out, retval] FLOAT * val);
3165  [propput, id(6), helpstring("Land outline width")] HRESULT LandOutlineWidth([in] FLOAT val);
3167  [propget, id(7), helpstring("Border width")] HRESULT BorderWidth([out, retval] FLOAT * val);
3169  [propput, id(7), helpstring("Border width")] HRESULT BorderWidth([in] FLOAT val);
3171  [propget, id(8), helpstring("River width")] HRESULT RiverWidth([out, retval] FLOAT * val);
3173  [propput, id(8), helpstring("River width")] HRESULT RiverWidth([in] FLOAT val);
3174 
3176  [propget, id(9), helpstring("Show or hide")] HRESULT Show([out, retval] VARIANT_BOOL * val);
3178  [propput, id(9), helpstring("Show or hide")] HRESULT Show([in] VARIANT_BOOL val);
3179 
3181  [id(10), helpstring("Get an identical copy of this object")] HRESULT Copy([out,retval] IWVSDisplaySettings** pVal);
3182 
3184  [propget, id(11), helpstring("Outline colour of the lake")] HRESULT LakeOutlineColour([out, retval] DWORD * val);
3186  [propput, id(11), helpstring("Outline colour of the lake")] HRESULT LakeOutlineColour([in] DWORD val);
3188  [propget, id(12), helpstring("Lake outline width")] HRESULT LakeOutlineWidth([out, retval] FLOAT * val);
3190  [propput, id(12), helpstring("Lake outline width")] HRESULT LakeOutlineWidth([in] FLOAT val);
3191 
3193  [propget, id(13), helpstring("Fill colour of Antarctica")] HRESULT AntarcticaColour([out, retval] DWORD * val);
3195  [propput, id(13), helpstring("Fill colour of Antarctica")] HRESULT AntarcticaColour([in] DWORD val);
3197  [propget, id(14), helpstring("Outline colour of Antarctica")] HRESULT AntarcticaOutlineColour([out, retval] DWORD * val);
3199  [propput, id(14), helpstring("Outline colour of Antarctica")] HRESULT AntarcticaOutlineColour([in] DWORD val);
3200 
3201 #if !defined DOXYGEN_SHOULD_SKIP_THIS
3202  [id(15), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
3203 #endif
3204 };
3205 
3208 [
3209  object,
3210  uuid(cb25f688-7cb6-11e1-8889-0024e84637be),
3211  dual,
3212  helpstring("IGridPen Interface"),
3213  nonextensible,
3214  pointer_default(unique),
3215  hidden
3216 ]
3217 interface IGridPen : IDispatch
3218 {
3220  [propget, id(1), helpstring("Grid line colour")] HRESULT Colour([out, retval] DWORD * val);
3222  [propput, id(1), helpstring("Grid line colour")] HRESULT Colour([in] DWORD val);
3224  [propget, id(2), helpstring("Grid line width")] HRESULT Width([out, retval] FLOAT * val);
3226  [propput, id(2), helpstring("Grid line width")] HRESULT Width([in] FLOAT val);
3228  [propget, id(3), helpstring("Grid line style")] HRESULT Style([out, retval] enum PenStyle * val);
3230  [propput, id(3), helpstring("Grid line style")] HRESULT Style([in] enum PenStyle val);
3232  [propget, id(4), helpstring("Show or hide")] HRESULT Show([out, retval] VARIANT_BOOL * val);
3234  [propput, id(4), helpstring("Show or hide")] HRESULT Show([in] VARIANT_BOOL val);
3236  [id(5), helpstring("Get an identical copy of this object")] HRESULT Copy([out,retval] IGridPen** pVal);
3237 
3238 #if !defined DOXYGEN_SHOULD_SKIP_THIS
3239  [id(6), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
3240 #endif
3241 };
3242 
3244 
3246 [
3247  object,
3248  uuid(cb25f686-7cb6-11e1-8889-0024e84637be),
3249  dual,
3250  helpstring("IGridDisplaySettings Interface"),
3251  nonextensible,
3252  pointer_default(unique),
3253  hidden
3254 ]
3256 {
3258  [propget, id(1), helpstring("Get primary grid pen")] HRESULT GridPen1([out, retval] IGridPen ** val);
3260  [propput, id(1), helpstring("Set primary grid pen")] HRESULT GridPen1([in] IGridPen * val);
3262  [propget, id(2), helpstring("Get secondary grid pen")] HRESULT GridPen2([out, retval] IGridPen ** val);
3264  [propput, id(2), helpstring("Set secondary grid pen")] HRESULT GridPen2([in] IGridPen * val);
3266  [propget, id(3), helpstring("Get tertiary grid pen")] HRESULT GridPen3([out, retval] IGridPen ** val);
3268  [propput, id(3), helpstring("Set tertiary grid pen")] HRESULT GridPen3([in] IGridPen * val);
3270  [propget, id(4), helpstring("Show or hide the grid")] HRESULT Show([out, retval] VARIANT_BOOL * val);
3272  [propput, id(4), helpstring("Show or hide the grid")] HRESULT Show([in] VARIANT_BOOL val);
3274  [propget, id(5), helpstring("Label colour")] HRESULT LabelColour([out, retval] DWORD * val);
3276  [propput, id(5), helpstring("Label colour")] HRESULT LabelColour([in] DWORD val);
3278  [propget, id(6), helpstring("Show or hide labels")] HRESULT ShowLabels([out, retval] VARIANT_BOOL * val);
3280  [propput, id(6), helpstring("Show or hide labels")] HRESULT ShowLabels([in] VARIANT_BOOL val);
3282  [id(7), helpstring("Get an identical copy of this object")] HRESULT Copy([out,retval] IGridDisplaySettings** pVal);
3283 
3284 #if !defined DOXYGEN_SHOULD_SKIP_THIS
3285  [id(8), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
3286 #endif
3287 };
3288 
3290 
3291 
3293 
3294 [
3295  object,
3296  uuid(cb25f64f-7cb6-11e1-8889-0024e84637be),
3297  dual,
3298  helpstring("IS57ManagerInitialisationData Interface"),
3299  nonextensible,
3300  pointer_default(unique),
3301  hidden
3302 ]
3304 {
3306  [propget, id(1), helpstring("Senc path")] HRESULT SencPath([out, retval] BSTR * val);
3308  [propput, id(1), helpstring("Senc path")] HRESULT SencPath([in] BSTR val);
3310 
3311  [propget, id(2), helpstring("Presentation Library file name and extension")] HRESULT PresentationLibraryFileName([out, retval] BSTR * val);
3313 
3314  [propput, id(2), helpstring("Presentation Library file name and extension")] HRESULT PresentationLibraryFileName([in] BSTR val);
3316 
3317  [propget, id(3), helpstring("Colours and RGB values of those colours")] HRESULT ColourValues([out, retval] IS57ColourValues ** pVal);
3319 
3320  [propput, id(3), helpstring("Colours and RGB values of those colours")] HRESULT ColourValues([in] IS57ColourValues * pVal);
3322  [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);
3324  [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);
3326  [propget, id(5), helpstring("WVS path")] HRESULT WVSPath([out, retval] BSTR * val);
3328  [propput, id(5), helpstring("WVS path")] HRESULT WVSPath([in] BSTR val);
3329 
3330 #if !defined DOXYGEN_SHOULD_SKIP_THIS
3331  [id(6), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
3332 #endif
3333 };
3334 
3335 
3337 [
3338  object,
3339  uuid(cb25f650-7cb6-11e1-8889-0024e84637be),
3340  dual,
3341  helpstring("IS57Manager Interface"),
3342  nonextensible,
3343  pointer_default(unique),
3344  hidden
3345 ]
3347 {
3349  [id(1), helpstring("Associate this manager with a specified folder")] HRESULT OpenSenc([in] ILibrary * EncXLibrary, [in] BSTR sSencFolder);
3351  [id(3), helpstring("Dissociate from the current folder")] HRESULT CloseSenc(void);
3353 
3355  [propget, id(4), helpstring("Obtain a collection of the cells in the Senc that cannot be used")] HRESULT UnusedCells([out, retval] IS57CellIdentifiers ** pVal);
3356 
3357  // removed id(5) Providers property
3358 
3360 
3362  [propget, id(6), helpstring("Obtain the collection of S-57 products currently present in this SENC")] HRESULT InstalledProducts([out, retval] IS57ProductAndUsages ** pVal);
3363 
3365 
3368  [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);
3370  [id(8), helpstring("Details of a cell.")] HRESULT CellInfo([in] IS57CellIdentifier * piCellID, [out, retval] IS57CellInfo ** pVal);
3372  [id(9), helpstring("ObjectClass (a.k.a. Type) of a feature")] HRESULT ObjectClass([in] IS57FeatureIdentifier * fid, [out, retval] IS57ObjectClass ** pVal);
3374  [id(10), helpstring("Geometry of a feature")] HRESULT Geometry([in] IS57FeatureIdentifier * pifid, [out, retval] enum S57FeatureGeometry* pVal);
3376 
3377  [id(11), helpstring("Details of any Feature")] HRESULT FeatureInfo([in] IS57FeatureIdentifier * pifid, [out,retval] IS57FeatureInfo ** pVal);
3379 
3380  [id(12), helpstring("Details of a point feature")] HRESULT FeatureInfoPoint([in] IS57FeatureIdentifier * pifid, [out,retval] IS57FeaturePoint ** pVal);
3382 
3383  [id(13), helpstring("Details of a line feature")] HRESULT FeatureInfoLine([in] IS57FeatureIdentifier * pifid, [out,retval] IS57FeatureLine ** pVal);
3385 
3386  [id(14), helpstring("Details of an area feature")] HRESULT FeatureInfoArea([in] IS57FeatureIdentifier * pifid, [out,retval] IS57FeatureArea ** pVal);
3388 
3392  [id(15), helpstring("method FeatureInfoSounding")] HRESULT FeatureInfoSounding([in] IS57FeatureIdentifier * pifid, [out,retval] IS57FeatureSounding ** pVal);
3394  [id(16), helpstring("Invoke the CherSoft Windows application that installs and updates ENC cells in the SENC")] HRESULT RunInstallApplication([in] BSTR pathToApplication);
3395 
3397  [id(17), helpstring("Associate this manager with a specified folder")] HRESULT OpenSenc2([in] ILibrary * EncXLibrary, [in] IS57ManagerInitialisationData * p);
3398 
3400  [id(18), helpstring("Associate this manager with a specified SENC folder and WVS")] HRESULT OpenSencAndWVS([in] ILibrary * EncXLibrary, [in] BSTR sSencFolder, [in] BSTR sWVSFileOrFolder);
3401 
3403  [id(23), helpstring("The ENC user permit needed to buy commercial ENC chart data"), restricted] HRESULT UserPermit([out, retval] BSTR* pUserPermit);
3404 
3406  [id(24), helpstring("method IsValidSencFolder")] HRESULT IsValidSencFolder([in] BSTR sPath, [out, retval] VARIANT_BOOL * bRes);
3408  [id(25), helpstring("method CreateSencFolder")] HRESULT CreateSencFolder([in] BSTR sPath);
3409 
3410 #if !defined DOXYGEN_SHOULD_SKIP_THIS
3411  [id(28), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
3412 #endif
3413 };
3414 
3416 [
3417  object,
3418  uuid(cb25f651-7cb6-11e1-8889-0024e84637be),
3419  dual,
3420  helpstring("IS57FeatureQuery Interface"),
3421  nonextensible,
3422  pointer_default(unique),
3423  hidden
3424 ]
3426 {
3428  [id(1), helpstring("method Construct")] HRESULT Construct([in] IS57Manager * manager, [in] IS57CellIdentifier * cellid);
3430  [id(2), helpstring("method SetAreaFilter")] HRESULT SetAreaFilter([in] IGeoRect * rect);
3432 
3436  [id(3), helpstring("method SetFeatureFilter")] HRESULT SetFeatureFilter([in] IS57FeatureIdentifiers * featureIds, [in] VARIANT_BOOL bInclude);
3438 
3442  [id(4), helpstring("method SetObjectFilter")] HRESULT SetObjectFilter([in] IS57ObjectClassCollection * ObjectClassCollection, [in] VARIANT_BOOL bInclude);
3444  [propget, id(5), helpstring("property Results")] HRESULT Results([out, retval] IS57FeatureIdentifiers ** pVal);
3445 };
3446 
3448 [
3449  object,
3450  uuid(cb25f652-7cb6-11e1-8889-0024e84637be),
3451  dual,
3452  helpstring("IS57CatalogueObserver Interface"),
3453  nonextensible,
3454  pointer_default(unique),
3455  hidden
3456 ]
3458 {
3460  [id(1), helpstring("method Register")] HRESULT Register([in] IS57Manager * s57Mgr);
3462  [id(2), helpstring("method Unregister")] HRESULT Unregister(void);
3463 
3464 };
3465 
3467 
3469 
3470 [
3471  object,
3472  uuid(cb25f69a-7cb6-11e1-8889-0024e84637be),
3473  dual,
3474  nonextensible,
3475  pointer_default(unique)
3476 ]
3478 {
3479  [id(1)] HRESULT Add([in] enum VPFFeatureType t);
3480  [id(2)] HRESULT Remove([in] enum VPFFeatureType t);
3481  [id(3)] HRESULT Contains([in] enum VPFFeatureType t, [out, retval] VARIANT_BOOL * pVal);
3482 #if !defined DOXYGEN_SHOULD_SKIP_THIS
3483  [id(4), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
3484 #endif
3485 };
3486 
3488 
3489 [
3490  object,
3491  uuid(cb25f6a0-7cb6-11e1-8889-0024e84637be),
3492  dual,
3493  nonextensible,
3494  pointer_default(unique)
3495 ]
3497 {
3498  [propget, id(1), helpstring("property Name")] HRESULT Name([out, retval] BSTR* pVal);
3499  [propget, id(2), helpstring("property Description")] HRESULT Description([out, retval] BSTR* pVal);
3500  [propget, id(3), helpstring("property Use")] HRESULT Use([out, retval] VARIANT_BOOL* pVal);
3501  [propput, id(3), helpstring("property Use")] HRESULT Use([in] VARIANT_BOOL val);
3502  [propget, id(4), helpstring("property TopologicalLevel")] HRESULT TopologicalLevel([out, retval] LONG* pVal);
3503 };
3504 
3506 
3507 [
3508  object,
3509  uuid(cb25f69e-7cb6-11e1-8889-0024e84637be),
3510  dual,
3511  nonextensible,
3512  pointer_default(unique)
3513 ]
3515 {
3516  [propget, id(0), helpstring("property Item")] HRESULT Item([in] VARIANT vtIndex, [out, retval] IVPFIteratorGuide_CoverageUse ** pp);
3517  [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] LONG* pVal);
3518  [propget, id(2), helpstring("property Name")] HRESULT Name([out, retval] BSTR* pVal);
3519  [propget, id(-4), helpstring("property _NewEnum"), restricted] HRESULT _NewEnum([out, retval] IUnknown** pVal);
3520  [propget, id(3), helpstring("property Use")] HRESULT Use([out, retval] VARIANT_BOOL* pVal);
3521  [propput, id(3), helpstring("property Use")] HRESULT Use([in] VARIANT_BOOL val);
3523  [propget, id(4), helpstring("property Extent")] HRESULT Extent([out, retval] IGeoRect ** pVal);
3524 };
3525 
3527 
3528 [
3529  object,
3530  uuid(cb25f69c-7cb6-11e1-8889-0024e84637be),
3531  dual,
3532  nonextensible,
3533  pointer_default(unique)
3534 ]
3536 {
3537  [propget, id(0), helpstring("property Item")] HRESULT Item([in] VARIANT vtIndex, [out, retval] IVPFIteratorGuide_LibraryUse ** pp);
3538  [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] LONG* pVal);
3539  [propget, id(2), helpstring("property Name")] HRESULT Name([out, retval] BSTR* pVal);
3540  [propget, id(-4), helpstring("property _NewEnum"), restricted] HRESULT _NewEnum([out, retval] IUnknown** pVal);
3541  [propget, id(3), helpstring("property Use")] HRESULT Use([out, retval] VARIANT_BOOL* pVal);
3542  [propput, id(3), helpstring("property Use")] HRESULT Use([in] VARIANT_BOOL val);
3543 };
3544 
3546 
3547 [
3548  object,
3549  uuid(cb25f696-7cb6-11e1-8889-0024e84637be),
3550  dual,
3551  nonextensible,
3552  pointer_default(unique)
3553 ]
3555 {
3556  [propget, id(0), helpstring("property Item")] HRESULT Item([in] VARIANT vtIndex, [out, retval] IVPFIteratorGuide_DatabaseUse ** pp);
3557  [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] LONG* pVal);
3558  [propget, id(-4), helpstring("property _NewEnum"), restricted] HRESULT _NewEnum([out, retval] IUnknown** pVal);
3559 #if !defined DOXYGEN_SHOULD_SKIP_THIS
3560  [id(2), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
3561 #endif
3562 };
3563 
3565 
3566 [
3567  object,
3568  uuid(cb25f694-7cb6-11e1-8889-0024e84637be),
3569  dual,
3570  nonextensible,
3571  pointer_default(unique)
3572 ]
3574 {
3576 
3579  [propget, id(1), helpstring("property TwoColourShadingForDepthZones")] HRESULT TwoColourShadingForDepthZones([out, retval] VARIANT_BOOL* pVal);
3581 
3584  [propput, id(1), helpstring("property TwoColourShadingForDepthZones")] HRESULT TwoColourShadingForDepthZones([in] VARIANT_BOOL newVal);
3585 
3587  [propget, id(2), helpstring("property ShallowPattern")] HRESULT ShallowPattern([out, retval] VARIANT_BOOL* pVal);
3589  [propput, id(2), helpstring("property ShallowPattern")] HRESULT ShallowPattern([in] VARIANT_BOOL newVal);
3590 
3592  [propget, id(3), helpstring("property SimplifiedSymbols")] HRESULT SimplifiedSymbols([out, retval] VARIANT_BOOL* pVal);
3594  [propput, id(3), helpstring("property SimplifiedSymbols")] HRESULT SimplifiedSymbols([in] VARIANT_BOOL newVal);
3595 
3596 
3598  [propget, id(9), helpstring("property SafetyContourMetres")] HRESULT SafetyContourMetres([out, retval] DOUBLE* pVal);
3600  [propput, id(9), helpstring("property SafetyContourMetres")] HRESULT SafetyContourMetres([in] DOUBLE newVal);
3602  [propget, id(10), helpstring("property ShallowContourMetres")] HRESULT ShallowContourMetres([out, retval] DOUBLE* pVal);
3604  [propput, id(10), helpstring("property ShallowContourMetres")] HRESULT ShallowContourMetres([in] DOUBLE newVal);
3606  [propget, id(11), helpstring("property DeepContourMetres")] HRESULT DeepContourMetres([out, retval] DOUBLE* pVal);
3608  [propput, id(11), helpstring("property DeepContourMetres")] HRESULT DeepContourMetres([in] DOUBLE newVal);
3609 
3611  [propget, id(30), helpstring("property CompilationScaleZoomFactor")] HRESULT CompilationScaleZoomFactor([out, retval] DOUBLE* pVal);
3613  [propput, id(30), helpstring("property CompilationScaleZoomFactor")] HRESULT CompilationScaleZoomFactor([in] DOUBLE nVal);
3614 
3616  [id(31), helpstring("Get an identical copy of this object")] HRESULT Copy([out, retval] IVPFDisplaySettings** pVal);
3617 
3619  [propget, id(32), helpstring("The types of features to draw")] HRESULT FeatureSet([out, retval] IVPFFeatureSet ** pVal);
3621  [propput, id(32), helpstring("The types of features to draw")] HRESULT FeatureSet([in] IVPFFeatureSet * newVal);
3622 
3623 #if !defined DOXYGEN_SHOULD_SKIP_THIS
3624  [id(41), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
3625 #endif
3626 };
3627 
3629 
3630 [
3631  object,
3632  uuid(cb25f692-7cb6-11e1-8889-0024e84637be),
3633  dual,
3634  nonextensible,
3635  pointer_default(unique)
3636 ]
3638 {
3640  [id(1), helpstring("Associate this manager with a specified folder")] HRESULT OpenVenc([in] ILibrary * EncXLibrary, [in] BSTR chartFolder);
3642  [id(2), helpstring("Dissociate from the current folder")] HRESULT CloseVenc(void);
3644  [id(3), helpstring("Invoke the CherSoft Windows application that installs and updates VPF files")] HRESULT RunInstallApplication([in] BSTR pathToApplication);
3645 
3647  [propget, id(4), helpstring("The iterator guide")] HRESULT IteratorGuide([out, retval] IVPFIteratorGuide ** pVal);
3648 
3649 #if !defined DOXYGEN_SHOULD_SKIP_THIS
3650  [id(141), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
3651 #endif
3652 };
3653 
3655 [
3656  object,
3657  uuid(cb25f6a2-7cb6-11e1-8889-0024e84637be),
3658  dual,
3659  helpstring("IVPFCatalogueObserver Interface"),
3660  nonextensible,
3661  pointer_default(unique),
3662  hidden
3663 ]
3665 {
3667  [id(1), helpstring("method Register")] HRESULT Register([in] IVPFManager * vpfMgr);
3669  [id(2), helpstring("method Unregister")] HRESULT Unregister(void);
3670 
3671 };
3672 
3674 
3675 [
3676  object,
3677  uuid(cb25f653-7cb6-11e1-8889-0024e84637be),
3678  dual,
3679  helpstring("IS57Draw Interface"),
3680  nonextensible,
3681  pointer_default(unique),
3682  hidden
3683 ]
3684 interface IS57Draw : IDispatch
3685 {
3687  [id(1), helpstring("method SetManager")] HRESULT SetManager([in] IS57Manager * pMgr);
3689  [id(2), helpstring("Draw the chart to the specified device context")] HRESULT Draw([in] OLE_HANDLE lHDC);
3691  [propget, id(3), helpstring("The nominal scale of the chart")] HRESULT DisplayScale([out, retval] LONG* pVal);
3693 
3698  [id(4), helpstring("The nominal scale of the chart")] HRESULT SetDisplayScale([in] LONG nDisplayScale, [in] IPixelPoint * ipPixelPt);
3699 
3701 
3713  [id(7), helpstring("Obtain the sensible next scale in the specified direction")] HRESULT CalculateNewDisplayScale(
3714  [out] VARIANT_BOOL* pbAllowed, //<! Whether the output scale is within the range allowed by %ENCX
3715  [out] LONG* pnScaleOut, //<! The new suggested scale
3716  [in] LONG nScaleOld, //<! The old scale. Typically IS57Draw::DisplayScale()
3717  [in] LONG nChange, //<! The number of steps and direction to go from the old scale. Positive for more detailed scale.
3718  [in] LONG nSmallestChangeAllowed //<! The minimum number of steps to go from the old scale.
3719  );
3721 
3723  [propget, id(8), helpstring("Obtain the geopix")] HRESULT GeoPix([out, retval] IGeoPix ** pVal);
3725 
3726  [id(9), helpstring("method SetDrawLayerCallback")] HRESULT SetDrawLayerCallback(
3727  [in] enum S57CallBackDrawAction callBackDrawAction,
3728  [in] IS57ProductAndUsage * iproductAndUsage,
3729  [in] BYTE Layer
3730  );
3732 
3735  [propget, id(10), helpstring("Obtain the geographical position of the centre of the drawing surface")] HRESULT PositionOfCentre([out, retval] IGeoPoint ** geoPoint);
3737  [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);
3739  [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);
3741  [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);
3743  [propput, id(13), helpstring("The display settings control the symbolisation (drawing style) and what types of object are drawn")] HRESULT DisplaySettings([in] IS57DisplaySettings * newVal);
3745 
3746  [propget, id(14), helpstring("The nominal size of a pixel")] HRESULT PixelSizeMetres([out, retval] DOUBLE* sz);
3748 
3749  [propput, id(14), helpstring("The nominal size of a pixel")] HRESULT PixelSizeMetres([in] DOUBLE sz);
3751  [propget, id(15), helpstring("The geographical orientation of the drawing surface")] HRESULT DirectionOfUp([out, retval] DOUBLE* pVal);
3753  [id(16), helpstring("The geographical orientation of the drawing surface")] HRESULT SetDirectionOfUp([in] DOUBLE degrees, [in] IPixelPoint * ipPixelPt, [out, retval] VARIANT_BOOL* pVal);
3754 
3756 
3759  [propget, id(17), helpstring("property GeoExtent")] HRESULT GeoExtent([out, retval] IGeoRect ** pVal);
3760 
3761  [id(18), helpstring("method FeaturesAtPoint")] HRESULT FeaturesAtPoint([in] IPixelPoint * pixelPt, [out, retval] IS57DrawnFeatures ** pVal);
3763  [propget, id(19), helpstring("The colour scheme for the chart")] HRESULT DisplayPalette([out, retval] IDisplayPalette ** pVal);
3765  [propput, id(19), helpstring("The colour scheme for the chart")] HRESULT DisplayPalette([in] IDisplayPalette * newVal);
3767 
3768  [propget, id(20), helpstring("property ShowPreviousCells")] HRESULT ShowPreviousCells([out, retval] VARIANT_BOOL* pVal);
3770 
3771  [propput, id(20), helpstring("property ShowPreviousCells")] HRESULT ShowPreviousCells([in] VARIANT_BOOL newVal);
3773 
3780  [id(22), helpstring("Adjusts the origin used when filling an area with symbols")] HRESULT AdjustAreaSymbolOffsets([in] LONG cx, [in] LONG cy);
3781 
3783  [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);
3784 
3786  [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);
3788  [id(25), helpstring("Set the size of the image that will be drawn")] HRESULT SetSize([in] IPixelSize* sz);
3789 
3791  [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);
3792 
3793 
3794  // RESERVE ID 27 FOR DEPTH AT GEOPOINT PROPERTY OR METHOD
3795 
3796 
3798  [propget, id(28), helpstring("Projection")] HRESULT ProjectionType([out, retval] enum S57Projection * projection);
3800  [propput, id(28), helpstring("Projection")] HRESULT ProjectionType([in] enum S57Projection projection);
3801 
3803  [propget, id(29), helpstring("Scalebar")] HRESULT Scalebar([out, retval] enum ScaleBarUnits * pVal);
3805  [propput, id(29), helpstring("Scalebar")] HRESULT Scalebar([in] enum ScaleBarUnits newVal);
3806 
3808  [propget, id(30), helpstring("Draw grid (deprecated)")] HRESULT DrawGrid([out, retval] VARIANT_BOOL * pVal);
3810  [propput, id(30), helpstring("Draw grid (deprecated)")] HRESULT DrawGrid([in] VARIANT_BOOL pVal);
3811 
3813  [propget, id(31), helpstring("The display settings control the symbolisation for single file World Vector Shoreline")] HRESULT WVSDisplaySettings([out, retval] IWVSDisplaySettings ** pVal);
3815  [propput, id(31), helpstring("The display settings control the symbolisation for single file World Vector Shoreline")] HRESULT WVSDisplaySettings([in] IWVSDisplaySettings * newVal);
3816 
3818  [propget, id(32), helpstring("The display settings control the drawing of the grid")] HRESULT GridDisplaySettings([out, retval] IGridDisplaySettings ** pVal);
3820  [propput, id(32), helpstring("The display settings control the drawing of the grid")] HRESULT GridDisplaySettings([in] IGridDisplaySettings * newVal);
3821 
3823  [id(33), helpstring("Highlight Feature")] HRESULT HighlightFeature([in] IS57FeatureIdentifier * featureId, [in] VARIANT_BOOL bClear);
3825  [id(34), helpstring("Highlight Sounding")] HRESULT HighlightSounding([in] IS57FeatureIdentifier * featureId, [in] double depthMetres, [in] VARIANT_BOOL bClear);
3826 
3827 #if !defined DOXYGEN_SHOULD_SKIP_THIS
3828  [id(35), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
3829 #endif
3830 
3832  [propget, id(36), helpstring("property BackgroundColour")] HRESULT BackgroundColour([out, retval] DWORD * colour);
3834  [propput, id(36), helpstring("property BackgroundColour")] HRESULT BackgroundColour([in] DWORD colour);
3835 
3837  [id(37), helpstring("method SetVPFManager")] HRESULT SetVPFManager([in] IVPFManager * pMgr);
3838 
3840  [id(38), helpstring("method VPFFeaturesAtPoint")] HRESULT VPFFeaturesAtPoint([in] IPixelPoint * pixelPt, [out, retval] BSTR * pXML);
3842  [id(39), helpstring("method VPFCoverageAtPoint")] HRESULT VPFCoveragesAtPoint([in] IPixelPoint * pixelPt, [out, retval] BSTR * pXML);
3843 
3845  [propget, id(40), helpstring("The VPF display settings")] HRESULT VPFDisplaySettings([out, retval] IVPFDisplaySettings ** pVal);
3847  [propput, id(40), helpstring("The VPF display settings")] HRESULT VPFDisplaySettings([in] IVPFDisplaySettings * newVal);
3848 
3850  [propget, id(41), helpstring("ScalebarDetailedMode")] HRESULT ScalebarDetailedMode([out, retval] enum SBDetailedMode * scale);
3852  [propput, id(41), helpstring("ScalebarDetailedMode")] HRESULT ScalebarDetailedMode([in] enum SBDetailedMode scale);
3853 };
3854 
3856 
3857 [
3858  object,
3859  uuid(cb25f67f-7cb6-11e1-8889-0024e84637be),
3860  dual,
3861  helpstring("IHTMLGenerator Interface"),
3862  nonextensible,
3863  pointer_default(unique),
3864  hidden
3865 ]
3867 {
3869  [id(1), helpstring("Set-up the generator for S-57 properties at point")] HRESULT S57PropertiesAtPoint([in] IS57Draw* s57draw, [in] IPixelPoint * pixelPt);
3870 
3872  [id(2), helpstring("Set the event for HTML")] HRESULT ProcessEvent([in] BSTR sEvent, [out, retval] enum HTMLAction * action);
3873 
3875  [id(3), helpstring("Get the HTML")] HRESULT HTML([in] BSTR sUrl, [out, retval] BSTR * pHtml);
3876 };
3877 
3879 
3880 [
3881  object,
3882  uuid(cb25f690-7cb6-11e1-8889-0024e84637be),
3883  dual,
3884  helpstring("IRouteCheck Interface"),
3885  nonextensible,
3886  pointer_default(unique),
3887  hidden
3888 ]
3890 {
3892  [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);
3893 #if !defined DOXYGEN_SHOULD_SKIP_THIS
3894  [id(2), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
3895 #endif
3897  [propget, id(3), helpstring("Check line features within safety distance")] HRESULT CheckLinesWithinSafetyDistance([out, retval] VARIANT_BOOL * pVal);
3899  [propput, id(3), helpstring("Check line features within safety distance")] HRESULT CheckLinesWithinSafetyDistance([in] VARIANT_BOOL pVal);
3901  [propget, id(4), helpstring("Check area features within safety distance")] HRESULT CheckAreasWithinSafetyDistance([out, retval] VARIANT_BOOL * pVal);
3903  [propput, id(4), helpstring("Check area features within safety distance")] HRESULT CheckAreasWithinSafetyDistance([in] VARIANT_BOOL pVal);
3904 };
3905 
3907 
3909 
3913 [
3914  uuid(cb25f5f4-7cb6-11e1-8889-0024e84637be),
3915  version(3.0),
3916  helpstring("CherSoft ENCX 3.0 Type Library")
3917 ]
3918 library ENCX
3919 {
3920 #if !defined DOXYGEN_SHOULD_SKIP_THIS
3921  importlib("stdole2.tlb");
3922  importlib("mscorlib.tlb");
3923 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
3924 
3925 
3927 
3939  [
3940  uuid(cb25f5f5-7cb6-11e1-8889-0024e84637be),
3941  helpstring("Library Class")
3942  ]
3943  coclass Library
3944  {
3945  [default] interface ILibrary;
3946  };
3947 
3949 
3953  [
3954  uuid(cb25f5f6-7cb6-11e1-8889-0024e84637be),
3955  helpstring("DisplayPalette Class")
3956  ]
3958  {
3959  [default] interface IDisplayPalette;
3960  };
3961 
3963  [
3964  uuid(cb25f654-7cb6-11e1-8889-0024e84637be),
3965  helpstring("Events from DongleObserver"),
3966  hidden
3967  ]
3969  {
3970  properties:
3971  methods:
3973  [id(1), helpstring("method OnDongleChangeEvt")] HRESULT OnDongleChangeEvt(void);
3974  };
3975 
3977 
3980  [
3981  uuid(cb25f656-7cb6-11e1-8889-0024e84637be),
3982  helpstring("A security device")
3983  ]
3985  {
3986  [default] interface IDongleObserver;
3987  [default, source] dispinterface _IDongleObserverEvents;
3988  };
3989 
3991 
3992  [
3993  uuid(cb25f5f7-7cb6-11e1-8889-0024e84637be),
3994  helpstring("GeoPoint Class")
3995  ]
3996  coclass GeoPoint
3997  {
3998  [default] interface IGeoPoint;
3999  interface ICloneable;
4000  };
4001 
4003 
4004  [
4005  uuid(cb25f5f8-7cb6-11e1-8889-0024e84637be),
4006  helpstring("Collection of GeoPoint")
4007  ]
4008  coclass GeoPoints
4009  {
4010  [default] interface IGeoPoints;
4011  interface ICloneable;
4012  };
4013 
4015 
4016  [
4017  uuid(cb25f5f9-7cb6-11e1-8889-0024e84637be),
4018  helpstring("GeoArea Class")
4019  ]
4020  coclass GeoArea
4021  {
4022  [default] interface IGeoArea;
4023  };
4024 
4026 
4027  [
4028  uuid(cb25f5fa-7cb6-11e1-8889-0024e84637be),
4029  helpstring("GeoRect Class")
4030  ]
4031  coclass GeoRect
4032  {
4033  [default] interface IGeoRect;
4034  };
4035 
4037 
4038  [
4039  uuid(cb25f5fb-7cb6-11e1-8889-0024e84637be),
4040  helpstring("GeoLine Class")
4041  ]
4042  coclass GeoLine
4043  {
4044  [default] interface IGeoLine;
4045  };
4046 
4048 
4054 #if !defined(UDE_ENC_ONLY)
4055  [
4056  uuid(cb25f657-7cb6-11e1-8889-0024e84637be),
4057  helpstring("RasManager Class")
4058  ]
4059  coclass RasManager
4060  {
4061  [default] interface IRasManager;
4062  };
4063 
4065  [
4066  uuid(cb25f658-7cb6-11e1-8889-0024e84637be),
4067  helpstring("Events from RasCatalogueObserver"),
4068  hidden
4069  ]
4071  {
4072  properties:
4073  methods:
4075  [id(1), helpstring("Occurs when the contents of the raster chart folder has changed. Redraw everything.")] HRESULT OnChanged();
4076  };
4077 
4079 
4081  [
4082  uuid(cb25f659-7cb6-11e1-8889-0024e84637be),
4083  helpstring("RasCatalogueObserver Class")
4084  ]
4086  {
4087  [default] interface IRasCatalogueObserver;
4088  [default, source] dispinterface _IRasCatalogueObserverEvents;
4089  };
4090 
4092 
4094  [
4095  uuid(cb25f67a-7cb6-11e1-8889-0024e84637be),
4096  helpstring("RasChartPanelIdentifier Class")
4097  ]
4099  {
4100  [default] interface IRasChartPanelIdentifier;
4101  };
4102 
4104 
4115  [
4116  uuid(cb25f67b-7cb6-11e1-8889-0024e84637be),
4117  helpstring("RasDraw Class")
4118  ]
4119  coclass RasDraw
4120  {
4121  [default] interface IRasDraw;
4122  };
4123 #endif
4124 
4126  // S57 classes
4128 
4130  [
4131  uuid(cb25f5fc-7cb6-11e1-8889-0024e84637be),
4132  helpstring("Events from S57CatalogueObserver"),
4133  hidden
4134  ]
4136  {
4137  properties:
4138  methods:
4139  // Occurs when the contents of the S-57 SENC has changed. Redraw everything.
4140  [id(1), helpstring("Occurs when the contents of the S-57 SENC has changed. Redraw everything.")] HRESULT OnChanged();
4141  };
4142 
4144 
4147  [
4148  uuid(cb25f5fd-7cb6-11e1-8889-0024e84637be),
4149  helpstring("S57CatalogueObserver Class")
4150  ]
4152  {
4153  [default] interface IS57CatalogueObserver;
4154  [default, source] dispinterface _IS57CatalogueObserverEvents;
4155  };
4156 
4158 
4161  [
4162  uuid(cb25f5fe-7cb6-11e1-8889-0024e84637be),
4163  helpstring("S57CellIdentifier Class")
4164  ]
4166  {
4167  [default] interface IS57CellIdentifier;
4168  };
4169 
4171 
4172  [
4173  uuid(cb25f5ff-7cb6-11e1-8889-0024e84637be),
4174  helpstring("S57CellIdentifiers Class")
4175  ]
4177  {
4178  [default] interface IS57CellIdentifiers;
4179  };
4180 
4182 
4183  [
4184  uuid(cb25f60d-7cb6-11e1-8889-0024e84637be),
4185  helpstring("S57Colour Class"),
4186  ]
4187  coclass S57Colour
4188  {
4189  [default] interface IS57Colour;
4190  };
4191 
4193 
4194  [
4195  uuid(cb25f610-7cb6-11e1-8889-0024e84637be),
4196  helpstring("S57ColourValue Class"),
4197  ]
4199  {
4200  [default] interface IS57ColourValue;
4201  };
4202 
4204 
4205  [
4206  uuid(cb25f60e-7cb6-11e1-8889-0024e84637be),
4207  helpstring("S57ColourValues Class"),
4208  ]
4210  {
4211  [default] interface IS57ColourValues;
4212  };
4213 
4215 
4219  [
4220  uuid(cb25f600-7cb6-11e1-8889-0024e84637be),
4221  helpstring("S57ProductAndUsage Class")
4222  ]
4224  {
4225  [default] interface IS57ProductAndUsage;
4226  };
4227 
4229 
4230  [
4231  uuid(cb25f601-7cb6-11e1-8889-0024e84637be),
4232  helpstring("S57ProductAndUsages Class")
4233  ]
4235  {
4236  [default] interface IS57ProductAndUsages;
4237  };
4238 
4240 
4241  [
4242  uuid(cb25f602-7cb6-11e1-8889-0024e84637be),
4243  helpstring("S57ObjectClass Class")
4244  ]
4246  {
4247  [default] interface IS57ObjectClass;
4248  };
4249 
4251 
4252  [
4253  uuid(cb25f603-7cb6-11e1-8889-0024e84637be),
4254  helpstring("Collection of S57ObjectClass")
4255  ]
4257  {
4258  [default] interface IS57ObjectClassCollection;
4259  };
4260 
4262 
4263  [
4264  uuid(cb25f604-7cb6-11e1-8889-0024e84637be),
4265  helpstring("S57FeatureIdentifier Class")
4266  ]
4268  {
4269  [default] interface IS57FeatureIdentifier;
4270  };
4271 
4273 
4274  [
4275  uuid(cb25f605-7cb6-11e1-8889-0024e84637be),
4276  helpstring("S57FeatureIdentifiers Class")
4277  ]
4279  {
4280  [default] interface IS57FeatureIdentifiers;
4281  };
4282 
4284 
4290  [
4291  uuid(cb25f606-7cb6-11e1-8889-0024e84637be),
4292  helpstring("S57FeatureQuery Class")
4293  ]
4295  {
4296  [default] interface IS57FeatureQuery;
4297  };
4298 
4300  [
4301  uuid(cb25f60f-7cb6-11e1-8889-0024e84637be),
4302  helpstring("S57ManagerInitialisationData Class")
4303  ]
4305  {
4306  [default] interface IS57ManagerInitialisationData;
4307  };
4308 
4309 
4311 
4323  [
4324  uuid(cb25f607-7cb6-11e1-8889-0024e84637be),
4325  helpstring("S57Manager Class")
4326  ]
4327  coclass S57Manager
4328  {
4329  [default] interface IS57Manager;
4330  };
4331 
4333  [
4334  uuid(cb25f655-7cb6-11e1-8889-0024e84637be),
4335  helpstring("Events from S57Draw"),
4336  hidden
4337  ]
4338  dispinterface _IS57DrawEvents
4339  {
4340  properties:
4341  methods:
4343  [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);
4344  };
4345 
4346 
4348 
4361  [
4362  uuid(cb25f608-7cb6-11e1-8889-0024e84637be),
4363  helpstring("S57Draw Class")
4364  ]
4365  coclass S57Draw
4366  {
4367  [default] interface IS57Draw;
4368  [default, source] dispinterface _IS57DrawEvents;
4369  };
4370 
4372 
4375  [
4376  uuid(cb25f680-7cb6-11e1-8889-0024e84637be),
4377  helpstring("HTMLGenerator Class")
4378  ]
4380  {
4381  [default] interface IHTMLGenerator;
4382  };
4383 
4385 
4386  [
4387  uuid(cb25f60a-7cb6-11e1-8889-0024e84637be),
4388  helpstring("PixelPoint Class")
4389  ]
4390  coclass PixelPoint
4391  {
4392  [default] interface IPixelPoint;
4393  };
4394 
4396 
4397  [
4398  uuid(cb25f60b-7cb6-11e1-8889-0024e84637be),
4399  helpstring("PixelSize Class")
4400  ]
4401  coclass PixelSize
4402  {
4403  [default] interface IPixelSize;
4404  };
4405 
4406 
4408 
4409  [
4410  uuid(cb25f60c-7cb6-11e1-8889-0024e84637be),
4411  helpstring("PixelRect Class")
4412  ]
4413  coclass PixelRect
4414  {
4415  [default] interface IPixelRect;
4416  };
4417 
4418 
4420  // Non-creatable co-classes
4421  // These are here to tidy-up the interface so that the client programmer is not faced with IFoo.
4422  // The mere existence of these co-classes means that functions returning IFoo return Foo instead.
4423  // Note that there are no RGS files for these classes and the C++ code does not use them or their GUIDs at all.
4425 #if !defined DOXYGEN_SHOULD_SKIP_THIS
4426  // Dongle
4427  [
4428  uuid(cb25f67c-7cb6-11e1-8889-0024e84637be),
4429  helpstring("Dongle Class"),
4430  noncreatable
4431  ]
4432  coclass Dongle
4433  {
4434  [default] interface IDongle;
4435  };
4436 
4438 
4439  [
4440  uuid(cb25f609-7cb6-11e1-8889-0024e84637be),
4441  helpstring("S57DisplaySettings Class"),
4442  noncreatable
4443  ]
4444  coclass S57DisplaySettings
4445  {
4446  [default] interface IS57DisplaySettings;
4447  interface ICloneable;
4448  };
4449 
4450  // GeoHorizontalDatumInfo
4451  [
4452  uuid(cb25f67d-7cb6-11e1-8889-0024e84637be),
4453  helpstring("GeoHorizontalDatumInfo Class"),
4454  noncreatable
4455  ]
4456  coclass GeoHorizontalDatumInfo
4457  {
4458  [default] interface IGeoHorizontalDatumInfo;
4459  };
4460 
4461  // PixelPoints
4462  [
4463  uuid(cb25f65a-7cb6-11e1-8889-0024e84637be),
4464  helpstring("PixelPoints Class"),
4465  noncreatable
4466  ]
4467  coclass PixelPoints
4468  {
4469  [default] interface IPixelPoints;
4470  };
4471 
4472  // PolyLines
4473  [
4474  uuid(cb25f65b-7cb6-11e1-8889-0024e84637be),
4475  helpstring("PolyLines Class"),
4476  noncreatable
4477  ]
4478  coclass PolyLines
4479  {
4480  [default] interface IPolyLines;
4481  };
4482 
4483  // GeoPix
4484  [
4485  uuid(cb25f65c-7cb6-11e1-8889-0024e84637be),
4486  helpstring("GeoPix Class"),
4487  noncreatable
4488  ]
4489  coclass GeoPix
4490  {
4491  [default] interface IGeoPix;
4492  };
4493 
4494  // GeoPixCollection
4495  [
4496  uuid(cb25f65d-7cb6-11e1-8889-0024e84637be),
4497  helpstring("GeoPixCollection Class"),
4498  noncreatable
4499  ]
4500  coclass GeoPixCollection
4501  {
4502  [default] interface IGeoPixCollection;
4503  };
4504 
4505  // HorizontalDatum
4506  [
4507  uuid(cb25f65e-7cb6-11e1-8889-0024e84637be),
4508  helpstring("HorizontalDatum Class"),
4509  noncreatable
4510  ]
4511  coclass HorizontalDatum
4512  {
4513  [default] interface IHorizontalDatum;
4514  };
4515 
4516 #if !defined(UDE_ENC_ONLY)
4517  // RasCharts
4518  [
4519  uuid(cb25f65f-7cb6-11e1-8889-0024e84637be),
4520  helpstring("RasCharts Class"),
4521  noncreatable
4522  ]
4523  coclass RasCharts
4524  {
4525  [default] interface IRasCharts;
4526  };
4527 
4528  // RasDiscIdentity
4529  [
4530  uuid(cb25f660-7cb6-11e1-8889-0024e84637be),
4531  helpstring("RasDiscIdentity Class"),
4532  noncreatable
4533  ]
4534  coclass RasDiscIdentity
4535  {
4536  [default] interface IRasDiscIdentity;
4537  };
4538 
4539  // RasNoticeToMarinersNumber
4540  [
4541  uuid(cb25f661-7cb6-11e1-8889-0024e84637be),
4542  helpstring("RasNoticeToMarinersNumber Class"),
4543  noncreatable
4544  ]
4545  coclass RasNoticeToMarinersNumber
4546  {
4547  [default] interface IRasNoticeToMarinersNumber;
4548  };
4549 
4550  // RasNoticeToMariners
4551  [
4552  uuid(cb25f662-7cb6-11e1-8889-0024e84637be),
4553  helpstring("RasNoticeToMariners Class"),
4554  noncreatable
4555  ]
4556  coclass RasNoticeToMariners
4557  {
4558  [default] interface IRasNoticeToMariners;
4559  };
4560 
4561  // RasNoticesToMariners
4562  [
4563  uuid(cb25f663-7cb6-11e1-8889-0024e84637be),
4564  helpstring("RasNoticesToMariners Class"),
4565  noncreatable
4566  ]
4567  coclass RasNoticesToMariners
4568  {
4569  [default] interface IRasNoticesToMariners;
4570  };
4571 
4572  // RasPanelIdentifier
4573  [
4574  uuid(cb25f664-7cb6-11e1-8889-0024e84637be),
4575  helpstring("RasPanelIdentifier Class"),
4576  noncreatable
4577  ]
4578  coclass RasPanelIdentifier
4579  {
4580  [default] interface IRasPanelIdentifier;
4581  };
4582 
4583  // RasPanelIdentifiers
4584  [
4585  uuid(cb25f665-7cb6-11e1-8889-0024e84637be),
4586  helpstring("RasPanelIdentifiers Class"),
4587  noncreatable
4588  ]
4589  coclass RasPanelIdentifiers
4590  {
4591  [default] interface IRasPanelIdentifiers;
4592  };
4593 
4594  // RasChartPanelIdentifiers
4595  [
4596  uuid(cb25f666-7cb6-11e1-8889-0024e84637be),
4597  helpstring("RasChartPanelIdentifiers Class"),
4598  noncreatable
4599  ]
4600  coclass RasChartPanelIdentifiers
4601  {
4602  [default] interface IRasChartPanelIdentifiers;
4603  };
4604 
4605  // RasPanelInfo
4606  [
4607  uuid(cb25f667-7cb6-11e1-8889-0024e84637be),
4608  helpstring("RasPanelInfo Class"),
4609  noncreatable
4610  ]
4611  coclass RasPanelInfo
4612  {
4613  [default] interface IRasPanelInfo;
4614  };
4615 
4616  // RasChartInfo
4617  [
4618  uuid(cb25f668-7cb6-11e1-8889-0024e84637be),
4619  helpstring("RasChartInfo Class"),
4620  noncreatable
4621  ]
4622  coclass RasChartInfo
4623  {
4624  [default] interface IRasChartInfo;
4625  };
4626 
4627  // RasPanelNote
4628  [
4629  uuid(cb25f669-7cb6-11e1-8889-0024e84637be),
4630  helpstring("RasPanelNote Class"),
4631  noncreatable
4632  ]
4633  coclass RasPanelNote
4634  {
4635  [default] interface IRasPanelNote;
4636  };
4637 
4638  // RasPanelNotes
4639  [
4640  uuid(cb25f66a-7cb6-11e1-8889-0024e84637be),
4641  helpstring("RasPanelNotes Class"),
4642  noncreatable
4643  ]
4644  coclass RasPanelNotes
4645  {
4646  [default] interface IRasPanelNotes;
4647  };
4648 #endif
4649 
4650  // S57Attribute
4651  [
4652  uuid(cb25f66b-7cb6-11e1-8889-0024e84637be),
4653  helpstring("S57Attribute Class"),
4654  noncreatable
4655  ]
4656  coclass S57Attribute
4657  {
4658  [default] interface IS57Attribute;
4659  };
4660 
4661  // S57AttributeValue
4662  [
4663  uuid(cb25f66c-7cb6-11e1-8889-0024e84637be),
4664  helpstring("S57AttributeValue Class"),
4665  noncreatable
4666  ]
4667  coclass S57AttributeValue
4668  {
4669  [default] interface IS57AttributeValue;
4670  };
4671 
4672  // S57AttributeValues
4673  [
4674  uuid(cb25f66d-7cb6-11e1-8889-0024e84637be),
4675  helpstring("S57AttributeValues Class"),
4676  noncreatable
4677  ]
4678  coclass S57AttributeValues
4679  {
4680  [default] interface IS57AttributeValues;
4681  };
4682 
4683  // S57CellInfo
4684  [
4685  uuid(cb25f66e-7cb6-11e1-8889-0024e84637be),
4686  helpstring("S57CellInfo Class"),
4687  noncreatable
4688  ]
4689  coclass S57CellInfo
4690  {
4691  [default] interface IS57CellInfo;
4692  };
4693 
4694  // S57DepthPoint
4695  [
4696  uuid(cb25f66f-7cb6-11e1-8889-0024e84637be),
4697  helpstring("S57DepthPoint Class"),
4698  noncreatable
4699  ]
4700  coclass S57DepthPoint
4701  {
4702  [default] interface IS57DepthPoint;
4703  };
4704 
4705  // S57DepthPoints
4706  [
4707  uuid(cb25f670-7cb6-11e1-8889-0024e84637be),
4708  helpstring("S57DepthPoints Class"),
4709  noncreatable
4710  ]
4711  coclass S57DepthPoints
4712  {
4713  [default] interface IS57DepthPoints;
4714  };
4715 
4716  // S57Face
4717  [
4718  uuid(cb25f671-7cb6-11e1-8889-0024e84637be),
4719  helpstring("S57Face Class"),
4720  noncreatable
4721  ]
4722  coclass S57Face
4723  {
4724  [default] interface IS57Face;
4725  };
4726 
4727  // S57Faces
4728  [
4729  uuid(cb25f672-7cb6-11e1-8889-0024e84637be),
4730  helpstring("S57Faces Class"),
4731  noncreatable
4732  ]
4733  coclass S57Faces
4734  {
4735  [default] interface IS57Faces;
4736  };
4737 
4738  // S57FeatureInfo
4739  [
4740  uuid(cb25f673-7cb6-11e1-8889-0024e84637be),
4741  helpstring("S57FeatureInfo Class"),
4742  noncreatable
4743  ]
4744  coclass S57FeatureInfo
4745  {
4746  [default] interface IS57FeatureInfo;
4747  };
4748 
4749  // S57FeatureArea
4750  [
4751  uuid(cb25f674-7cb6-11e1-8889-0024e84637be),
4752  helpstring("S57FeatureArea Class"),
4753  noncreatable
4754  ]
4755  coclass S57FeatureArea
4756  {
4757  [default] interface IS57FeatureArea;
4758  };
4759 
4760  // S57FeatureLine
4761  [
4762  uuid(cb25f675-7cb6-11e1-8889-0024e84637be),
4763  helpstring("S57FeatureLine Class"),
4764  noncreatable
4765  ]
4766  coclass S57FeatureLine
4767  {
4768  [default] interface IS57FeatureLine;
4769  };
4770 
4771  // S57FeaturePoint
4772  [
4773  uuid(cb25f676-7cb6-11e1-8889-0024e84637be),
4774  helpstring("S57FeaturePoint Class"),
4775  noncreatable
4776  ]
4777  coclass S57FeaturePoint
4778  {
4779  [default] interface IS57FeaturePoint;
4780  };
4781 
4782  // S57FeatureSounding
4783  [
4784  uuid(cb25f677-7cb6-11e1-8889-0024e84637be),
4785  helpstring("S57FeatureSounding Class"),
4786  noncreatable
4787  ]
4788  coclass S57FeatureSounding
4789  {
4790  [default] interface IS57FeatureSounding;
4791  };
4792 
4793  // S57DrawnFeature
4794  [
4795  uuid(cb25f678-7cb6-11e1-8889-0024e84637be),
4796  helpstring("S57DrawnFeature Class"),
4797  noncreatable
4798  ]
4799  coclass S57DrawnFeature
4800  {
4801  [default] interface IS57DrawnFeature;
4802  };
4803 
4804  // S57DrawnFeatures
4805  [
4806  uuid(cb25f679-7cb6-11e1-8889-0024e84637be),
4807  helpstring("S57DrawnFeatures Class"),
4808  noncreatable
4809  ]
4810  coclass S57DrawnFeatures
4811  {
4812  [default] interface IS57DrawnFeatures;
4813  };
4814 
4815 
4816  // GeoPointFormatter
4817  [
4818  uuid(cb25f682-7cb6-11e1-8889-0024e84637be),
4819  helpstring("GeoPointFormatter Class"),
4820  noncreatable
4821  ]
4822  coclass GeoPointFormatter
4823  {
4824  [default] interface IGeoPointFormatter;
4825  };
4826 
4827  // PolyAreas
4828  [
4829  uuid(cb25f683-7cb6-11e1-8889-0024e84637be),
4830  helpstring("PolyAreas Class"),
4831  noncreatable
4832  ]
4833  coclass PolyAreas
4834  {
4835  [default] interface IPolyAreas;
4836  };
4837 
4839 
4840  [
4841  uuid(cb25f685-7cb6-11e1-8889-0024e84637be),
4842  helpstring("WVSDisplaySettings Class"),
4843  noncreatable
4844  ]
4845  coclass WVSDisplaySettings
4846  {
4847  [default] interface IWVSDisplaySettings;
4848  interface ICloneable;
4849  };
4850 
4852 
4853  [
4854  uuid(cb25f687-7cb6-11e1-8889-0024e84637be),
4855  helpstring("GridDisplaySettings Class"),
4856  noncreatable
4857  ]
4858  coclass GridDisplaySettings
4859  {
4860  [default] interface IGridDisplaySettings;
4861  interface ICloneable;
4862  };
4863 
4865 
4866  [
4867  uuid(cb25f689-7cb6-11e1-8889-0024e84637be),
4868  helpstring("GridPen Class"),
4869  noncreatable
4870  ]
4871  coclass GridPen
4872  {
4873  [default] interface IGridPen;
4874  interface ICloneable;
4875  };
4876 
4878  [
4879  uuid(cb25f691-7cb6-11e1-8889-0024e84637be),
4880  helpstring("RouteCheck Class")
4881  ]
4882  coclass RouteCheck
4883  {
4884  [default] interface IRouteCheck;
4885  };
4886 
4887 
4888  // VPFIteratorGuide_CoverageUse
4889  [
4890  uuid(cb25f6a1-7cb6-11e1-8889-0024e84637be),
4891  noncreatable
4892  ]
4893  coclass VPFIteratorGuide_CoverageUse
4894  {
4895  [default] interface IVPFIteratorGuide_CoverageUse;
4896  };
4897 
4898  // VPFIteratorGuide_LibraryUse
4899  [
4900  uuid(cb25f69f-7cb6-11e1-8889-0024e84637be),
4901  noncreatable
4902  ]
4903  coclass VPFIteratorGuide_LibraryUse
4904  {
4905  [default] interface IVPFIteratorGuide_LibraryUse;
4906  };
4907 
4908  // VPFIteratorGuide_DatabaseUse
4909  [
4910  uuid(cb25f69d-7cb6-11e1-8889-0024e84637be),
4911  noncreatable
4912  ]
4913  coclass VPFIteratorGuide_DatabaseUse
4914  {
4915  [default] interface IVPFIteratorGuide_DatabaseUse;
4916  };
4917 
4918  // VPFIteratorGuide
4919  [
4920  uuid(cb25f697-7cb6-11e1-8889-0024e84637be),
4921  noncreatable
4922  ]
4923  coclass VPFIteratorGuide
4924  {
4925  [default] interface IVPFIteratorGuide;
4926  };
4927 
4928  // VPFDisplaySettings
4929  [
4930  uuid(cb25f695-7cb6-11e1-8889-0024e84637be),
4931  helpstring("VPFDisplaySettings Class"),
4932  noncreatable
4933  ]
4934  coclass VPFDisplaySettings
4935  {
4936  [default] interface IVPFDisplaySettings;
4937  interface ICloneable;
4938  };
4939 
4940  // VPFFeatureSet
4941  [
4942  uuid(cb25f69b-7cb6-11e1-8889-0024e84637be)
4943  ]
4944  coclass VPFFeatureSet
4945  {
4946  [default] interface IVPFFeatureSet;
4947  };
4948 
4949  // VPFManager
4950  [
4951  uuid(cb25f693-7cb6-11e1-8889-0024e84637be)
4952  ]
4953  coclass VPFManager
4954  {
4955  [default] interface IVPFManager;
4956  };
4957 
4958 
4960  [
4961  uuid(cb25f6a4-7cb6-11e1-8889-0024e84637be),
4962  helpstring("Events from VPFCatalogueObserver"),
4963  hidden
4964  ]
4965  dispinterface _IVPFCatalogueObserverEvents
4966  {
4967  properties:
4968  methods:
4969  // Occurs when the contents of the VENC has changed. Redraw everything.
4970  [id(1), helpstring("Occurs when the contents of the VENC has changed. Redraw everything.")] HRESULT OnChanged();
4971  };
4972 
4974 
4977  [
4978  uuid(cb25f6a3-7cb6-11e1-8889-0024e84637be),
4979  helpstring("VPFCatalogueObserver Class")
4980  ]
4981  coclass VPFCatalogueObserver
4982  {
4983  [default] interface IVPFCatalogueObserver;
4984  [default, source] dispinterface _IVPFCatalogueObserverEvents;
4985  };
4986 
4987 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
4988 }
Specifies the type of palette and any fading of the chart.
Definition: encxcom.idl:3958
Observe the state of the security device.
Definition: encxcom.idl:3985
An area formed by joining points in a closed loop with lines of the specified shape.
Definition: encxcom.idl:4021
A line of a specified shape between two points on the Earth's surface.
Definition: encxcom.idl:4043
A position on the Earth's surface defined by geodetic latitude and longitude.
Definition: encxcom.idl:3997
Collection of GeoPoint objects.
Definition: encxcom.idl:4009
An area on the Earth's surface defined by two meridians (east and west) and two parallels (north and ...
Definition: encxcom.idl:4032
Create HTML for display in a browser control (etc.)
Definition: encxcom.idl:4380
The top level object in the ENCX library. Required to create many other ENCX objects.
Definition: encxcom.idl:3944
A value class representing a floating point Cartesian pixel point.
Definition: encxcom.idl:4391
A value class representing a floating point Cartesian pixel rectangle aligned with the Cartesian axes...
Definition: encxcom.idl:4414
A value class representing a floating point Cartesian pixel size.
Definition: encxcom.idl:4402
Observe changes to the charts in a RasManager.
Definition: encxcom.idl:4086
The identity of a single panel (either the main chart or an inset panel) on a known raster chart.
Definition: encxcom.idl:4099
Display a bounded raster chart via a Win32 Device Context.
Definition: encxcom.idl:4120
Manage a folder of raster charts.
Definition: encxcom.idl:4060
Observe changes to the cells in an S57Manager.
Definition: encxcom.idl:4152
Identification of an S-57 cell.
Definition: encxcom.idl:4166
Collection of S57CellIdentifier.
Definition: encxcom.idl:4177
An S-57 Colour Identifier.
Definition: encxcom.idl:4188
An S-57 Colour Identifier combined with the values of the colour (RGB) for each colour scheme (Day,...
Definition: encxcom.idl:4199
A collection of S-57 colours and associated RGB values.
Definition: encxcom.idl:4210
Display a continuous S-57 vector chart via a Win32 Device Context.
Definition: encxcom.idl:4366
A globally unique value that identifies a particular feature as represented by a particular S-57 cell...
Definition: encxcom.idl:4268
Collection of S57FeatureIdentifier.
Definition: encxcom.idl:4279
A means of querying an S-57 cell within a SENC to obtain a collection of the cell's features.
Definition: encxcom.idl:4295
An S-57 SENC.
Definition: encxcom.idl:4328
Parameters required to initialize S57Manager using OpenSenc2()
Definition: encxcom.idl:4305
Collection of S57ObjectClass.
Definition: encxcom.idl:4257
Type of S-57 Object.
Definition: encxcom.idl:4246
The combination of an S-57 Product and an Intended Usage.
Definition: encxcom.idl:4224
Collection of S57ProductAndUsage.
Definition: encxcom.idl:4235
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:3969
HRESULT OnDongleChangeEvt(void)
Occurs when the state of the dongle has changed.
Events from RasCatalogueObserver.
Definition: encxcom.idl:4071
HRESULT OnChanged()
Occurs when the contents of the raster chart folder has changed. Redraw everything.
Events from S57CatalogueObserver.
Definition: encxcom.idl:4136
Events from S57Draw.
Definition: encxcom.idl:4339
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:3256
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:3218
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:3867
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:1258
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
DATE PermitExpiryDate
When the licence expires for this chart.
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:1327
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 PanelGeoPix([in] IRasPanelIdentifier *panelID, [out, retval] IGeoPix **geoPix)
Obtain the GeoPix for the specified panel.
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:1212
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:1279
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:1307
IRasPanelNote Item([in] VARIANT vtIndex)
IUnknown _NewEnum
Properties and methods for ENCX::RouteCheck.
Definition: encxcom.idl:3890
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:1704
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:1728
IS57Attribute Attribute
The type of attribute.
BSTR Value
The value of the Attribute.
A collection of S-57 attribute values.
Definition: encxcom.idl:1747
IS57AttributeValue Item([in] VARIANT vtIndex)
Properties and methods for ENCX::S57CatalogueObserver.
Definition: encxcom.idl:3458
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:1765
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:1790
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:2050
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:1890
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:1913
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:1950
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:2108
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:2127
IS57DepthPoint Item([in] VARIANT vtIndex)
IUnknown _NewEnum
Properties and methods for ENCX::S57DisplaySettings.
Definition: encxcom.idl:2890
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:3685
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:2627
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:2655
IS57DrawnFeature Item([in] VARIANT vtIndex)
A geographical area - a closed region on the surface of the earth.
Definition: encxcom.idl:2145
IGeoPoints Points
A snapshot of the Geographic Points that make up the face.
A collection of S-57 faces.
Definition: encxcom.idl:2162
IS57Face Item([in] VARIANT vtIndex)
IUnknown _NewEnum
Information about a feature of 'Area' geometry.
Definition: encxcom.idl:2546
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:2455
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:2499
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:2524
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:2564
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:2585
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:3426
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:2604
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:3347
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:3304
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:2431
IS57ObjectClass Item([in] VARIANT vtIndex)
HRESULT Add([in] IS57ObjectClass *objectClass)
HRESULT Remove([in] LONG nIndex)
Properties and methods for ENCX::S57ObjectClass.
Definition: encxcom.idl:2403
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:1975
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:2023
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:3665
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:3574
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:3478
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:3497
Properties and methods for ENCX::VPFIteratorGuide_DatabaseUse.
Definition: encxcom.idl:3536
IVPFIteratorGuide_LibraryUse Item([in] VARIANT vtIndex)
Properties and methods for ENCX::IVPFIteratorGuide_LibraryUse.
Definition: encxcom.idl:3515
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:3555
IVPFIteratorGuide_DatabaseUse Item([in] VARIANT vtIndex)
Properties and methods for ENCX::VPFManager.
Definition: encxcom.idl:3638
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:3141
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:3919