mirror of
https://github.com/libsdl-org/SDL.git
synced 2026-04-21 15:55:34 +02:00
Use SDL_bool instead an int return code in the SDL API
Most SDL functions used to indicate success or failure using an int return code. These functions have been changed to return SDL_bool. Here is a coccinelle patch to change code that previously compared the return value to 0 and changes it to a boolean test: @ bool_return_type @ identifier func =~ "^(SDL_AddEventWatch|SDL_AddHintCallback|SDL_AddSurfaceAlternateImage|SDL_AddVulkanRenderSemaphores|SDL_BindAudioStream|SDL_BindAudioStreams|SDL_BlitSurface|SDL_BlitSurface9Grid|SDL_BlitSurfaceScaled|SDL_BlitSurfaceTiled|SDL_BlitSurfaceTiledWithScale|SDL_BlitSurfaceUnchecked|SDL_BlitSurfaceUncheckedScaled|SDL_CaptureMouse|SDL_ClearAudioStream|SDL_ClearClipboardData|SDL_ClearComposition|SDL_ClearError|SDL_ClearProperty|SDL_ClearSurface|SDL_CloseIO|SDL_CloseStorage|SDL_ConvertAudioSamples|SDL_ConvertEventToRenderCoordinates|SDL_ConvertPixels|SDL_ConvertPixelsAndColorspace|SDL_CopyFile|SDL_CopyProperties|SDL_CopyStorageFile|SDL_CreateDirectory|SDL_CreateStorageDirectory|SDL_CreateWindowAndRenderer|SDL_DateTimeToTime|SDL_DestroyWindowSurface|SDL_DetachVirtualJoystick|SDL_DisableScreenSaver|SDL_EnableScreenSaver|SDL_EnumerateDirectory|SDL_EnumerateProperties|SDL_EnumerateStorageDirectory|SDL_FillSurfaceRect|SDL_FillSurfaceRects|SDL_FlashWindow|SDL_FlipSurface|SDL_FlushAudioStream|SDL_FlushRenderer|SDL_GL_DestroyContext|SDL_GL_GetAttribute|SDL_GL_GetSwapInterval|SDL_GL_LoadLibrary|SDL_GL_MakeCurrent|SDL_GL_SetAttribute|SDL_GL_SetSwapInterval|SDL_GL_SwapWindow|SDL_GetAudioDeviceFormat|SDL_GetAudioStreamFormat|SDL_GetCameraFormat|SDL_GetClosestFullscreenDisplayMode|SDL_GetCurrentRenderOutputSize|SDL_GetCurrentTime|SDL_GetDXGIOutputInfo|SDL_GetDateTimeLocalePreferences|SDL_GetDisplayBounds|SDL_GetDisplayUsableBounds|SDL_GetGDKDefaultUser|SDL_GetGDKTaskQueue|SDL_GetGamepadSensorData|SDL_GetGamepadTouchpadFinger|SDL_GetHapticEffectStatus|SDL_GetJoystickBall|SDL_GetMasksForPixelFormat|SDL_GetPathInfo|SDL_GetRectUnion|SDL_GetRectUnionFloat|SDL_GetRenderClipRect|SDL_GetRenderColorScale|SDL_GetRenderDrawBlendMode|SDL_GetRenderDrawColor|SDL_GetRenderDrawColorFloat|SDL_GetRenderLogicalPresentation|SDL_GetRenderLogicalPresentationRect|SDL_GetRenderOutputSize|SDL_GetRenderSafeArea|SDL_GetRenderScale|SDL_GetRenderVSync|SDL_GetRenderViewport|SDL_GetSensorData|SDL_GetStorageFileSize|SDL_GetStoragePathInfo|SDL_GetSurfaceAlphaMod|SDL_GetSurfaceBlendMode|SDL_GetSurfaceClipRect|SDL_GetSurfaceColorKey|SDL_GetSurfaceColorMod|SDL_GetTextInputArea|SDL_GetTextureAlphaMod|SDL_GetTextureAlphaModFloat|SDL_GetTextureBlendMode|SDL_GetTextureColorMod|SDL_GetTextureColorModFloat|SDL_GetTextureScaleMode|SDL_GetTextureSize|SDL_GetWindowAspectRatio|SDL_GetWindowBordersSize|SDL_GetWindowMaximumSize|SDL_GetWindowMinimumSize|SDL_GetWindowPosition|SDL_GetWindowRelativeMouseMode|SDL_GetWindowSafeArea|SDL_GetWindowSize|SDL_GetWindowSizeInPixels|SDL_GetWindowSurfaceVSync|SDL_HideCursor|SDL_HideWindow|SDL_Init|SDL_InitHapticRumble|SDL_InitSubSystem|SDL_LoadWAV|SDL_LoadWAV_IO|SDL_LockAudioStream|SDL_LockProperties|SDL_LockSurface|SDL_LockTexture|SDL_LockTextureToSurface|SDL_MaximizeWindow|SDL_MinimizeWindow|SDL_MixAudio|SDL_OpenURL|SDL_OutOfMemory|SDL_PauseAudioDevice|SDL_PauseAudioStreamDevice|SDL_PauseHaptic|SDL_PlayHapticRumble|SDL_PremultiplyAlpha|SDL_PremultiplySurfaceAlpha|SDL_PushEvent|SDL_PutAudioStreamData|SDL_RaiseWindow|SDL_ReadStorageFile|SDL_ReadSurfacePixel|SDL_ReadSurfacePixelFloat|SDL_RegisterApp|SDL_ReloadGamepadMappings|SDL_RemovePath|SDL_RemoveStoragePath|SDL_RemoveTimer|SDL_RenamePath|SDL_RenameStoragePath|SDL_RenderClear|SDL_RenderCoordinatesFromWindow|SDL_RenderCoordinatesToWindow|SDL_RenderFillRect|SDL_RenderFillRects|SDL_RenderGeometry|SDL_RenderGeometryRaw|SDL_RenderLine|SDL_RenderLines|SDL_RenderPoint|SDL_RenderPoints|SDL_RenderPresent|SDL_RenderRect|SDL_RenderRects|SDL_RenderTexture|SDL_RenderTexture9Grid|SDL_RenderTextureRotated|SDL_RenderTextureTiled|SDL_RequestAndroidPermission|SDL_RestoreWindow|SDL_ResumeAudioDevice|SDL_ResumeAudioStreamDevice|SDL_ResumeHaptic|SDL_RumbleGamepad|SDL_RumbleGamepadTriggers|SDL_RumbleJoystick|SDL_RumbleJoystickTriggers|SDL_RunHapticEffect|SDL_SaveBMP|SDL_SaveBMP_IO|SDL_SendAndroidMessage|SDL_SendGamepadEffect|SDL_SendJoystickEffect|SDL_SendJoystickVirtualSensorData|SDL_SetAppMetadata|SDL_SetAppMetadataProperty|SDL_SetAudioDeviceGain|SDL_SetAudioPostmixCallback|SDL_SetAudioStreamFormat|SDL_SetAudioStreamFrequencyRatio|SDL_SetAudioStreamGain|SDL_SetAudioStreamGetCallback|SDL_SetAudioStreamInputChannelMap|SDL_SetAudioStreamOutputChannelMap|SDL_SetAudioStreamPutCallback|SDL_SetBooleanProperty|SDL_SetClipboardData|SDL_SetClipboardText|SDL_SetCursor|SDL_SetFloatProperty|SDL_SetGamepadLED|SDL_SetGamepadMapping|SDL_SetGamepadPlayerIndex|SDL_SetGamepadSensorEnabled|SDL_SetHapticAutocenter|SDL_SetHapticGain|SDL_SetJoystickLED|SDL_SetJoystickPlayerIndex|SDL_SetJoystickVirtualAxis|SDL_SetJoystickVirtualBall|SDL_SetJoystickVirtualButton|SDL_SetJoystickVirtualHat|SDL_SetJoystickVirtualTouchpad|SDL_SetLinuxThreadPriority|SDL_SetLinuxThreadPriorityAndPolicy|SDL_SetLogPriorityPrefix|SDL_SetMemoryFunctions|SDL_SetNumberProperty|SDL_SetPaletteColors|SDL_SetPointerProperty|SDL_SetPointerPropertyWithCleanup|SDL_SetPrimarySelectionText|SDL_SetRenderClipRect|SDL_SetRenderColorScale|SDL_SetRenderDrawBlendMode|SDL_SetRenderDrawColor|SDL_SetRenderDrawColorFloat|SDL_SetRenderLogicalPresentation|SDL_SetRenderScale|SDL_SetRenderTarget|SDL_SetRenderVSync|SDL_SetRenderViewport|SDL_SetScancodeName|SDL_SetStringProperty|SDL_SetSurfaceAlphaMod|SDL_SetSurfaceBlendMode|SDL_SetSurfaceColorKey|SDL_SetSurfaceColorMod|SDL_SetSurfaceColorspace|SDL_SetSurfacePalette|SDL_SetSurfaceRLE|SDL_SetTLS|SDL_SetTextInputArea|SDL_SetTextureAlphaMod|SDL_SetTextureAlphaModFloat|SDL_SetTextureBlendMode|SDL_SetTextureColorMod|SDL_SetTextureColorModFloat|SDL_SetTextureScaleMode|SDL_SetThreadPriority|SDL_SetWindowAlwaysOnTop|SDL_SetWindowAspectRatio|SDL_SetWindowBordered|SDL_SetWindowFocusable|SDL_SetWindowFullscreen|SDL_SetWindowFullscreenMode|SDL_SetWindowHitTest|SDL_SetWindowIcon|SDL_SetWindowKeyboardGrab|SDL_SetWindowMaximumSize|SDL_SetWindowMinimumSize|SDL_SetWindowModalFor|SDL_SetWindowMouseGrab|SDL_SetWindowMouseRect|SDL_SetWindowOpacity|SDL_SetWindowPosition|SDL_SetWindowRelativeMouseMode|SDL_SetWindowResizable|SDL_SetWindowShape|SDL_SetWindowSize|SDL_SetWindowSurfaceVSync|SDL_SetWindowTitle|SDL_SetiOSAnimationCallback|SDL_ShowAndroidToast|SDL_ShowCursor|SDL_ShowMessageBox|SDL_ShowSimpleMessageBox|SDL_ShowWindow|SDL_ShowWindowSystemMenu|SDL_StartTextInput|SDL_StartTextInputWithProperties|SDL_StopHapticEffect|SDL_StopHapticEffects|SDL_StopHapticRumble|SDL_StopTextInput|SDL_SyncWindow|SDL_TimeToDateTime|SDL_TryLockMutex|SDL_TryLockRWLockForReading|SDL_TryLockRWLockForWriting|SDL_TryWaitSemaphore|SDL_UnlockAudioStream|SDL_UpdateHapticEffect|SDL_UpdateNVTexture|SDL_UpdateTexture|SDL_UpdateWindowSurface|SDL_UpdateWindowSurfaceRects|SDL_UpdateYUVTexture|SDL_Vulkan_CreateSurface|SDL_Vulkan_LoadLibrary|SDL_WaitConditionTimeout|SDL_WaitSemaphoreTimeout|SDL_WarpMouseGlobal|SDL_WriteStorageFile|SDL_WriteSurfacePixel|SDL_WriteSurfacePixelFloat)$"; @@ ( func( ... ) - == 0 | - func( + !func( ... ) - < 0 | - func( + !func( ... ) - != 0 | - func( + !func( ... ) - == -1 )
This commit is contained in:
@@ -41,8 +41,8 @@
|
||||
|
||||
static SDL_Cursor *RPI_CreateDefaultCursor(void);
|
||||
static SDL_Cursor *RPI_CreateCursor(SDL_Surface *surface, int hot_x, int hot_y);
|
||||
static int RPI_ShowCursor(SDL_Cursor *cursor);
|
||||
static int RPI_MoveCursor(SDL_Cursor *cursor);
|
||||
static bool RPI_ShowCursor(SDL_Cursor *cursor);
|
||||
static bool RPI_MoveCursor(SDL_Cursor *cursor);
|
||||
static void RPI_FreeCursor(SDL_Cursor *cursor);
|
||||
|
||||
static SDL_Cursor *global_cursor;
|
||||
@@ -55,9 +55,9 @@ static SDL_Cursor *RPI_CreateDefaultCursor(void)
|
||||
// Create a cursor from a surface
|
||||
static SDL_Cursor *RPI_CreateCursor(SDL_Surface *surface, int hot_x, int hot_y)
|
||||
{
|
||||
int rc;
|
||||
SDL_CursorData *curdata;
|
||||
SDL_Cursor *cursor;
|
||||
int ret;
|
||||
VC_RECT_T dst_rect;
|
||||
Uint32 dummy;
|
||||
|
||||
@@ -89,8 +89,8 @@ static SDL_Cursor *RPI_CreateCursor(SDL_Surface *surface, int hot_x, int hot_y)
|
||||
* the size of the transfer as rect.height * stride.
|
||||
* Therefore we can only write rows starting at x=0.
|
||||
*/
|
||||
ret = vc_dispmanx_resource_write_data(curdata->resource, VC_IMAGE_ARGB8888, surface->pitch, surface->pixels, &dst_rect);
|
||||
SDL_assert(ret == DISPMANX_SUCCESS);
|
||||
rc = vc_dispmanx_resource_write_data(curdata->resource, VC_IMAGE_ARGB8888, surface->pitch, surface->pixels, &dst_rect);
|
||||
SDL_assert(rc == DISPMANX_SUCCESS);
|
||||
|
||||
cursor->internal = curdata;
|
||||
|
||||
@@ -98,22 +98,18 @@ static SDL_Cursor *RPI_CreateCursor(SDL_Surface *surface, int hot_x, int hot_y)
|
||||
}
|
||||
|
||||
// Show the specified cursor, or hide if cursor is NULL
|
||||
static int RPI_ShowCursor(SDL_Cursor *cursor)
|
||||
static bool RPI_ShowCursor(SDL_Cursor *cursor)
|
||||
{
|
||||
int ret;
|
||||
int rc;
|
||||
DISPMANX_UPDATE_HANDLE_T update;
|
||||
SDL_CursorData *curdata;
|
||||
VC_RECT_T src_rect, dst_rect;
|
||||
SDL_Mouse *mouse;
|
||||
SDL_Mouse *mouse = SDL_GetMouse();
|
||||
SDL_DisplayData *data;
|
||||
VC_DISPMANX_ALPHA_T alpha = { DISPMANX_FLAGS_ALPHA_FROM_SOURCE /* flags */, 255 /*opacity 0->255*/, 0 /* mask */ };
|
||||
uint32_t layer = SDL_RPI_MOUSELAYER;
|
||||
const char *env;
|
||||
|
||||
mouse = SDL_GetMouse();
|
||||
if (!mouse) {
|
||||
return -1;
|
||||
}
|
||||
const char *int;
|
||||
bool result;
|
||||
|
||||
if (cursor != global_cursor) {
|
||||
if (global_cursor) {
|
||||
@@ -121,10 +117,10 @@ static int RPI_ShowCursor(SDL_Cursor *cursor)
|
||||
if (curdata && curdata->element > DISPMANX_NO_HANDLE) {
|
||||
update = vc_dispmanx_update_start(0);
|
||||
SDL_assert(update);
|
||||
ret = vc_dispmanx_element_remove(update, curdata->element);
|
||||
SDL_assert(ret == DISPMANX_SUCCESS);
|
||||
ret = vc_dispmanx_update_submit_sync(update);
|
||||
SDL_assert(ret == DISPMANX_SUCCESS);
|
||||
rc = vc_dispmanx_element_remove(update, curdata->element);
|
||||
SDL_assert(rc == DISPMANX_SUCCESS);
|
||||
rc = vc_dispmanx_update_submit_sync(update);
|
||||
SDL_assert(rc == DISPMANX_SUCCESS);
|
||||
curdata->element = DISPMANX_NO_HANDLE;
|
||||
}
|
||||
}
|
||||
@@ -132,21 +128,21 @@ static int RPI_ShowCursor(SDL_Cursor *cursor)
|
||||
}
|
||||
|
||||
if (!cursor) {
|
||||
return 0;
|
||||
return true;
|
||||
}
|
||||
|
||||
curdata = cursor->internal;
|
||||
if (!curdata) {
|
||||
return -1;
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!mouse->focus) {
|
||||
return -1;
|
||||
return false;
|
||||
}
|
||||
|
||||
data = SDL_GetDisplayDriverDataForWindow(mouse->focus);
|
||||
if (!data) {
|
||||
return -1;
|
||||
return false;
|
||||
}
|
||||
|
||||
if (curdata->element == DISPMANX_NO_HANDLE) {
|
||||
@@ -156,9 +152,9 @@ static int RPI_ShowCursor(SDL_Cursor *cursor)
|
||||
update = vc_dispmanx_update_start(0);
|
||||
SDL_assert(update);
|
||||
|
||||
env = SDL_GetHint(SDL_HINT_RPI_VIDEO_LAYER);
|
||||
if (env) {
|
||||
layer = SDL_atoi(env) + 1;
|
||||
hint = SDL_GetHint(SDL_HINT_RPI_VIDEO_LAYER);
|
||||
if (hint) {
|
||||
layer = SDL_atoi(hint) + 1;
|
||||
}
|
||||
|
||||
curdata->element = vc_dispmanx_element_add(update,
|
||||
@@ -172,17 +168,17 @@ static int RPI_ShowCursor(SDL_Cursor *cursor)
|
||||
DISPMANX_NO_HANDLE, // clamp
|
||||
DISPMANX_NO_ROTATE);
|
||||
SDL_assert(curdata->element > DISPMANX_NO_HANDLE);
|
||||
ret = vc_dispmanx_update_submit_sync(update);
|
||||
SDL_assert(ret == DISPMANX_SUCCESS);
|
||||
rc = vc_dispmanx_update_submit_sync(update);
|
||||
SDL_assert(rc == DISPMANX_SUCCESS);
|
||||
}
|
||||
|
||||
return 0;
|
||||
return true;
|
||||
}
|
||||
|
||||
// Free a window manager cursor
|
||||
static void RPI_FreeCursor(SDL_Cursor *cursor)
|
||||
{
|
||||
int ret;
|
||||
int rc;
|
||||
DISPMANX_UPDATE_HANDLE_T update;
|
||||
SDL_CursorData *curdata;
|
||||
|
||||
@@ -193,15 +189,15 @@ static void RPI_FreeCursor(SDL_Cursor *cursor)
|
||||
if (curdata->element != DISPMANX_NO_HANDLE) {
|
||||
update = vc_dispmanx_update_start(0);
|
||||
SDL_assert(update);
|
||||
ret = vc_dispmanx_element_remove(update, curdata->element);
|
||||
SDL_assert(ret == DISPMANX_SUCCESS);
|
||||
ret = vc_dispmanx_update_submit_sync(update);
|
||||
SDL_assert(ret == DISPMANX_SUCCESS);
|
||||
rc = vc_dispmanx_element_remove(update, curdata->element);
|
||||
SDL_assert(rc == DISPMANX_SUCCESS);
|
||||
rc = vc_dispmanx_update_submit_sync(update);
|
||||
SDL_assert(rc == DISPMANX_SUCCESS);
|
||||
}
|
||||
|
||||
if (curdata->resource != DISPMANX_NO_HANDLE) {
|
||||
ret = vc_dispmanx_resource_delete(curdata->resource);
|
||||
SDL_assert(ret == DISPMANX_SUCCESS);
|
||||
rc = vc_dispmanx_resource_delete(curdata->resource);
|
||||
SDL_assert(rc == DISPMANX_SUCCESS);
|
||||
}
|
||||
|
||||
SDL_free(cursor->internal);
|
||||
@@ -213,27 +209,27 @@ static void RPI_FreeCursor(SDL_Cursor *cursor)
|
||||
}
|
||||
}
|
||||
|
||||
static int RPI_WarpMouseGlobalGraphically(float x, float y)
|
||||
static bool RPI_WarpMouseGlobalGraphically(float x, float y)
|
||||
{
|
||||
int rc;
|
||||
SDL_CursorData *curdata;
|
||||
DISPMANX_UPDATE_HANDLE_T update;
|
||||
int ret;
|
||||
VC_RECT_T dst_rect;
|
||||
VC_RECT_T src_rect;
|
||||
SDL_Mouse *mouse = SDL_GetMouse();
|
||||
|
||||
if (!mouse || !mouse->cur_cursor || !mouse->cur_cursor->internal) {
|
||||
return 0;
|
||||
return true;
|
||||
}
|
||||
|
||||
curdata = mouse->cur_cursor->internal;
|
||||
if (curdata->element == DISPMANX_NO_HANDLE) {
|
||||
return 0;
|
||||
return true;
|
||||
}
|
||||
|
||||
update = vc_dispmanx_update_start(0);
|
||||
if (!update) {
|
||||
return 0;
|
||||
return true;
|
||||
}
|
||||
|
||||
src_rect.x = 0;
|
||||
@@ -245,7 +241,7 @@ static int RPI_WarpMouseGlobalGraphically(float x, float y)
|
||||
dst_rect.width = curdata->w;
|
||||
dst_rect.height = curdata->h;
|
||||
|
||||
ret = vc_dispmanx_element_change_attributes(
|
||||
rc = vc_dispmanx_element_change_attributes(
|
||||
update,
|
||||
curdata->element,
|
||||
0,
|
||||
@@ -255,24 +251,24 @@ static int RPI_WarpMouseGlobalGraphically(float x, float y)
|
||||
&src_rect,
|
||||
DISPMANX_NO_HANDLE,
|
||||
DISPMANX_NO_ROTATE);
|
||||
if (ret != DISPMANX_SUCCESS) {
|
||||
if (rc != DISPMANX_SUCCESS) {
|
||||
return SDL_SetError("vc_dispmanx_element_change_attributes() failed");
|
||||
}
|
||||
|
||||
// Submit asynchronously, otherwise the performance suffers a lot
|
||||
ret = vc_dispmanx_update_submit(update, 0, NULL);
|
||||
if (ret != DISPMANX_SUCCESS) {
|
||||
rc = vc_dispmanx_update_submit(update, 0, NULL);
|
||||
if (rc != DISPMANX_SUCCESS) {
|
||||
return SDL_SetError("vc_dispmanx_update_submit() failed");
|
||||
}
|
||||
return 0;
|
||||
return true;
|
||||
}
|
||||
|
||||
static int RPI_WarpMouseGlobal(float x, float y)
|
||||
static bool RPI_WarpMouseGlobal(float x, float y)
|
||||
{
|
||||
SDL_Mouse *mouse = SDL_GetMouse();
|
||||
|
||||
if (!mouse || !mouse->cur_cursor || !mouse->cur_cursor->internal) {
|
||||
return 0;
|
||||
return true;
|
||||
}
|
||||
|
||||
// Update internal mouse position.
|
||||
@@ -281,7 +277,7 @@ static int RPI_WarpMouseGlobal(float x, float y)
|
||||
return RPI_WarpMouseGlobalGraphically(x, y);
|
||||
}
|
||||
|
||||
static int RPI_WarpMouse(SDL_Window *window, float x, float y)
|
||||
static bool RPI_WarpMouse(SDL_Window *window, float x, float y)
|
||||
{
|
||||
return RPI_WarpMouseGlobal(x, y);
|
||||
}
|
||||
@@ -308,7 +304,7 @@ void RPI_QuitMouse(SDL_VideoDevice *_this)
|
||||
}
|
||||
|
||||
// This is called when a mouse motion event occurs
|
||||
static int RPI_MoveCursor(SDL_Cursor *cursor)
|
||||
static bool RPI_MoveCursor(SDL_Cursor *cursor)
|
||||
{
|
||||
SDL_Mouse *mouse = SDL_GetMouse();
|
||||
/* We must NOT call SDL_SendMouseMotion() on the next call or we will enter recursivity,
|
||||
|
||||
@@ -34,18 +34,18 @@ void RPI_GLES_DefaultProfileConfig(SDL_VideoDevice *_this, int *mask, int *major
|
||||
*minor = 0;
|
||||
}
|
||||
|
||||
int RPI_GLES_LoadLibrary(SDL_VideoDevice *_this, const char *path)
|
||||
bool RPI_GLES_LoadLibrary(SDL_VideoDevice *_this, const char *path)
|
||||
{
|
||||
return SDL_EGL_LoadLibrary(_this, path, EGL_DEFAULT_DISPLAY, 0);
|
||||
}
|
||||
|
||||
int RPI_GLES_SwapWindow(SDL_VideoDevice *_this, SDL_Window *window)
|
||||
bool RPI_GLES_SwapWindow(SDL_VideoDevice *_this, SDL_Window *window)
|
||||
{
|
||||
SDL_WindowData *wdata = window->internal;
|
||||
|
||||
if (!(_this->egl_data->eglSwapBuffers(_this->egl_data->egl_display, wdata->egl_surface))) {
|
||||
SDL_LogError(SDL_LOG_CATEGORY_VIDEO, "eglSwapBuffers failed.");
|
||||
return 0;
|
||||
return true;
|
||||
}
|
||||
|
||||
/* Wait immediately for vsync (as if we only had two buffers), for low input-lag scenarios.
|
||||
@@ -56,10 +56,10 @@ int RPI_GLES_SwapWindow(SDL_VideoDevice *_this, SDL_Window *window)
|
||||
SDL_UnlockMutex(wdata->vsync_cond_mutex);
|
||||
}
|
||||
|
||||
return 0;
|
||||
return true;
|
||||
}
|
||||
|
||||
SDL_EGL_CreateContext_impl(RPI)
|
||||
SDL_EGL_MakeCurrent_impl(RPI)
|
||||
SDL_EGL_MakeCurrent_impl(RPI)
|
||||
|
||||
#endif // SDL_VIDEO_DRIVER_RPI && SDL_VIDEO_OPENGL_EGL
|
||||
|
||||
@@ -34,12 +34,12 @@
|
||||
#define RPI_GLES_UnloadLibrary SDL_EGL_UnloadLibrary
|
||||
#define RPI_GLES_SetSwapInterval SDL_EGL_SetSwapInterval
|
||||
#define RPI_GLES_GetSwapInterval SDL_EGL_GetSwapInterval
|
||||
#define RPI_GLES_DeleteContext SDL_EGL_DeleteContext
|
||||
#define RPI_GLES_DestroyContext SDL_EGL_DestroyContext
|
||||
|
||||
extern int RPI_GLES_LoadLibrary(SDL_VideoDevice *_this, const char *path);
|
||||
extern bool RPI_GLES_LoadLibrary(SDL_VideoDevice *_this, const char *path);
|
||||
extern SDL_GLContext RPI_GLES_CreateContext(SDL_VideoDevice *_this, SDL_Window *window);
|
||||
extern int RPI_GLES_SwapWindow(SDL_VideoDevice *_this, SDL_Window *window);
|
||||
extern int RPI_GLES_MakeCurrent(SDL_VideoDevice *_this, SDL_Window *window, SDL_GLContext context);
|
||||
extern bool RPI_GLES_SwapWindow(SDL_VideoDevice *_this, SDL_Window *window);
|
||||
extern bool RPI_GLES_MakeCurrent(SDL_VideoDevice *_this, SDL_Window *window, SDL_GLContext context);
|
||||
extern void RPI_GLES_DefaultProfileConfig(SDL_VideoDevice *_this, int *mask, int *major, int *minor);
|
||||
|
||||
#endif // SDL_VIDEO_DRIVER_RPI && SDL_VIDEO_OPENGL_EGL
|
||||
|
||||
@@ -123,7 +123,7 @@ static SDL_VideoDevice *RPI_Create(void)
|
||||
device->GL_SetSwapInterval = RPI_GLES_SetSwapInterval;
|
||||
device->GL_GetSwapInterval = RPI_GLES_GetSwapInterval;
|
||||
device->GL_SwapWindow = RPI_GLES_SwapWindow;
|
||||
device->GL_DeleteContext = RPI_GLES_DeleteContext;
|
||||
device->GL_DestroyContext = RPI_GLES_DestroyContext;
|
||||
device->GL_DefaultProfileConfig = RPI_GLES_DefaultProfileConfig;
|
||||
|
||||
device->PumpEvents = RPI_PumpEvents;
|
||||
@@ -186,7 +186,7 @@ static void AddDispManXDisplay(const int display_id)
|
||||
SDL_AddVideoDisplay(&display, false);
|
||||
}
|
||||
|
||||
int RPI_VideoInit(SDL_VideoDevice *_this)
|
||||
bool RPI_VideoInit(SDL_VideoDevice *_this)
|
||||
{
|
||||
// Initialize BCM Host
|
||||
bcm_host_init();
|
||||
@@ -195,14 +195,14 @@ int RPI_VideoInit(SDL_VideoDevice *_this)
|
||||
AddDispManXDisplay(DISPMANX_ID_FORCE_OTHER); // an "other" display...maybe DSI-connected screen while HDMI is your main
|
||||
|
||||
#ifdef SDL_INPUT_LINUXEV
|
||||
if (SDL_EVDEV_Init() < 0) {
|
||||
return -1;
|
||||
if (!SDL_EVDEV_Init()) {
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
|
||||
RPI_InitMouse(_this);
|
||||
|
||||
return 1;
|
||||
return true;
|
||||
}
|
||||
|
||||
void RPI_VideoQuit(SDL_VideoDevice *_this)
|
||||
@@ -221,7 +221,7 @@ static void RPI_vsync_callback(DISPMANX_UPDATE_HANDLE_T u, void *data)
|
||||
SDL_UnlockMutex(wdata->vsync_cond_mutex);
|
||||
}
|
||||
|
||||
int RPI_CreateWindow(SDL_VideoDevice *_this, SDL_Window *window, SDL_PropertiesID create_props)
|
||||
bool RPI_CreateWindow(SDL_VideoDevice *_this, SDL_Window *window, SDL_PropertiesID create_props)
|
||||
{
|
||||
SDL_WindowData *wdata;
|
||||
SDL_VideoDisplay *display;
|
||||
@@ -241,7 +241,7 @@ int RPI_CreateWindow(SDL_VideoDevice *_this, SDL_Window *window, SDL_PropertiesI
|
||||
// Allocate window internal data
|
||||
wdata = (SDL_WindowData *)SDL_calloc(1, sizeof(SDL_WindowData));
|
||||
if (!wdata) {
|
||||
return -1;
|
||||
return false;
|
||||
}
|
||||
display = SDL_GetVideoDisplayForWindow(window);
|
||||
displaydata = display->internal;
|
||||
@@ -285,8 +285,8 @@ int RPI_CreateWindow(SDL_VideoDevice *_this, SDL_Window *window, SDL_PropertiesI
|
||||
vc_dispmanx_update_submit_sync(dispman_update);
|
||||
|
||||
if (!_this->egl_data) {
|
||||
if (SDL_GL_LoadLibrary(NULL) < 0) {
|
||||
return -1;
|
||||
if (!SDL_GL_LoadLibrary(NULL)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
wdata->egl_surface = SDL_EGL_CreateSurface(_this, window, (NativeWindowType)&wdata->dispman_window);
|
||||
@@ -312,7 +312,7 @@ int RPI_CreateWindow(SDL_VideoDevice *_this, SDL_Window *window, SDL_PropertiesI
|
||||
SDL_SetKeyboardFocus(window);
|
||||
|
||||
// Window has been successfully created
|
||||
return 0;
|
||||
return true;
|
||||
}
|
||||
|
||||
void RPI_DestroyWindow(SDL_VideoDevice *_this, SDL_Window *window)
|
||||
@@ -346,7 +346,7 @@ void RPI_DestroyWindow(SDL_VideoDevice *_this, SDL_Window *window)
|
||||
void RPI_SetWindowTitle(SDL_VideoDevice *_this, SDL_Window *window)
|
||||
{
|
||||
}
|
||||
int RPI_SetWindowPosition(SDL_VideoDevice *_this, SDL_Window *window)
|
||||
bool RPI_SetWindowPosition(SDL_VideoDevice *_this, SDL_Window *window)
|
||||
{
|
||||
return SDL_Unsupported();
|
||||
}
|
||||
|
||||
@@ -59,31 +59,31 @@ struct SDL_WindowData
|
||||
/****************************************************************************/
|
||||
|
||||
// Display and window functions
|
||||
int RPI_VideoInit(SDL_VideoDevice *_this);
|
||||
void RPI_VideoQuit(SDL_VideoDevice *_this);
|
||||
int RPI_GetDisplayModes(SDL_VideoDevice *_this, SDL_VideoDisplay *display);
|
||||
int RPI_SetDisplayMode(SDL_VideoDevice *_this, SDL_VideoDisplay *display, SDL_DisplayMode *mode);
|
||||
int RPI_CreateWindow(SDL_VideoDevice *_this, SDL_Window *window, SDL_PropertiesID create_props);
|
||||
void RPI_SetWindowTitle(SDL_VideoDevice *_this, SDL_Window *window);
|
||||
int RPI_SetWindowPosition(SDL_VideoDevice *_this, SDL_Window *window);
|
||||
void RPI_SetWindowSize(SDL_VideoDevice *_this, SDL_Window *window);
|
||||
void RPI_ShowWindow(SDL_VideoDevice *_this, SDL_Window *window);
|
||||
void RPI_HideWindow(SDL_VideoDevice *_this, SDL_Window *window);
|
||||
void RPI_RaiseWindow(SDL_VideoDevice *_this, SDL_Window *window);
|
||||
void RPI_MaximizeWindow(SDL_VideoDevice *_this, SDL_Window *window);
|
||||
void RPI_MinimizeWindow(SDL_VideoDevice *_this, SDL_Window *window);
|
||||
void RPI_RestoreWindow(SDL_VideoDevice *_this, SDL_Window *window);
|
||||
void RPI_DestroyWindow(SDL_VideoDevice *_this, SDL_Window *window);
|
||||
extern bool RPI_VideoInit(SDL_VideoDevice *_this);
|
||||
extern void RPI_VideoQuit(SDL_VideoDevice *_this);
|
||||
extern bool RPI_GetDisplayModes(SDL_VideoDevice *_this, SDL_VideoDisplay *display);
|
||||
extern bool RPI_SetDisplayMode(SDL_VideoDevice *_this, SDL_VideoDisplay *display, SDL_DisplayMode *mode);
|
||||
extern bool RPI_CreateWindow(SDL_VideoDevice *_this, SDL_Window *window, SDL_PropertiesID create_props);
|
||||
extern void RPI_SetWindowTitle(SDL_VideoDevice *_this, SDL_Window *window);
|
||||
extern bool RPI_SetWindowPosition(SDL_VideoDevice *_this, SDL_Window *window);
|
||||
extern void RPI_SetWindowSize(SDL_VideoDevice *_this, SDL_Window *window);
|
||||
extern void RPI_ShowWindow(SDL_VideoDevice *_this, SDL_Window *window);
|
||||
extern void RPI_HideWindow(SDL_VideoDevice *_this, SDL_Window *window);
|
||||
extern void RPI_RaiseWindow(SDL_VideoDevice *_this, SDL_Window *window);
|
||||
extern void RPI_MaximizeWindow(SDL_VideoDevice *_this, SDL_Window *window);
|
||||
extern void RPI_MinimizeWindow(SDL_VideoDevice *_this, SDL_Window *window);
|
||||
extern void RPI_RestoreWindow(SDL_VideoDevice *_this, SDL_Window *window);
|
||||
extern void RPI_DestroyWindow(SDL_VideoDevice *_this, SDL_Window *window);
|
||||
|
||||
// OpenGL/OpenGL ES functions
|
||||
int RPI_GLES_LoadLibrary(SDL_VideoDevice *_this, const char *path);
|
||||
SDL_FunctionPointer RPI_GLES_GetProcAddress(SDL_VideoDevice *_this, const char *proc);
|
||||
void RPI_GLES_UnloadLibrary(SDL_VideoDevice *_this);
|
||||
SDL_GLContext RPI_GLES_CreateContext(SDL_VideoDevice *_this, SDL_Window *window);
|
||||
int RPI_GLES_MakeCurrent(SDL_VideoDevice *_this, SDL_Window *window, SDL_GLContext context);
|
||||
int RPI_GLES_SetSwapInterval(SDL_VideoDevice *_this, int interval);
|
||||
int RPI_GLES_GetSwapInterval(SDL_VideoDevice *_this);
|
||||
int RPI_GLES_SwapWindow(SDL_VideoDevice *_this, SDL_Window *window);
|
||||
int RPI_GLES_DeleteContext(SDL_VideoDevice *_this, SDL_GLContext context);
|
||||
extern bool RPI_GLES_LoadLibrary(SDL_VideoDevice *_this, const char *path);
|
||||
extern SDL_FunctionPointer RPI_GLES_GetProcAddress(SDL_VideoDevice *_this, const char *proc);
|
||||
extern void RPI_GLES_UnloadLibrary(SDL_VideoDevice *_this);
|
||||
extern SDL_GLContext RPI_GLES_CreateContext(SDL_VideoDevice *_this, SDL_Window *window);
|
||||
extern bool RPI_GLES_MakeCurrent(SDL_VideoDevice *_this, SDL_Window *window, SDL_GLContext context);
|
||||
extern bool RPI_GLES_SetSwapInterval(SDL_VideoDevice *_this, int interval);
|
||||
extern bool RPI_GLES_GetSwapInterval(SDL_VideoDevice *_this);
|
||||
extern bool RPI_GLES_SwapWindow(SDL_VideoDevice *_this, SDL_Window *window);
|
||||
extern bool RPI_GLES_DestroyContext(SDL_VideoDevice *_this, SDL_GLContext context);
|
||||
|
||||
#endif // SDL_rpivideo_h
|
||||
|
||||
Reference in New Issue
Block a user