LazMapViewer: Add plugin handler for OnResize
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@9587 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
parent
1ca7133883
commit
3d1e300fcd
@ -190,6 +190,7 @@ type
|
||||
FMouseMoveEvent : TMvPluginMouseMoveEvent;
|
||||
FMouseUpEvent : TMvPluginMouseEvent;
|
||||
FMouseWheelEvent : TMvPluginMouseWheelEvent;
|
||||
FResizeEvent: TMvPluginNotifyEvent;
|
||||
FZoomChangeEvent : TMvPluginNotifyEvent;
|
||||
FZoomChangingEvent : TMvPluginZoomChangingEvent;
|
||||
protected
|
||||
@ -215,6 +216,7 @@ type
|
||||
X, Y: Integer; var Handled: Boolean); override;
|
||||
procedure MouseWheel(AMapView: TMapView; AShift: TShiftState;
|
||||
AWheelDelta: Integer; AMousePos: TPoint; var Handled: Boolean); override;
|
||||
procedure Resize(AMapView: TMapView; var Handled: Boolean); override;
|
||||
procedure ZoomChange(AMapView: TMapView; var Handled: Boolean); override;
|
||||
procedure ZoomChanging(AMapView: TMapView; NewZoom: Integer; var Allow, Handled: Boolean); override;
|
||||
public
|
||||
@ -947,6 +949,12 @@ begin
|
||||
FMouseWheelEvent(Self, AMapView, AShift, AWheelDelta, AMousePos, Handled);
|
||||
end;
|
||||
|
||||
procedure TUserDefinedPlugin.Resize(AMapView: TMapView; var Handled: Boolean);
|
||||
begin
|
||||
if Assigned(FResizeEvent) then
|
||||
FResizeEvent(Self, AMapView, Handled);
|
||||
end;
|
||||
|
||||
procedure TUserDefinedPlugin.ZoomChange(AMapView: TMapView; var Handled: Boolean);
|
||||
begin
|
||||
if Assigned(FZoomChangeEvent) then
|
||||
|
||||
@ -481,6 +481,7 @@ type
|
||||
X, Y: Integer): Boolean; virtual;
|
||||
function MouseWheel(AMapView: TMapView; AShift: TShiftState; AWheelDelta: Integer;
|
||||
AMousePos: TPoint): Boolean; virtual;
|
||||
function Resize(AMapView: TMapView): Boolean; virtual;
|
||||
function ZoomChange(AMapView: TMapView): Boolean; virtual;
|
||||
function ZoomChanging(AMapView: TMapView; NewZoom: Integer; var Allow: Boolean): Boolean; virtual;
|
||||
public
|
||||
@ -748,6 +749,7 @@ type
|
||||
property OnMouseMove;
|
||||
property OnMouseUp;
|
||||
property OnMouseWheel;
|
||||
property OnResize;
|
||||
|
||||
end;
|
||||
|
||||
@ -2853,7 +2855,6 @@ end;
|
||||
|
||||
procedure TMapView.DoOnResize;
|
||||
begin
|
||||
inherited DoOnResize;
|
||||
//cancel all rendering threads
|
||||
Engine.CancelCurrentDrawing;
|
||||
DrawingEngine.CreateBuffer(ClientWidth, ClientHeight);
|
||||
@ -2862,6 +2863,9 @@ begin
|
||||
Engine.SetSize(ClientWidth, ClientHeight);
|
||||
Invalidate;
|
||||
end;
|
||||
|
||||
GetPluginManager.Resize(Self);
|
||||
inherited DoOnResize;
|
||||
end;
|
||||
|
||||
procedure TMapView.Paint;
|
||||
|
||||
@ -74,6 +74,7 @@ type
|
||||
X,Y: Integer; var Handled: Boolean); virtual;
|
||||
procedure MouseWheel(AMapView: TMapView; AShift: TShiftState;
|
||||
AWheelDelta: Integer; AMousePos: TPoint; var Handled: Boolean); virtual;
|
||||
procedure Resize(AMapView: TMapView; var Handled: Boolean); virtual;
|
||||
procedure ZoomChange(AMapView: TMapView; var Handled: Boolean); virtual;
|
||||
procedure ZoomChanging(AMapView: TMapView; NewZoom: Integer; var Allow, Handled: Boolean); virtual;
|
||||
protected
|
||||
@ -273,6 +274,7 @@ type
|
||||
X, Y: Integer): Boolean; override;
|
||||
function MouseWheel(AMapView: TMapView; AShift: TShiftState; AWheelDelta: Integer;
|
||||
AMousePos: TPoint): Boolean; override;
|
||||
function Resize(AMapView: TMapView): Boolean; override;
|
||||
function ZoomChange(AMapView: TMapView): Boolean; override;
|
||||
function ZoomChanging(AMapView: TMapView; NewZoom: Integer; var Allow: Boolean): Boolean; override;
|
||||
|
||||
@ -476,6 +478,11 @@ begin
|
||||
SetPluginManager(TMvPluginManager(Reader.Parent));
|
||||
end;
|
||||
|
||||
procedure TMvCustomPlugin.Resize(AMapView: TMapView; var Handled: Boolean);
|
||||
begin
|
||||
Unused(AMapView, Handled);
|
||||
end;
|
||||
|
||||
procedure TMvCustomPlugin.SetEnabled(AValue: Boolean);
|
||||
begin
|
||||
if AValue <> FEnabled then
|
||||
@ -1251,6 +1258,20 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
function TMvPluginManager.Resize(AMapView: TMapView): Boolean;
|
||||
var
|
||||
i: Integer;
|
||||
plugin: TMvCustomPlugin;
|
||||
begin
|
||||
Result := False;
|
||||
for i := FPluginList.Count-1 downto 0 do
|
||||
begin
|
||||
plugin := Items[i];
|
||||
if HandlePlugin(plugin, AMapView) then
|
||||
plugin.Resize(AMapView, Result);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TMvPluginManager.Notification(AComponent: TComponent; Operation: TOperation);
|
||||
begin
|
||||
inherited;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user