mirror of
https://github.com/Ryujinx/SDL2-CS.git
synced 2025-01-03 21:05:34 +00:00
Don't free strings returned from SDL
Accept nulls for marshaling
This commit is contained in:
parent
00f353693e
commit
19d4602321
|
@ -32,15 +32,34 @@ namespace SDL2
|
||||||
{
|
{
|
||||||
internal unsafe class LPUtf8StrMarshaler : ICustomMarshaler
|
internal unsafe class LPUtf8StrMarshaler : ICustomMarshaler
|
||||||
{
|
{
|
||||||
private static LPUtf8StrMarshaler _instance = new LPUtf8StrMarshaler();
|
public const string LeaveAllocated = "LeaveAllocated";
|
||||||
|
|
||||||
|
private static ICustomMarshaler
|
||||||
|
_leaveAllocatedInstance = new LPUtf8StrMarshaler(true),
|
||||||
|
_defaultInstance = new LPUtf8StrMarshaler(false);
|
||||||
|
|
||||||
private static ICustomMarshaler GetInstance(string cookie)
|
private static ICustomMarshaler GetInstance(string cookie)
|
||||||
{
|
{
|
||||||
return _instance;
|
switch (cookie)
|
||||||
|
{
|
||||||
|
case "LeaveAllocated":
|
||||||
|
return _leaveAllocatedInstance;
|
||||||
|
default:
|
||||||
|
return _defaultInstance;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private bool _leaveAllocated;
|
||||||
|
|
||||||
|
public LPUtf8StrMarshaler(bool leaveAllocated)
|
||||||
|
{
|
||||||
|
_leaveAllocated = leaveAllocated;
|
||||||
}
|
}
|
||||||
|
|
||||||
public object MarshalNativeToManaged(IntPtr pNativeData)
|
public object MarshalNativeToManaged(IntPtr pNativeData)
|
||||||
{
|
{
|
||||||
|
if (pNativeData == IntPtr.Zero)
|
||||||
|
return null;
|
||||||
var ptr = (byte*)pNativeData;
|
var ptr = (byte*)pNativeData;
|
||||||
while (*ptr != 0)
|
while (*ptr != 0)
|
||||||
{
|
{
|
||||||
|
@ -53,6 +72,8 @@ namespace SDL2
|
||||||
|
|
||||||
public IntPtr MarshalManagedToNative(object ManagedObj)
|
public IntPtr MarshalManagedToNative(object ManagedObj)
|
||||||
{
|
{
|
||||||
|
if (ManagedObj == null)
|
||||||
|
return IntPtr.Zero;
|
||||||
var str = ManagedObj as string;
|
var str = ManagedObj as string;
|
||||||
if (str == null)
|
if (str == null)
|
||||||
{
|
{
|
||||||
|
@ -65,16 +86,19 @@ namespace SDL2
|
||||||
return mem;
|
return mem;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void CleanUpNativeData(IntPtr pNativeData)
|
|
||||||
{
|
|
||||||
Marshal.FreeHGlobal(pNativeData);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void CleanUpManagedData(object ManagedObj)
|
public void CleanUpManagedData(object ManagedObj)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public int GetNativeDataSize()
|
public void CleanUpNativeData(IntPtr pNativeData)
|
||||||
|
{
|
||||||
|
if (!_leaveAllocated)
|
||||||
|
{
|
||||||
|
Marshal.FreeHGlobal(pNativeData);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public int GetNativeDataSize ()
|
||||||
{
|
{
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
44
src/SDL2.cs
44
src/SDL2.cs
|
@ -159,7 +159,7 @@ namespace SDL2
|
||||||
public static extern void SDL_ClearHints();
|
public static extern void SDL_ClearHints();
|
||||||
|
|
||||||
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
|
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
|
||||||
[return : MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(LPUtf8StrMarshaler))]
|
[return : MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(LPUtf8StrMarshaler), MarshalCookie = LPUtf8StrMarshaler.LeaveAllocated)]
|
||||||
public static extern string SDL_GetHint(
|
public static extern string SDL_GetHint(
|
||||||
[In()] [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(LPUtf8StrMarshaler))]
|
[In()] [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(LPUtf8StrMarshaler))]
|
||||||
string name
|
string name
|
||||||
|
@ -190,7 +190,7 @@ namespace SDL2
|
||||||
public static extern void SDL_ClearError();
|
public static extern void SDL_ClearError();
|
||||||
|
|
||||||
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
|
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
|
||||||
[return : MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(LPUtf8StrMarshaler))]
|
[return : MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(LPUtf8StrMarshaler), MarshalCookie = LPUtf8StrMarshaler.LeaveAllocated)]
|
||||||
public static extern string SDL_GetError();
|
public static extern string SDL_GetError();
|
||||||
|
|
||||||
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
|
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
|
||||||
|
@ -410,7 +410,7 @@ namespace SDL2
|
||||||
private static extern void SDL_GetVersion(ref SDL_version ver);
|
private static extern void SDL_GetVersion(ref SDL_version ver);
|
||||||
|
|
||||||
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
|
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
|
||||||
[return : MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(LPUtf8StrMarshaler))]
|
[return : MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(LPUtf8StrMarshaler), MarshalCookie = LPUtf8StrMarshaler.LeaveAllocated)]
|
||||||
public static extern string SDL_GetRevision();
|
public static extern string SDL_GetRevision();
|
||||||
|
|
||||||
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
|
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
|
||||||
|
@ -581,7 +581,7 @@ namespace SDL2
|
||||||
);
|
);
|
||||||
|
|
||||||
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
|
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
|
||||||
[return : MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(LPUtf8StrMarshaler))]
|
[return : MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(LPUtf8StrMarshaler), MarshalCookie = LPUtf8StrMarshaler.LeaveAllocated)]
|
||||||
public static extern string SDL_GetCurrentVideoDriver();
|
public static extern string SDL_GetCurrentVideoDriver();
|
||||||
|
|
||||||
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
|
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
|
||||||
|
@ -615,7 +615,7 @@ namespace SDL2
|
||||||
public static extern int SDL_GetNumVideoDrivers();
|
public static extern int SDL_GetNumVideoDrivers();
|
||||||
|
|
||||||
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
|
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
|
||||||
[return : MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(LPUtf8StrMarshaler))]
|
[return : MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(LPUtf8StrMarshaler), MarshalCookie = LPUtf8StrMarshaler.LeaveAllocated)]
|
||||||
public static extern string SDL_GetVideoDriver(
|
public static extern string SDL_GetVideoDriver(
|
||||||
int index
|
int index
|
||||||
);
|
);
|
||||||
|
@ -700,7 +700,7 @@ namespace SDL2
|
||||||
|
|
||||||
/* window refers to an SDL_Window* */
|
/* window refers to an SDL_Window* */
|
||||||
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
|
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
|
||||||
[return : MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(LPUtf8StrMarshaler))]
|
[return : MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(LPUtf8StrMarshaler), MarshalCookie = LPUtf8StrMarshaler.LeaveAllocated)]
|
||||||
public static extern string SDL_GetWindowTitle(
|
public static extern string SDL_GetWindowTitle(
|
||||||
IntPtr window
|
IntPtr window
|
||||||
);
|
);
|
||||||
|
@ -1698,7 +1698,7 @@ namespace SDL2
|
||||||
public static extern void SDL_FreePalette(IntPtr palette);
|
public static extern void SDL_FreePalette(IntPtr palette);
|
||||||
|
|
||||||
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
|
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
|
||||||
[return : MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(LPUtf8StrMarshaler))]
|
[return : MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(LPUtf8StrMarshaler), MarshalCookie = LPUtf8StrMarshaler.LeaveAllocated)]
|
||||||
public static extern string SDL_GetPixelFormatName(
|
public static extern string SDL_GetPixelFormatName(
|
||||||
uint format
|
uint format
|
||||||
);
|
);
|
||||||
|
@ -2149,7 +2149,7 @@ namespace SDL2
|
||||||
public static extern SDL_bool SDL_HasClipboardText();
|
public static extern SDL_bool SDL_HasClipboardText();
|
||||||
|
|
||||||
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
|
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
|
||||||
[return : MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(LPUtf8StrMarshaler))]
|
[return : MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(LPUtf8StrMarshaler), MarshalCookie = LPUtf8StrMarshaler.LeaveAllocated)]
|
||||||
public static extern string SDL_GetClipboardText();
|
public static extern string SDL_GetClipboardText();
|
||||||
|
|
||||||
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
|
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
|
||||||
|
@ -3320,7 +3320,7 @@ namespace SDL2
|
||||||
|
|
||||||
/* Wrapper for SDL_GetScancodeName */
|
/* Wrapper for SDL_GetScancodeName */
|
||||||
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
|
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
|
||||||
[return : MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(LPUtf8StrMarshaler))]
|
[return : MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(LPUtf8StrMarshaler), MarshalCookie = LPUtf8StrMarshaler.LeaveAllocated)]
|
||||||
public static extern string SDL_GetScancodeName(SDL_Scancode scancode);
|
public static extern string SDL_GetScancodeName(SDL_Scancode scancode);
|
||||||
|
|
||||||
/* Get a scancode from a human-readable name */
|
/* Get a scancode from a human-readable name */
|
||||||
|
@ -3331,7 +3331,7 @@ namespace SDL2
|
||||||
|
|
||||||
/* Wrapper for SDL_GetKeyName */
|
/* Wrapper for SDL_GetKeyName */
|
||||||
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
|
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
|
||||||
[return : MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(LPUtf8StrMarshaler))]
|
[return : MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(LPUtf8StrMarshaler), MarshalCookie = LPUtf8StrMarshaler.LeaveAllocated)]
|
||||||
public static extern string SDL_GetKeyName(SDL_Keycode key);
|
public static extern string SDL_GetKeyName(SDL_Keycode key);
|
||||||
|
|
||||||
/* Get a key code from a human-readable name */
|
/* Get a key code from a human-readable name */
|
||||||
|
@ -3544,13 +3544,13 @@ namespace SDL2
|
||||||
|
|
||||||
/* joystick refers to an SDL_Joystick* */
|
/* joystick refers to an SDL_Joystick* */
|
||||||
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
|
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
|
||||||
[return : MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(LPUtf8StrMarshaler))]
|
[return : MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(LPUtf8StrMarshaler), MarshalCookie = LPUtf8StrMarshaler.LeaveAllocated)]
|
||||||
public static extern string SDL_JoystickName(
|
public static extern string SDL_JoystickName(
|
||||||
IntPtr joystick
|
IntPtr joystick
|
||||||
);
|
);
|
||||||
|
|
||||||
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
|
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
|
||||||
[return : MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(LPUtf8StrMarshaler))]
|
[return : MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(LPUtf8StrMarshaler), MarshalCookie = LPUtf8StrMarshaler.LeaveAllocated)]
|
||||||
public static extern string SDL_JoystickNameForIndex(
|
public static extern string SDL_JoystickNameForIndex(
|
||||||
int device_index
|
int device_index
|
||||||
);
|
);
|
||||||
|
@ -3695,13 +3695,13 @@ namespace SDL2
|
||||||
);
|
);
|
||||||
|
|
||||||
[DllImport(nativeLibName, EntryPoint = "SDL_GameControllerMappingForGUID", CallingConvention = CallingConvention.Cdecl)]
|
[DllImport(nativeLibName, EntryPoint = "SDL_GameControllerMappingForGUID", CallingConvention = CallingConvention.Cdecl)]
|
||||||
[return : MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(LPUtf8StrMarshaler))]
|
[return : MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(LPUtf8StrMarshaler), MarshalCookie = LPUtf8StrMarshaler.LeaveAllocated)]
|
||||||
public static extern string SDL_GameControllerMappingForGUID(
|
public static extern string SDL_GameControllerMappingForGUID(
|
||||||
SDL_JoystickGUID guid
|
SDL_JoystickGUID guid
|
||||||
);
|
);
|
||||||
/* gamecontroller refers to an SDL_GameController* */
|
/* gamecontroller refers to an SDL_GameController* */
|
||||||
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
|
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
|
||||||
[return : MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(LPUtf8StrMarshaler))]
|
[return : MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(LPUtf8StrMarshaler), MarshalCookie = LPUtf8StrMarshaler.LeaveAllocated)]
|
||||||
public static extern string SDL_GameControllerMapping(
|
public static extern string SDL_GameControllerMapping(
|
||||||
IntPtr gamecontroller
|
IntPtr gamecontroller
|
||||||
);
|
);
|
||||||
|
@ -3710,7 +3710,7 @@ namespace SDL2
|
||||||
public static extern SDL_bool SDL_IsGameController(int joystick_index);
|
public static extern SDL_bool SDL_IsGameController(int joystick_index);
|
||||||
|
|
||||||
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
|
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
|
||||||
[return : MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(LPUtf8StrMarshaler))]
|
[return : MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(LPUtf8StrMarshaler), MarshalCookie = LPUtf8StrMarshaler.LeaveAllocated)]
|
||||||
public static extern string SDL_GameControllerNameForIndex(
|
public static extern string SDL_GameControllerNameForIndex(
|
||||||
int joystick_index
|
int joystick_index
|
||||||
);
|
);
|
||||||
|
@ -3721,7 +3721,7 @@ namespace SDL2
|
||||||
|
|
||||||
/* gamecontroller refers to an SDL_GameController* */
|
/* gamecontroller refers to an SDL_GameController* */
|
||||||
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
|
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
|
||||||
[return : MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(LPUtf8StrMarshaler))]
|
[return : MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(LPUtf8StrMarshaler), MarshalCookie = LPUtf8StrMarshaler.LeaveAllocated)]
|
||||||
public static extern string SDL_GameControllerName(
|
public static extern string SDL_GameControllerName(
|
||||||
IntPtr gamecontroller
|
IntPtr gamecontroller
|
||||||
);
|
);
|
||||||
|
@ -3753,7 +3753,7 @@ namespace SDL2
|
||||||
);
|
);
|
||||||
|
|
||||||
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
|
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
|
||||||
[return : MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(LPUtf8StrMarshaler))]
|
[return : MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(LPUtf8StrMarshaler), MarshalCookie = LPUtf8StrMarshaler.LeaveAllocated)]
|
||||||
public static extern string SDL_GameControllerGetStringForAxis(
|
public static extern string SDL_GameControllerGetStringForAxis(
|
||||||
SDL_GameControllerAxis axis
|
SDL_GameControllerAxis axis
|
||||||
);
|
);
|
||||||
|
@ -3779,7 +3779,7 @@ namespace SDL2
|
||||||
);
|
);
|
||||||
|
|
||||||
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
|
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
|
||||||
[return : MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(LPUtf8StrMarshaler))]
|
[return : MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(LPUtf8StrMarshaler), MarshalCookie = LPUtf8StrMarshaler.LeaveAllocated)]
|
||||||
public static extern string SDL_GameControllerGetStringForButton(
|
public static extern string SDL_GameControllerGetStringForButton(
|
||||||
SDL_GameControllerButton button
|
SDL_GameControllerButton button
|
||||||
);
|
);
|
||||||
|
@ -4000,7 +4000,7 @@ namespace SDL2
|
||||||
|
|
||||||
/* haptic refers to an SDL_Haptic* */
|
/* haptic refers to an SDL_Haptic* */
|
||||||
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
|
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
|
||||||
[return : MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(LPUtf8StrMarshaler))]
|
[return : MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(LPUtf8StrMarshaler), MarshalCookie = LPUtf8StrMarshaler.LeaveAllocated)]
|
||||||
public static extern string SDL_HapticName(int device_index);
|
public static extern string SDL_HapticName(int device_index);
|
||||||
|
|
||||||
/* haptic refers to an SDL_Haptic* */
|
/* haptic refers to an SDL_Haptic* */
|
||||||
|
@ -4254,7 +4254,7 @@ namespace SDL2
|
||||||
public static extern void SDL_FreeWAV(IntPtr audio_buf);
|
public static extern void SDL_FreeWAV(IntPtr audio_buf);
|
||||||
|
|
||||||
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
|
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
|
||||||
[return : MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(LPUtf8StrMarshaler))]
|
[return : MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(LPUtf8StrMarshaler), MarshalCookie = LPUtf8StrMarshaler.LeaveAllocated)]
|
||||||
public static extern string SDL_GetAudioDeviceName(
|
public static extern string SDL_GetAudioDeviceName(
|
||||||
int index,
|
int index,
|
||||||
int iscapture
|
int iscapture
|
||||||
|
@ -4267,14 +4267,14 @@ namespace SDL2
|
||||||
);
|
);
|
||||||
|
|
||||||
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
|
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
|
||||||
[return : MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(LPUtf8StrMarshaler))]
|
[return : MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(LPUtf8StrMarshaler), MarshalCookie = LPUtf8StrMarshaler.LeaveAllocated)]
|
||||||
public static extern string SDL_GetAudioDriver(int index);
|
public static extern string SDL_GetAudioDriver(int index);
|
||||||
|
|
||||||
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
|
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
|
||||||
public static extern SDL_AudioStatus SDL_GetAudioStatus();
|
public static extern SDL_AudioStatus SDL_GetAudioStatus();
|
||||||
|
|
||||||
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
|
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
|
||||||
[return : MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(LPUtf8StrMarshaler))]
|
[return : MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(LPUtf8StrMarshaler), MarshalCookie = LPUtf8StrMarshaler.LeaveAllocated)]
|
||||||
public static extern string SDL_GetCurrentAudioDriver();
|
public static extern string SDL_GetCurrentAudioDriver();
|
||||||
|
|
||||||
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
|
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
|
||||||
|
|
|
@ -223,14 +223,14 @@ namespace SDL2
|
||||||
public static extern int Mix_GetNumChunkDecoders();
|
public static extern int Mix_GetNumChunkDecoders();
|
||||||
|
|
||||||
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
|
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
|
||||||
[return : MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(LPUtf8StrMarshaler))]
|
[return : MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(LPUtf8StrMarshaler), MarshalCookie = LPUtf8StrMarshaler.LeaveAllocated)]
|
||||||
public static extern string Mix_GetChunkDecoder(int index);
|
public static extern string Mix_GetChunkDecoder(int index);
|
||||||
|
|
||||||
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
|
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
|
||||||
public static extern int Mix_GetNumMusicDecoders();
|
public static extern int Mix_GetNumMusicDecoders();
|
||||||
|
|
||||||
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
|
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
|
||||||
[return : MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(LPUtf8StrMarshaler))]
|
[return : MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(LPUtf8StrMarshaler), MarshalCookie = LPUtf8StrMarshaler.LeaveAllocated)]
|
||||||
public static extern string Mix_GetMusicDecoder(int index);
|
public static extern string Mix_GetMusicDecoder(int index);
|
||||||
|
|
||||||
/* music refers to a Mix_Music* */
|
/* music refers to a Mix_Music* */
|
||||||
|
@ -469,7 +469,7 @@ namespace SDL2
|
||||||
);
|
);
|
||||||
|
|
||||||
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
|
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
|
||||||
[return : MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(LPUtf8StrMarshaler))]
|
[return : MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(LPUtf8StrMarshaler), MarshalCookie = LPUtf8StrMarshaler.LeaveAllocated)]
|
||||||
public static extern string Mix_GetSoundFonts();
|
public static extern string Mix_GetSoundFonts();
|
||||||
|
|
||||||
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
|
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
|
||||||
|
|
|
@ -167,14 +167,14 @@ namespace SDL2
|
||||||
|
|
||||||
/* font refers to a TTF_Font* */
|
/* font refers to a TTF_Font* */
|
||||||
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
|
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
|
||||||
[return : MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(LPUtf8StrMarshaler))]
|
[return : MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(LPUtf8StrMarshaler), MarshalCookie = LPUtf8StrMarshaler.LeaveAllocated)]
|
||||||
public static extern string TTF_FontFaceFamilyName(
|
public static extern string TTF_FontFaceFamilyName(
|
||||||
IntPtr font
|
IntPtr font
|
||||||
);
|
);
|
||||||
|
|
||||||
/* font refers to a TTF_Font* */
|
/* font refers to a TTF_Font* */
|
||||||
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
|
[DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
|
||||||
[return : MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(LPUtf8StrMarshaler))]
|
[return : MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(LPUtf8StrMarshaler), MarshalCookie = LPUtf8StrMarshaler.LeaveAllocated)]
|
||||||
public static extern string TTF_FontFaceStyleName(
|
public static extern string TTF_FontFaceStyleName(
|
||||||
IntPtr font
|
IntPtr font
|
||||||
);
|
);
|
||||||
|
|
Loading…
Reference in a new issue