summaryrefslogtreecommitdiff
path: root/macosx/plugins/DFInput/SDL/src/SDL.c
diff options
context:
space:
mode:
authorSND\weimingzhi_cp <SND\weimingzhi_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2010-07-25 10:01:51 +0000
committerSND\weimingzhi_cp <SND\weimingzhi_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2010-07-25 10:01:51 +0000
commitdf065b4bf4205db561a5fe7d5652352f6046e40f (patch)
tree737144140d72e0b6acae58e363c7a8865bcc971f /macosx/plugins/DFInput/SDL/src/SDL.c
parent8da3cda2b3d231298d3dd602fe879521106e91c2 (diff)
downloadpcsxr-df065b4bf4205db561a5fe7d5652352f6046e40f.tar.gz
ported dfinput to osx as well (prelimiary, no config dialog yet). will eventually replace HIDInput.
git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@55128 e17a0e51-4ae3-4d35-97c3-1a29b211df97
Diffstat (limited to 'macosx/plugins/DFInput/SDL/src/SDL.c')
-rw-r--r--macosx/plugins/DFInput/SDL/src/SDL.c97
1 files changed, 97 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 00000000..4d6a98c0
--- /dev/null
+++ b/macosx/plugins/DFInput/SDL/src/SDL.c
@@ -0,0 +1,97 @@
+/*
+ SDL - Simple DirectMedia Layer
+ Copyright (C) 1997-2006 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-25-2010 Wei Mingzhi
+// Removed everything unrelated to Mac OS X Joystick support.
+
+#include "SDL_config.h"
+
+/* Initialization code for SDL */
+
+#include "SDL.h"
+
+/* Initialization/Cleanup routines */
+extern int SDL_JoystickInit(void);
+extern void SDL_JoystickQuit(void);
+
+/* The current SDL version */
+static SDL_version version =
+ { SDL_MAJOR_VERSION, SDL_MINOR_VERSION, SDL_PATCHLEVEL };
+
+/* 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;
+ }
+
+ 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;
+ }
+}
+
+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);
+}
+
+/* Return the library version number */
+const SDL_version * SDL_Linked_Version(void)
+{
+ return(&version);
+}