|
|
|
@ -14,12 +14,10 @@ namespace Perspex.Gtk |
|
|
|
{ |
|
|
|
using Gtk = global::Gtk; |
|
|
|
|
|
|
|
public class WindowImpl : Gtk.Window, IWindowImpl |
|
|
|
public class WindowImpl : Gtk.Window, IWindowImpl, IPlatformHandle |
|
|
|
{ |
|
|
|
private IInputRoot _inputRoot; |
|
|
|
|
|
|
|
private IPlatformHandle _windowHandle; |
|
|
|
|
|
|
|
|
|
|
|
private Size _clientSize; |
|
|
|
|
|
|
|
private Gtk.IMContext _imContext; |
|
|
|
@ -46,7 +44,6 @@ namespace Perspex.Gtk |
|
|
|
Events = EventMask.PointerMotionMask | |
|
|
|
EventMask.ButtonPressMask | |
|
|
|
EventMask.ButtonReleaseMask; |
|
|
|
_windowHandle = new PlatformHandle(Handle, "GtkWindow"); |
|
|
|
_imContext = new Gtk.IMMulticontext(); |
|
|
|
_imContext.Commit += ImContext_Commit; |
|
|
|
} |
|
|
|
@ -73,7 +70,8 @@ namespace Perspex.Gtk |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
IPlatformHandle ITopLevelImpl.Handle => _windowHandle; |
|
|
|
IPlatformHandle ITopLevelImpl.Handle => this; |
|
|
|
public string HandleDescriptor => "GtkWindow"; |
|
|
|
|
|
|
|
public Action Activated { get; set; } |
|
|
|
|
|
|
|
@ -94,7 +92,9 @@ namespace Perspex.Gtk |
|
|
|
|
|
|
|
public void Invalidate(Rect rect) |
|
|
|
{ |
|
|
|
base.GdkWindow.InvalidateRect (new Rectangle ((int)rect.X, (int)rect.Y, (int)rect.Width, (int)rect.Height), true); |
|
|
|
if (base.GdkWindow != null) |
|
|
|
base.GdkWindow.InvalidateRect( |
|
|
|
new Rectangle((int) rect.X, (int) rect.Y, (int) rect.Width, (int) rect.Height), true); |
|
|
|
} |
|
|
|
|
|
|
|
public Point PointToScreen(Point point) |
|
|
|
|