Android: improved data unpacking
[d2df-sdl.git] / src / lib / sdl2 / sdlsystem.inc
blob69bfc0821b16df131d34bf00d6b068c48c8dc8b8
1 // from "SDL_system.h"
3 (* Platform specific functions for Windows *)
4 {$IF DEFINED(WIN32) OR DEFINED(WIN64)}
6   {* Returns the D3D9 adapter index that matches the specified display index.
7    * This adapter index can be passed to IDirect3D9::CreateDevice and controls
8    * on which monitor a full screen application will appear.
9    *}
10 Function SDL_Direct3D9GetAdapterIndex(displayIndex:SInt32):SInt32;
11    cdecl; external SDL_LibName;
13   {* Returns the D3D device associated with a renderer, or NULL if it's not a D3D renderer.
14    * Once you are done using the device, you should release it to avoid a resource leak.
15    *}
16 Type PIDirect3DDevice9 = Pointer;
17 Function SDL_RenderGetD3D9Device(renderer:PSDL_Renderer):PIDirect3DDevice9;
18    cdecl; external SDL_LibName;
20 {* Returns the DXGI Adapter and Output indices for the specified display index.
21  * These can be passed to EnumAdapters and EnumOutputs respectively to get the objects
22  *  required to create a DX10 or DX11 device and swap chain.
23  *}
24 Procedure SDL_DXGIGetOutputInfo(displayIndex :SInt32; adapterIndex, outputIndex :PSInt32);
25    cdecl; external SDL_LibName;
27 {$IFEND}
30 (* Platform specific functions for WinRT *)
31 {$IFDEF __WINRT__}
33   {**
34    *  \brief WinRT / Windows Phone path types
35    *}
36 Type
37   TSDL_WinRT_Path = (
39     {** \brief The installed app's root directory.
40         Files here are likely to be read-only. *}
41     SDL_WINRT_PATH_INSTALLED_LOCATION = 0,
43     {** \brief The app's local data store.  Files may be written here *}
44     SDL_WINRT_PATH_LOCAL_FOLDER = 1,
46     {** \brief The app's roaming data store.  Unsupported on Windows Phone.
47         Files written here may be copied to other machines via a network
48         connection.
49     *}
50     SDL_WINRT_PATH_ROAMING_FOLDER = 2,
52     {** \brief The app's temporary data store.  Unsupported on Windows Phone.
53         Files written here may be deleted at any time. *}
54     SDL_WINRT_PATH_TEMP_FOLDER = 3
56   );
59   {**
60    *  \brief Retrieves a WinRT defined path on the local file system
61    *
62    *  \note Documentation on most app-specific path types on WinRT
63    *      can be found on MSDN, at the URL:
64    *      http://msdn.microsoft.com/en-us/library/windows/apps/hh464917.aspx
65    *
66    *  \param pathType The type of path to retrieve.
67    *  \ret A UCS-2 string (16-bit, wide-char) containing the path, or NULL
68    *      if the path is not available for any reason.  Not all paths are
69    *      available on all versions of Windows.  This is especially true on
70    *      Windows Phone.  Check the documentation for the given
71    *      SDL_WinRT_Path for more information on which path types are
72    *      supported where.
73    *}
74 Function SDL_WinRTGetFSPathUNICODE(pathType :TSDL_WinRT_Path):PWideChar;
75    cdecl; external SDL_LibName;
78   {**
79    *  \brief Retrieves a WinRT defined path on the local file system
80    *
81    *  \note Documentation on most app-specific path types on WinRT
82    *      can be found on MSDN, at the URL:
83    *      http://msdn.microsoft.com/en-us/library/windows/apps/hh464917.aspx
84    *
85    *  \param pathType The type of path to retrieve.
86    *  \ret A UTF-8 string (8-bit, multi-byte) containing the path, or NULL
87    *      if the path is not available for any reason.  Not all paths are
88    *      available on all versions of Windows.  This is especially true on
89    *      Windows Phone.  Check the documentation for the given
90    *      SDL_WinRT_Path for more information on which path types are
91    *      supported where.
92    *}
93 Function SDL_WinRTGetFSPathUTF8(pathType :TSDL_WinRT_Path):PChar;
94    cdecl; external SDL_LibName;
96 {$ENDIF}
98 {$IF DEFINED(ANDROID)}
100 Function SDL_AndroidGetExternalStorageState:SInt32;
101    cdecl; external SDL_LibName;
103 Function SDL_AndroidGetExternalStoragePath:PChar;
104    cdecl; external SDL_LibName;
106 Function SDL_AndroidGetInternalStoragePath:PChar;
107    cdecl; external SDL_LibName;
109 {$ENDIF}