|
|
@ -54,6 +54,7 @@ namespace Avalonia.Gtk3 |
|
|
ConnectEvent("key-press-event", OnKeyEvent); |
|
|
ConnectEvent("key-press-event", OnKeyEvent); |
|
|
ConnectEvent("key-release-event", OnKeyEvent); |
|
|
ConnectEvent("key-release-event", OnKeyEvent); |
|
|
ConnectEvent("leave-notify-event", OnLeaveNotifyEvent); |
|
|
ConnectEvent("leave-notify-event", OnLeaveNotifyEvent); |
|
|
|
|
|
ConnectEvent("delete-event", OnClosingEvent); |
|
|
Connect<Native.D.signal_generic>("destroy", OnDestroy); |
|
|
Connect<Native.D.signal_generic>("destroy", OnDestroy); |
|
|
Native.GtkWidgetRealize(gtkWidget); |
|
|
Native.GtkWidgetRealize(gtkWidget); |
|
|
GdkWindowHandle = this.Handle.Handle; |
|
|
GdkWindowHandle = this.Handle.Handle; |
|
|
@ -125,6 +126,12 @@ namespace Avalonia.Gtk3 |
|
|
return rv; |
|
|
return rv; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private unsafe bool OnClosingEvent(IntPtr w, IntPtr ev, IntPtr userdata) |
|
|
|
|
|
{ |
|
|
|
|
|
bool? preventClosing = Closing?.Invoke(); |
|
|
|
|
|
return preventClosing ?? false; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
private unsafe bool OnButton(IntPtr w, IntPtr ev, IntPtr userdata) |
|
|
private unsafe bool OnButton(IntPtr w, IntPtr ev, IntPtr userdata) |
|
|
{ |
|
|
{ |
|
|
var evnt = (GdkEventButton*)ev; |
|
|
var evnt = (GdkEventButton*)ev; |
|
|
@ -343,6 +350,7 @@ namespace Avalonia.Gtk3 |
|
|
string IPlatformHandle.HandleDescriptor => "HWND"; |
|
|
string IPlatformHandle.HandleDescriptor => "HWND"; |
|
|
|
|
|
|
|
|
public Action Activated { get; set; } |
|
|
public Action Activated { get; set; } |
|
|
|
|
|
public Func<bool> Closing { get; set; } |
|
|
public Action Closed { get; set; } |
|
|
public Action Closed { get; set; } |
|
|
public Action Deactivated { get; set; } |
|
|
public Action Deactivated { get; set; } |
|
|
public Action<RawInputEventArgs> Input { get; set; } |
|
|
public Action<RawInputEventArgs> Input { get; set; } |
|
|
|