diff --git a/src/SDL2.cs b/src/SDL2.cs index d81a4bd..b165b04 100644 --- a/src/SDL2.cs +++ b/src/SDL2.cs @@ -733,6 +733,32 @@ namespace SDL2 public const string SDL_HINT_RENDER_LINE_METHOD = "SDL_RENDER_LINE_METHOD"; + /* Only available in 2.0.22 or higher. */ + public const string SDL_HINT_FORCE_RAISEWINDOW = + "SDL_HINT_FORCE_RAISEWINDOW"; + public const string SDL_HINT_IME_SUPPORT_EXTENDED_TEXT = + "SDL_IME_SUPPORT_EXTENDED_TEXT"; + public const string SDL_HINT_JOYSTICK_GAMECUBE_RUMBLE_BRAKE = + "SDL_JOYSTICK_GAMECUBE_RUMBLE_BRAKE"; + public const string SDL_HINT_JOYSTICK_ROG_CHAKRAM = + "SDL_JOYSTICK_ROG_CHAKRAM"; + public const string SDL_HINT_MOUSE_RELATIVE_MODE_CENTER = + "SDL_MOUSE_RELATIVE_MODE_CENTER"; + public const string SDL_HINT_MOUSE_AUTO_CAPTURE = + "SDL_MOUSE_AUTO_CAPTURE"; + public const string SDL_HINT_VITA_TOUCH_MOUSE_DEVICE = + "SDL_HINT_VITA_TOUCH_MOUSE_DEVICE"; + public const string SDL_HINT_VIDEO_WAYLAND_PREFER_LIBDECOR = + "SDL_VIDEO_WAYLAND_PREFER_LIBDECOR"; + public const string SDL_HINT_VIDEO_FOREIGN_WINDOW_OPENGL = + "SDL_VIDEO_FOREIGN_WINDOW_OPENGL"; + public const string SDL_HINT_VIDEO_FOREIGN_WINDOW_VULKAN = + "SDL_VIDEO_FOREIGN_WINDOW_VULKAN"; + public const string SDL_HINT_X11_WINDOW_TYPE = + "SDL_X11_WINDOW_TYPE"; + public const string SDL_HINT_QUIT_ON_LAST_WINDOW_CLOSE = + "SDL_QUIT_ON_LAST_WINDOW_CLOSE"; + public enum SDL_HintPriority { SDL_HINT_DEFAULT, @@ -1306,7 +1332,7 @@ namespace SDL2 */ public const int SDL_MAJOR_VERSION = 2; public const int SDL_MINOR_VERSION = 0; - public const int SDL_PATCHLEVEL = 18; + public const int SDL_PATCHLEVEL = 22; public static readonly int SDL_COMPILEDVERSION = SDL_VERSIONNUM( SDL_MAJOR_VERSION, @@ -4746,6 +4772,7 @@ namespace SDL2 SDL_TEXTEDITING, SDL_TEXTINPUT, SDL_KEYMAPCHANGED, + SDL_TEXTEDITING_EXT, /* Mouse events */ SDL_MOUSEMOTION = 0x400, @@ -4900,6 +4927,17 @@ namespace SDL2 public Int32 length; } + [StructLayout(LayoutKind.Sequential)] + public unsafe struct SDL_TextEditingExtEvent + { + public SDL_EventType type; + public UInt32 timestamp; + public UInt32 windowID; + public IntPtr text; /* char*, free with SDL_free */ + public Int32 start; + public Int32 length; + } + [StructLayout(LayoutKind.Sequential)] public unsafe struct SDL_TextInputEvent { @@ -5244,6 +5282,8 @@ namespace SDL2 [FieldOffset(0)] public SDL_TextEditingEvent edit; [FieldOffset(0)] + public SDL_TextEditingExtEvent editExt; + [FieldOffset(0)] public SDL_TextInputEvent text; [FieldOffset(0)] public SDL_MouseMotionEvent motion; @@ -6119,6 +6159,12 @@ namespace SDL2 [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] public static extern void SDL_StopTextInput(); + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] + public static extern void SDL_ClearComposition(); + + [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] + public static extern SDL_bool SDL_IsTextInputShown(); + /* Set the rectangle used for text input, hint for IME */ [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] public static extern void SDL_SetTextInputRect(ref SDL_Rect rect); @@ -8502,6 +8548,8 @@ namespace SDL2 public IntPtr egl_window; // Refers to an egl_window*, requires >= 2.0.16 public IntPtr xdg_surface; // Refers to an xdg_surface*, requires >= 2.0.16 public IntPtr xdg_toplevel; // Referes to an xdg_toplevel*, requires >= 2.0.18 + public IntPtr xdg_popup; + public IntPtr xdg_positioner; } [StructLayout(LayoutKind.Sequential)]