aboutsummaryrefslogtreecommitdiff
path: root/macosx/plugins/DFInput/SDL/src/SDL.c
diff options
context:
space:
mode:
authorPCSX* teams2010-11-16 14:15:22 +0200
committerGrazvydas Ignotas2010-11-16 14:15:22 +0200
commitef79bbde537d6b9c745a7d86cb9df1d04c35590d (patch)
treeef8d2520dbb9e1e345b41b12c9959f300ca8fd10 /macosx/plugins/DFInput/SDL/src/SDL.c
downloadpcsx_rearmed-ef79bbde537d6b9c745a7d86cb9df1d04c35590d.tar.gz
pcsx_rearmed-ef79bbde537d6b9c745a7d86cb9df1d04c35590d.tar.bz2
pcsx_rearmed-ef79bbde537d6b9c745a7d86cb9df1d04c35590d.zip
pcsxr-1.9.92
Diffstat (limited to 'macosx/plugins/DFInput/SDL/src/SDL.c')
-rw-r--r--macosx/plugins/DFInput/SDL/src/SDL.c101
1 files changed, 101 insertions, 0 deletions
diff --git a/macosx/plugins/DFInput/SDL/src/SDL.c b/macosx/plugins/DFInput/SDL/src/SDL.c
new file mode 100644
index 0000000..8f8e676
--- /dev/null
+++ b/macosx/plugins/DFInput/SDL/src/SDL.c
@@ -0,0 +1,101 @@
+/*
+ SDL - Simple DirectMedia Layer
+ Copyright (C) 1997-2010 Sam Lantinga
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+ Sam Lantinga
+ slouken@libsdl.org
+*/
+// 7/31/2010 Wei Mingzhi
+// Removed everything unrated to Mac OS X Joystick support
+
+#include "SDL_config.h"
+
+/* Initialization code for SDL */
+
+#include "SDL.h"
+#include "haptic/SDL_haptic_c.h"
+#include "joystick/SDL_joystick_c.h"
+
+/* The initialized subsystems */
+static Uint32 SDL_initialized = 0;
+
+int
+SDL_InitSubSystem(Uint32 flags)
+{
+ /* Initialize the joystick subsystem */
+ if ((flags & SDL_INIT_JOYSTICK) && !(SDL_initialized & SDL_INIT_JOYSTICK)) {
+ if (SDL_JoystickInit() < 0) {
+ return (-1);
+ }
+ SDL_initialized |= SDL_INIT_JOYSTICK;
+ }
+
+ /* Initialize the haptic subsystem */
+ if ((flags & SDL_INIT_HAPTIC) && !(SDL_initialized & SDL_INIT_HAPTIC)) {
+ if (SDL_HapticInit() < 0) {
+ return (-1);
+ }
+ SDL_initialized |= SDL_INIT_HAPTIC;
+ }
+
+ return (0);
+}
+
+int
+SDL_Init(Uint32 flags)
+{
+ /* Clear the error message */
+ SDL_ClearError();
+
+ /* Initialize the desired subsystems */
+ if (SDL_InitSubSystem(flags) < 0) {
+ return (-1);
+ }
+
+ return (0);
+}
+
+void
+SDL_QuitSubSystem(Uint32 flags)
+{
+ /* Shut down requested initialized subsystems */
+ if ((flags & SDL_initialized & SDL_INIT_JOYSTICK)) {
+ SDL_JoystickQuit();
+ SDL_initialized &= ~SDL_INIT_JOYSTICK;
+ }
+
+ if ((flags & SDL_initialized & SDL_INIT_HAPTIC)) {
+ SDL_HapticQuit();
+ SDL_initialized &= ~SDL_INIT_HAPTIC;
+ }
+}
+
+Uint32
+SDL_WasInit(Uint32 flags)
+{
+ if (!flags) {
+ flags = SDL_INIT_EVERYTHING;
+ }
+ return (SDL_initialized & flags);
+}
+
+void
+SDL_Quit(void)
+{
+ /* Quit all subsystems */
+ SDL_QuitSubSystem(SDL_INIT_EVERYTHING);
+}