Browse Source
Merge pull request #15 from AvaloniaUI/feature/position-changed
implement window position changed.
pull/1977/head
danwalmsley
8 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with
12 additions and
0 deletions
-
src/Avalonia.Native.OSX/window.mm
-
src/Avalonia.Native/WindowImplBase.cs
-
src/headers/avalonia-native.h
|
|
|
@ -535,6 +535,12 @@ NSArray* AllLoopModes = [NSArray arrayWithObjects: NSDefaultRunLoopMode, NSEvent |
|
|
|
[super resignKeyWindow]; |
|
|
|
} |
|
|
|
|
|
|
|
- (void)windowDidMove:(NSNotification *)notification |
|
|
|
{ |
|
|
|
AvnPoint position; |
|
|
|
_parent->GetPosition(&position); |
|
|
|
_parent->BaseEvents->PositionChanged(position); |
|
|
|
} |
|
|
|
@end |
|
|
|
|
|
|
|
class PopupImpl : public WindowBaseImpl, public IAvnPopup |
|
|
|
|
|
|
|
@ -133,6 +133,11 @@ namespace Avalonia.Native |
|
|
|
_parent.Resized?.Invoke(s); |
|
|
|
} |
|
|
|
|
|
|
|
void IAvnWindowBaseEvents.PositionChanged(AvnPoint position) |
|
|
|
{ |
|
|
|
_parent.PositionChanged?.Invoke(position.ToAvaloniaPoint()); |
|
|
|
} |
|
|
|
|
|
|
|
void IAvnWindowBaseEvents.RawMouseEvent(AvnRawMouseEventType type, uint timeStamp, AvnInputModifiers modifiers, AvnPoint point, AvnVector delta) |
|
|
|
{ |
|
|
|
_parent.RawMouseEvent(type, timeStamp, modifiers, point, delta); |
|
|
|
|
|
|
|
@ -132,6 +132,7 @@ AVNCOM(IAvnWindowBaseEvents, 05) : IUnknown |
|
|
|
virtual void Activated() = 0; |
|
|
|
virtual void Deactivated() = 0; |
|
|
|
virtual void Resized(const AvnSize& size) = 0; |
|
|
|
virtual void PositionChanged (AvnPoint position) = 0; |
|
|
|
virtual void RawMouseEvent (AvnRawMouseEventType type, |
|
|
|
unsigned int timeStamp, |
|
|
|
AvnInputModifiers modifiers, |
|
|
|
|