From 5bdf7e2404505d70c3312df0ddfdfb922f1424dc Mon Sep 17 00:00:00 2001 From: pelya Date: Wed, 1 Feb 2012 14:08:41 +0200 Subject: [PATCH] Added SDL 1.2 multitouch example --- .../multitouch/AndroidAppSettings.cfg | 44 +++++++++++ .../multitouch/AndroidData/ballfield2.zip | Bin 0 -> 2402 bytes .../jni/application/multitouch/example.cpp | 72 ++++++++++++++++++ project/jni/application/multitouch/icon.png | Bin 0 -> 2130 bytes 4 files changed, 116 insertions(+) create mode 100644 project/jni/application/multitouch/AndroidAppSettings.cfg create mode 100644 project/jni/application/multitouch/AndroidData/ballfield2.zip create mode 100644 project/jni/application/multitouch/example.cpp create mode 100644 project/jni/application/multitouch/icon.png diff --git a/project/jni/application/multitouch/AndroidAppSettings.cfg b/project/jni/application/multitouch/AndroidAppSettings.cfg new file mode 100644 index 000000000..17a2f7560 --- /dev/null +++ b/project/jni/application/multitouch/AndroidAppSettings.cfg @@ -0,0 +1,44 @@ +# The application settings for Android libSDL port +AppSettingVersion=17 +LibSdlVersion=1.2 +AppName="Example multitouch" +AppFullName=org.libsdl.example.multitouch +ScreenOrientation=h +InhibitSuspend=n +AppDataDownloadUrl="Game data is 1 Mb|ballfield2.zip" +VideoDepthBpp=16 +NeedDepthBuffer=n +NeedStencilBuffer=n +NeedGles2=n +SwVideoMode=y +SdlVideoResize=y +SdlVideoResizeKeepAspect=n +CompatibilityHacks=n +AppUsesMouse=y +AppNeedsTwoButtonMouse=y +ShowMouseCursor=n +ForceRelativeMouseMode=n +AppNeedsArrowKeys=n +AppNeedsTextInput=y +AppUsesJoystick=y +AppHandlesJoystickSensitivity=n +AppUsesMultitouch=y +NonBlockingSwapBuffers=n +RedefinedKeys="SPACE RETURN NO_REMAP NO_REMAP SPACE ESCAPE" +AppTouchscreenKeyboardKeysAmount=0 +AppTouchscreenKeyboardKeysAmountAutoFire=0 +RedefinedKeysScreenKb="1 2 3 4 5 6 1 2 3 4" +StartupMenuButtonTimeout=3000 +HiddenMenuOptions='OptionalDownloadConfig' +FirstStartMenuOptions='' +MultiABI=n +AppVersionCode=101 +AppVersionName="1.01" +ResetSdlConfigForThisVersion=n +CompiledLibraries="sdl_mixer sdl_image" +CustomBuildScript=n +AppCflags='-O2 -finline-functions' +AppLdflags='' +AppSubdirsBuild='' +AppCmdline='' +ReadmeText='^Readme text' diff --git a/project/jni/application/multitouch/AndroidData/ballfield2.zip b/project/jni/application/multitouch/AndroidData/ballfield2.zip new file mode 100644 index 0000000000000000000000000000000000000000..7a9b8595a444e8ac2bfda92bd2b2432beffde016 GIT binary patch literal 2402 zcmWIWW@Zs#U|`^2IN4#WW5}1C!pqFSz{kbFz{4QJkd~iUVqRfrpqG?e5E{bCz?{|X zX|v(*IiJ!BZU#n{7t9O{VB%?5w7+nmz`VQLx?`nRX>4iD+g+Oxm9<*UL3@!PXA6U( zfU9ztX9$y9(vd4OW=J$WJn5e7v1fr=oKw@U6orpR??0^n;NDaGE$4ikMReu%nZD=F z{oMC6E$#W7l9XMs?61R@F84SuV|!+)!=+FE`yF-AQap zlP2h&pIUd|xn>Ms&&h)|dyZQ#D7bR+zK{Evc^h81sV;vMX0La!hO=OEQ~825w@*Ce z%KdtA+V2Y+Cvk3z6ny%=+{i|7`>%UfmDYSyP3L(N%d~z|Yk+vk!gH&>tup3Uj2HP3 z`hI$+f&Koz%TsN*cU$+~PA}9w&A+BZ=u{=|_hlJTuhbqi>q#w~lsEtT!C=8Vvlsl^ zZGFa9VX0sBfe!DJ(ed-+PP6td-OjMY_1NwwVc%n2eCEF3{e7AH$tg?La<`BBL@&QB zSvgs(-)w3_kkN*36ZbU9vwaZMd3LksVyN5nopWvO@~k`U*u}HR`uSXxsj&{Z$#P-NuvGJSv%TZ_D=CI2w zvvLLaD|h@U5-?VF-L_!2@)5rFGh43B4&^?suy}LPiZV^xtCFWA1)Vn83t36zew$!% zLZd?}diC~g`w>~{P(Y;Ct7Mnkh0F{LW}Ki*Cc}`EpPmoTPH*X%4?Owi#0?!{DIRkHAUhtM}}#Nfz02gX?@F_pUbEgSFT8NdGc9 z`_}MYZLz^ar;XW}_jYdiSQD&%@cr+f-cS22_dj)ZjCj7a{%Omj`HyR)gJmDcRET{w zu;9M7;ljf%ouoDFk+)aKu<1AGzdg9HLwc_BPT%XnCZ)Mf*Vk0Oo!_(Y$%=VP+|QRd zCkLhoXZb%D)tPHjQQZ?>vb$^UgQ%YMNu>gNrR4yxz1<+wkGH z*;bDQC;m0K$8`PCq>Pxd51caIyP8U`J2-Rj-9s_{v)yayv9AN zqo-%sE&6eNM@jzI$fIwy!VBYG{jZLBrN8TSk>+G6yJv^yaO)>)H93hWr_L9PajuQ{ z_>J31y#89z@5$e{3T!<$MJ1|a$>jE>`K=0EHx=Gr|1mR4l1aKyv&dxe4$~w28)`)M ztg^k_%=Uin!(A7}uUXaZR47lc{Hj=y-}XA|kelPT)lZ)Om8{Ftne(Nfd={^1=Hiq^ z>MaZHlt(oz zFHie3mY)hmnE`$ zb5uZ4YZXiAo884+TY|Lbx+Les7e9Yeu`56LzYNzm*5^&@5+;}Z{k8On{9W$DlY`G` zPwUOzS9>7J-BADC*R)>?XRT;IwJ|I|!rA8d|HR*sr8Dz4-`iW08oM^|w(*qH-%@ud z{GAe`&HuIgn9{v(CJy&ffBbdYe`{V;@sbaJ-0p?^GL-5&&vdjr>|V&MMb->|=S{9V zGiS5ZrtB`Jv)RmE`h1c0QfDf<2N~;{5drE#traKUY_Fzm>i# zzPkL1eDTHes~)c1{^I+&i`L9jZA6^!ef)Ig^U|s6lbb8tDm3nIPuf|*6yVLsB*%=a zT_M2$16vwFEYwy8E2Ncy7Ou!9Viv0i6PGjwGczC+vaAfuph6apX_zsNFs-4HjhzAB g3PQv`D+4o@xDW7VWdr$#nSq(%8v_GF7zc<40F0kBivR!s literal 0 HcmV?d00001 diff --git a/project/jni/application/multitouch/example.cpp b/project/jni/application/multitouch/example.cpp new file mode 100644 index 000000000..3e2c1495c --- /dev/null +++ b/project/jni/application/multitouch/example.cpp @@ -0,0 +1,72 @@ + +#include +#include "SDL.h" + + +int main(int argc, char* argv[]) +{ + SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO | SDL_INIT_JOYSTICK); + SDL_Surface * screen = SDL_SetVideoMode(640, 480, 16, 0); + + enum { MAX_POINTERS = 16, PTR_PRESSED = 4 }; + int touchPointers[MAX_POINTERS][5]; + int accel[5]; + int i; + + memset(touchPointers, 0, sizeof(touchPointers)); + memset(accel, 0, sizeof(accel)); + SDL_Joystick * joysticks[MAX_POINTERS+1]; + for(i=0; iBaocFh$)n(>nX=P4I zTD-+^jhBnmhowpKH5(JOyZE;y$cxN(xneFF@*ybGkwsLnCb0To(CV;^i_?O#CP(yM zQhPc5+3u&i=M+CX^JedK{>`6fvQ%GeOiVj>bMv+OwO`}^?{(XARC({?!?$m3D(C;w zcdF~PaB%db82+A=*QJZ%c% z7Ore=5iVyVp2dEgPKz>|wk|eIEIjhzW$N`i|KB}6|NrNIwhMB5zZdU-Px~~Z0!J6e*IJahZkha zXIX#AUH;AL`8Bnr$4*{@&%xwotI{XTVZKl?3=2_+A{B`3YFT^DipP0ZUT zN+QWGDrd}TvaNpD_BS9*;J84vj;iw0Dbgo=PC58YXDYbTQEHRC=i1ZXot zxAN!Z^&$-Ca`*YKIcLT8Zj;q?+Z$VD-|gl8wx8E;?!kTa^^4@(oGuHcCx9#B9_2;7b0p81cirCjO74Mw-rHr#x6f{qnHK%p`L7IpsM}(%e&6t`Hu2`0oW4bxBS&4Iz;|YdiH`pe$ z#H_6-%{HE|mvWT-LX~D#snX@VD^tS?-tqi-z<6VuwZZ>aQqRxL35}k=Va7Qo?+I#+ zZzaqVo}FFOGs*iwQ_n`rtObn6Zd!Sqd?Ed>xpm^Y<8G<#Ti-5Hb1b>gmzXOl%`3G0 z|2=`nTxWmGX?>=8wBXL7xxq!3(>_)mUdCfK(`53QD#s$-fMg!Q(tYopN>tVqt;*Bj z$@N|LHH~*gtH|!KZpJ58D|vb6axE1+7}ohV+wGV5y>k&6X^or-lA9YHg%wN_Of#k^ z%QKoPDe@?uJiRK{HROeL_8iTW8bQ_53PMX*9Aoz{zw?l@gLlf)dJ)yqQ`etuW@9^` zwSkQ%kS$5&z{A*uMTs z*9UtJDm`LKYDn&Ju22eiBp7PF?cvHtO|AF8F8#jc#v7AmVk->1jQ5o8p0&kr`;L@r z{+d%c)tJ+AkAEm)sB`_~eV{Ud@jO#fLwXOhmJ*-F2a#)wv!t&53()y`$X`wR|IAy5 zzHQW4X7I})bJ2+@g)t%#9uFoxk(vpr{Ksr&433QhI^)dxyG(| zFaFNQKcB_xYCbGm?zJVI>$XYv42LhCUp{FYz3x&t{6Zx=XT`a{d%GeS!vwrLOpi$Q z3C?q1oFeJcsqr#$e_ij?=W>6KFaFGWU{^Q)vXFbb(hAdDwU#w_+WhV1S;3qzZTTF( z+w2Dz44I}0W*@LhnxVYi$Kr#CW!1yr_`gr5m%g(uI2rJ3YIFPkmk%D-Zb_EfIVtal z<|fJZ3{RCK7T#eFYZBL_PnCZ1cmKgekt1`;0xu>DwQrY93!5HM|6;j%UFGvs1_rzO z56|4S-&_+izw7)-VsA`6|CY*g(#cyYMP$?DOgffH2XB-yoiek;*30X)VPJDy&4VN7 z`(nOC#&8|jpnpB&e(dqQHw)_+Xa0{hcL}-|*K0Oisk?k%71OCS>qnhjfio6oRZUqQ zf9;OA{@2QzA%CtMx^wezbop7w_j672mQC&QSZFw}&@cZ$@bha~nr1=sKCr~}-Aexz z#t;^G&30AzIfMU8z?cnEpK+5b6}d+ zp&T&5=%EmwyQgF0hmBi4IZd**n=bag`p1)G{@9oAdF{`>v#a>hKJQ;{F-h({&Vl<2lxK@e@;J&-uOHJ>CEIE8`o4FXJBAp@O1TaS?83{ F1OR)H{O|w( literal 0 HcmV?d00001