Mercurial > sdl-ios-xcode
view docs/html/sdljoystickgetball.html @ 4134:31c7c57af8a4 SDL-1.2
Updates for building on Windows CE using mingw32ce cross compiler:
http://sourceforge.net/mailarchive/forum.php?thread_name 0703291652.38437.jwalt%40garni.ch&forum_name=cegcc-devel
Hi!
I just managed to compile SDL for Windows CE using the "mingw32ce"
configuration of http://cegcc.sourceforge.net. Test programs work as expected
(except for those using signals -- no POSIX on mingw32ce), and I didn't yet
encounter any problem.
While it was a pain to get everything compiled and running, the changes to
SDL are actually quite small (see attached SDL-ce.diff).
Unfortunately, the win32 headers shipped with cegcc are not 100% correct, and
it feels quite messy to work around them in SDL code, so those headers will
also need to be patched. (Attachment: win32api-ce.diff)
Since I had to apply the libtool patch from the cegcc patch, I have also ad ded
my copy of aclocal.m4 for SDL. I had to modify the cegcc libtool patch to
use "lt_cv_deplibs_check_method=pass_all" for mingw32ce, otherwise libtool
would not recognize the import libraries as valid for dynamic linking.
All these changes should not affect non-WinCE builds, so they could be
included in mainline SDL.
If you need some docs, you can use this description for a cross-compilation
README:
1) get cegcc from http://cegcc.sourceforge.net
2) build and install the "mingw32ce" variant (see cegcc installation docs)
3) patch w32api-headers (if not yet included in cegcc)
4) setup environment (customize the first three lines as you like):
PREFIX=/opt/mingw32ce
TARGET=arm-wince-mingw32ce
BUILD=`uname -m`-pc-linux-gnu
export PATH="$PREFIX/bin:$PREFIX/$TARGET/bin:$PREFIX/local/bin:$PATH"
export CFLAGS="${CFLAGS:- -O2 -g} -I$PREFIX/local/include"
export CPPFLAGS="${CPPFLAGS:- -O2 -g} -I$PREFIX/local/include"
export CXXFLAGS="${CXXFLAGS:- -O2 -g} -I$PREFIX/local/include"
export LDFLAGS="${LDFLAGS:- -O2 -g} -L$PREFIX/local/lib"
export HOST_CC="gcc"
export CC="$PREFIX/bin/$TARGET-gcc"
export CXX="$PREFIX/bin/$TARGET-g++"
export LD="$PREFIX/bin/$TARGET-ld"
export AS="$PREFIX/bin/$TARGET-as"
export AR="$PREFIX/bin/$TARGET-ar"
export RANLIB="$PREFIX/bin/$TARGET-ranlib"
export CONFIG_SHELL="/bin/sh"
5) build and install
./configure --target=$TARGET --host=$TARGET --build=$BUILD
make
make install
6) use (4) and (5) for any SDL-using software you want to cross-compile
7) copy $PREFIX/local/bin/SDL-1-2-0.dll into your executable directory on the WinCE machine
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Thu, 03 Jan 2008 06:19:07 +0000 |
parents | 355632dca928 |
children |
line wrap: on
line source
<HTML ><HEAD ><TITLE >SDL_JoystickGetBall</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+ "><LINK REL="HOME" TITLE="SDL Library Documentation" HREF="index.html"><LINK REL="UP" TITLE="Joystick" HREF="joystick.html"><LINK REL="PREVIOUS" TITLE="SDL_JoystickGetButton" HREF="sdljoystickgetbutton.html"><LINK REL="NEXT" TITLE="SDL_JoystickClose" HREF="sdljoystickclose.html"></HEAD ><BODY CLASS="REFENTRY" BGCOLOR="#FFF8DC" TEXT="#000000" LINK="#0000ee" VLINK="#551a8b" ALINK="#ff0000" ><DIV CLASS="NAVHEADER" ><TABLE SUMMARY="Header navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TH COLSPAN="3" ALIGN="center" >SDL Library Documentation</TH ></TR ><TR ><TD WIDTH="10%" ALIGN="left" VALIGN="bottom" ><A HREF="sdljoystickgetbutton.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" ></TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="sdljoystickclose.html" ACCESSKEY="N" >Next</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><H1 ><A NAME="SDLJOYSTICKGETBALL" ></A >SDL_JoystickGetBall</H1 ><DIV CLASS="REFNAMEDIV" ><A NAME="AEN6433" ></A ><H2 >Name</H2 >SDL_JoystickGetBall -- Get relative trackball motion</DIV ><DIV CLASS="REFSYNOPSISDIV" ><A NAME="AEN6436" ></A ><H2 >Synopsis</H2 ><DIV CLASS="FUNCSYNOPSIS" ><A NAME="AEN6437" ></A ><P ></P ><PRE CLASS="FUNCSYNOPSISINFO" >#include "SDL.h"</PRE ><P ><CODE ><CODE CLASS="FUNCDEF" >int <B CLASS="FSFUNC" >SDL_JoystickGetBall</B ></CODE >(SDL_Joystick *joystick, int ball, int *dx, int *dy);</CODE ></P ><P ></P ></DIV ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN6443" ></A ><H2 >Description</H2 ><P >Get the <TT CLASS="PARAMETER" ><I >ball</I ></TT > axis change.</P ><P >Trackballs can only return relative motion since the last call to <TT CLASS="FUNCTION" >SDL_JoystickGetBall</TT >, these motion deltas a placed into <TT CLASS="PARAMETER" ><I >dx</I ></TT > and <TT CLASS="PARAMETER" ><I >dy</I ></TT >.</P ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN6451" ></A ><H2 >Return Value</H2 ><P >Returns <SPAN CLASS="RETURNVALUE" >0</SPAN > on success or <SPAN CLASS="RETURNVALUE" >-1</SPAN > on failure</P ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN6456" ></A ><H2 >Examples</H2 ><P ><PRE CLASS="PROGRAMLISTING" >int delta_x, delta_y; SDL_Joystick *joy; . . . SDL_JoystickUpdate(); if(SDL_JoystickGetBall(joy, 0, &delta_x, &delta_y)==-1) printf("TrackBall Read Error!\n"); printf("Trackball Delta- X:%d, Y:%d\n", delta_x, delta_y);</PRE ></P ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN6460" ></A ><H2 >See Also</H2 ><P ><A HREF="sdljoysticknumballs.html" ><TT CLASS="FUNCTION" >SDL_JoystickNumBalls</TT ></A ></P ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE SUMMARY="Footer navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><A HREF="sdljoystickgetbutton.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="index.html" ACCESSKEY="H" >Home</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="sdljoystickclose.html" ACCESSKEY="N" >Next</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >SDL_JoystickGetButton</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="joystick.html" ACCESSKEY="U" >Up</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >SDL_JoystickClose</TD ></TR ></TABLE ></DIV ></BODY ></HTML >