The SDL Component Suite is an industry leading collection of components supporting scientific and engineering computing. Please visit the SDL Web site for more information....



Interface of SDL_GeoAtlas

const
  MAX_GA_MAPS = 200;
{$IFDEF PAIDVERS}
  SDLVersionInfo = 'geoatlas_r1200_full';
  IsLightEd = false;
{$ELSE}
  SDLVersionInfo = 'geoatlas_r1200_lighted';
  IsLightEd = true;
{$ENDIF}
  Release = 1200;

type
  TMapDefinition = record
                     MapFName    : string;
                     Caption     : string;
                     Resolution  : double;
                     Corners     : TCornerArray;
                   end;

  TGeoAtlas = class(TCustomControl)
              private
                FGeoMap          : TGeoMap;
                FCPanel          : TPanel;
                FSBZoom          : TSpeedButton;
                FSBPoint         : TSpeedButton;
                FCboxMaps        : TComboBox;
                FMapOLColor      : TColor;
                FMapOLVisible    : boolean;
                FMinResDiff      : double;   // minimum required resolution
                                             // difference for zooming (in percent)
                FNumRegMaps      : integer;  // number of registered maps
                FRegMaps         : array[1..MAX_GA_MAPS] of TMapDefinition;
                FOnZoomButClick  : TNotifyEvent;
                FOnPoiButClick   : TNotifyEvent;
                FOnCBxMapsChg    : TNotifyEvent;
                FCurrentMapIdx   : integer;  // currently selected map;
                procedure CBoxMapsChange (sender: TObject);
                procedure FGeoMapDataRendered(Sender: TObject; Canvas: TCanvas);
                procedure FGeoMapMouseDown (Sender: TObject; Button: TMouseButton;
                              Shift: TShiftState; X, Y: Integer);
                procedure FGeoMapMouseUp (Sender: TObject; Button: TMouseButton;
                              Shift: TShiftState; X, Y: Integer);
                procedure FGeoMapMouseMove (Sender: TObject; Shift: TShiftState;
                              X,Y: integer);
                procedure FGeoMapImgRequest (Sender: TObject; var FileName: string);
                procedure FGeoMapClick(Sender: TObject);
                procedure FGeoMapDblClick(Sender: TObject);
                procedure FSBZoomClick(Sender: TObject);
                procedure FSBPointClick(Sender: TObject);
                procedure SetMapOLColor (value: TColor);
                procedure SetMapOLVisible (value: boolean);
                function  GetCPnlVis: boolean;
                procedure SetCPnlVis (value: boolean);
                function  GetMapDef (ix: integer): TMapDefinition;
              protected
                procedure CreateWnd; override;
              public
                constructor Create(AOwner: TComponent); override;
                destructor Destroy; override;
                property CmdPanel: TPanel read FCPanel write FCPanel;
                property CurrentMap: TGeoMap read FGeoMap write FGeoMap;
                property NumRegMaps: integer read FNumRegMaps;
                property Maps[ix: integer]: TMapDefinition read GetMapDef;
                property MapSelector: TComboBox read FCBoxMaps write FCBoxMaps;
                property PointerButton: TSpeedButton read FSBPoint write FSBPoint;
                function  SelectMap (Index: integer): boolean;
                function  RegisterMap (MapFName: string): boolean;
                procedure UnregisterMap (index: integer);
                property ZoomButton: TSpeedButton read FSBZoom write FSBZoom;
                function ZoomIn (CurrentLat, CurrentLong,
                             CurrentResolution: double): boolean;
                function ZoomOut (CurrentLat, CurrentLong,
                             CurrentResolution: double): boolean;
              published
                property Align;
                property CmdPanelVisible: boolean
                             read GetCPnlVis write SetCPnlVis;
                property MapOutlineColor: TColor
                             read FMapOLColor write SetMapOLColor;
                property MapOutlineVisible: boolean
                             read FMapOLVisible write SetMapOLVisible;
                property MinResDiff: double
                             read FMinResDiff write FMinResDiff;
{$IFDEF GE_LEV17}
(**)              property StyleElements;
{$ENDIF}
                property Visible;
                property OnMouseMove;
                property OnMouseDown;
                property OnMouseUp;
                property OnClick;
                property OnDblClick;
                property OnZoomButClick: TNotifyEvent
                             read FOnZoomButClick write FOnZoomButClick;
                property OnPointerButClick: TNotifyEvent
                             read FOnPoiButClick write FOnPoiButClick;
                property OnCBoxMapsChange: TNotifyEvent
                             read FOnCBxMapsChg write FOnCBxMapsChg;
              end;




Last Update: 2023-Feb-06