forked from Mirror/Ryujinx
50 lines
1.5 KiB
C#
50 lines
1.5 KiB
C#
|
using FluentAvalonia.Interop;
|
|||
|
using System;
|
|||
|
using System.Runtime.InteropServices;
|
|||
|
|
|||
|
namespace Ryujinx.Ava.Ui.Backend
|
|||
|
{
|
|||
|
public static class Interop
|
|||
|
{
|
|||
|
[StructLayout(LayoutKind.Sequential)]
|
|||
|
public struct XWindowAttributes
|
|||
|
{
|
|||
|
public int x;
|
|||
|
public int y;
|
|||
|
public int width;
|
|||
|
public int height;
|
|||
|
public int border_width;
|
|||
|
public int depth;
|
|||
|
public IntPtr visual;
|
|||
|
public IntPtr root;
|
|||
|
public int c_class;
|
|||
|
public int bit_gravity;
|
|||
|
public int win_gravity;
|
|||
|
public int backing_store;
|
|||
|
public IntPtr backing_planes;
|
|||
|
public IntPtr backing_pixel;
|
|||
|
public int save_under;
|
|||
|
public IntPtr colormap;
|
|||
|
public int map_installed;
|
|||
|
public int map_state;
|
|||
|
public IntPtr all_event_masks;
|
|||
|
public IntPtr your_event_mask;
|
|||
|
public IntPtr do_not_propagate_mask;
|
|||
|
public int override_direct;
|
|||
|
public IntPtr screen;
|
|||
|
}
|
|||
|
|
|||
|
[DllImport("user32.dll")]
|
|||
|
public static extern bool GetClientRect(IntPtr hwnd, out RECT lpRect);
|
|||
|
|
|||
|
[DllImport("libX11.so.6")]
|
|||
|
public static extern int XCloseDisplay(IntPtr display);
|
|||
|
|
|||
|
[DllImport("libX11.so.6")]
|
|||
|
public static extern int XGetWindowAttributes(IntPtr display, IntPtr window, ref XWindowAttributes attributes);
|
|||
|
|
|||
|
[DllImport("libX11.so.6")]
|
|||
|
public static extern IntPtr XOpenDisplay(IntPtr display);
|
|||
|
}
|
|||
|
}
|