|
1 |
|
2 ============================================================================== |
|
3 Using the Simple DirectMedia Layer with Qtopia/OPIE |
|
4 ============================================================================== |
|
5 |
|
6 ============================================================================== |
|
7 I. Setting up the Qtopia development environment. |
|
8 |
|
9 This document will not explain how to setup the Qtopia development |
|
10 environment. That is outside the scope of the document. You can read |
|
11 more on this subject in this excellent howto: |
|
12 |
|
13 http://www.zauruszone.com/howtos/linux_compiler_setup_howto.html |
|
14 |
|
15 ============================================================================== |
|
16 II. Building the Simple DirectMedia Layer libraries using the arm |
|
17 cross-compiler |
|
18 |
|
19 This is somewhat tricky since the name of the compiler binaries |
|
20 differ from the standard. Also you should disable features not |
|
21 needed. The command below works for me. Note that it's all one |
|
22 line. You can also set the NM, LD etc environment variables |
|
23 separately. |
|
24 |
|
25 NM=arm-linux-nm LD=arm-linux-ld CC=arm-linux-gcc CXX=arm-linux-g++ RANLIB=arm-linux-ranlib AR=arm-linux-ar ./configure --enable-video-qtopia --disable-video-dummy --disable-video-fbcon --disable-video-dga --disable-arts --disable-esd --disable-alsa --disable-cdrom --disable-video-x11 --disable-nasm --prefix=/opt/Qtopia/sharp/ arm-unknown-linux-gnu |
|
26 |
|
27 One thing to note is that the above configure will include joystick |
|
28 support, even though you can't have joysticks on the Zaurus. The |
|
29 reason for this is to avoid link / compile / runtime errors with |
|
30 applications that have joystick support. |
|
31 |
|
32 ============================================================================== |
|
33 III. Building the Simple DirectMedia Layer test programs: |
|
34 |
|
35 After installing, making sure the correct sdl-config is in your |
|
36 path, run configure like this: |
|
37 |
|
38 NM=arm-linux-nm LD=arm-linux-ld CC=arm-linux-gcc CXX=arm-linux-g++ AR=arm-linux-ar ./configure arm-unknown-linux-gnu |
|
39 |
|
40 ============================================================================== |
|
41 IV. Application porting notes |
|
42 |
|
43 One thing I have noticed is that applications sometimes don't exit |
|
44 correctly. Their icon remains in the taskbar and they tend to |
|
45 relaunch themselves automatically. I believe this problem doesn't |
|
46 occur if you exit your application using the exit() method. However, |
|
47 if you end main() with 'return 0;' or so, this seems to happen. |
|
48 |
|
49 Also note that when running in landscape mode - i.e requesting a |
|
50 window that is HEIGHT pixels wide and WIDTH pixels high, where WIDTH |
|
51 and HEIGHT normally is 240 and 320 - the image is blitted so that |
|
52 the hardware buttons are on the left side of the display. This might |
|
53 not always be desirable but such is the code today. |
|
54 |
|
55 |
|
56 ============================================================================== |
|
57 V. Enjoy! :) |
|
58 |
|
59 If you have a project you'd like me to know about, or want to ask questions, |
|
60 go ahead and join the SDL developer's mailing list by sending e-mail to: |
|
61 |
|
62 sdl-request@libsdl.org |
|
63 |
|
64 and put "subscribe" into the subject of the message. Or alternatively you |
|
65 can use the web interface: |
|
66 |
|
67 http://www.libsdl.org/mailman/listinfo/sdl |
|
68 |
|
69 ============================================================================== |
|
70 VI. What is supported: |
|
71 |
|
72 Keyboard (Sharp Zaurus) |
|
73 Hardware buttons |
|
74 Stylus input (mouse) |
|
75 Video. Allows fullscreen both in portrait mode (up to WIDTHxHEIGHT |
|
76 size window) and in landscape mode (up to HEIGHTxWIDTH). |
|
77 |
|
78 All other SDL functionality works like a normal Linux system (threads, |
|
79 audio etc). |
|
80 |
|
81 -- |
|
82 David Hedbor <david@hedbor.org> |
|
83 http://david.hedbor.org/ http://eongames.com/ |
|
84 |