Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
libSDL
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
PocketInsanity
libSDL
Commits
ccdb593a
Commit
ccdb593a
authored
Feb 06, 2011
by
Sam Lantinga
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Updated the iPhone demos for the new API
parent
a83bca04
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
58 additions
and
84 deletions
+58
-84
project.pbxproj
Xcode-iPhoneOS/Demos/DemosiPhoneOS.xcodeproj/project.pbxproj
+2
-2
accelerometer.c
Xcode-iPhoneOS/Demos/src/accelerometer.c
+11
-26
fireworks.c
Xcode-iPhoneOS/Demos/src/fireworks.c
+1
-3
happy.c
Xcode-iPhoneOS/Demos/src/happy.c
+13
-25
mixer.c
Xcode-iPhoneOS/Demos/src/mixer.c
+9
-9
rectangles.c
Xcode-iPhoneOS/Demos/src/rectangles.c
+10
-8
touch.c
Xcode-iPhoneOS/Demos/src/touch.c
+12
-11
No files found.
Xcode-iPhoneOS/Demos/DemosiPhoneOS.xcodeproj/project.pbxproj
View file @
ccdb593a
...
@@ -748,7 +748,7 @@
...
@@ -748,7 +748,7 @@
GCC_WARN_ABOUT_RETURN_TYPE
=
YES
;
GCC_WARN_ABOUT_RETURN_TYPE
=
YES
;
GCC_WARN_UNUSED_VARIABLE
=
YES
;
GCC_WARN_UNUSED_VARIABLE
=
YES
;
HEADER_SEARCH_PATHS
=
../../include
;
HEADER_SEARCH_PATHS
=
../../include
;
LIBRARY_SEARCH_PATHS
=
"
\"$(SRCROOT)/../SDLiPod/build/Release-iphoneos\"
"
;
LIBRARY_SEARCH_PATHS
=
""
;
ONLY_ACTIVE_ARCH
=
YES
;
ONLY_ACTIVE_ARCH
=
YES
;
OTHER_CFLAGS
=
""
;
OTHER_CFLAGS
=
""
;
PREBINDING
=
NO
;
PREBINDING
=
NO
;
...
@@ -767,7 +767,7 @@
...
@@ -767,7 +767,7 @@
GCC_WARN_ABOUT_RETURN_TYPE
=
YES
;
GCC_WARN_ABOUT_RETURN_TYPE
=
YES
;
GCC_WARN_UNUSED_VARIABLE
=
YES
;
GCC_WARN_UNUSED_VARIABLE
=
YES
;
HEADER_SEARCH_PATHS
=
../../include
;
HEADER_SEARCH_PATHS
=
../../include
;
LIBRARY_SEARCH_PATHS
=
"
\"$(SRCROOT)/../SDLiPod/build/Release-iphoneos\"
"
;
LIBRARY_SEARCH_PATHS
=
""
;
OTHER_CFLAGS
=
""
;
OTHER_CFLAGS
=
""
;
PREBINDING
=
NO
;
PREBINDING
=
NO
;
PRELINK_LIBS
=
""
;
PRELINK_LIBS
=
""
;
...
...
Xcode-iPhoneOS/Demos/src/accelerometer.c
View file @
ccdb593a
...
@@ -31,7 +31,7 @@ static SDL_Texture *ship = 0; /* texture for spaceship */
...
@@ -31,7 +31,7 @@ static SDL_Texture *ship = 0; /* texture for spaceship */
static
SDL_Texture
*
space
=
0
;
/* texture for space (background */
static
SDL_Texture
*
space
=
0
;
/* texture for space (background */
void
void
render
(
void
)
render
(
SDL_Renderer
*
renderer
)
{
{
...
@@ -97,28 +97,24 @@ render(void)
...
@@ -97,28 +97,24 @@ render(void)
}
}
/* draw the background */
/* draw the background */
SDL_RenderCopy
(
space
,
NULL
,
NULL
);
SDL_RenderCopy
(
renderer
,
space
,
NULL
,
NULL
);
/* draw the ship */
/* draw the ship */
shipData
.
rect
.
x
=
shipData
.
x
;
shipData
.
rect
.
x
=
shipData
.
x
;
shipData
.
rect
.
y
=
shipData
.
y
;
shipData
.
rect
.
y
=
shipData
.
y
;
SDL_RenderCopy
(
ship
,
NULL
,
&
shipData
.
rect
);
SDL_RenderCopy
(
renderer
,
ship
,
NULL
,
&
shipData
.
rect
);
/* update screen */
/* update screen */
SDL_RenderPresent
();
SDL_RenderPresent
(
renderer
);
}
}
void
void
initializeTextures
()
initializeTextures
(
SDL_Renderer
*
renderer
)
{
{
SDL_Surface
*
bmp_surface
;
SDL_Surface
*
bmp_surface
;
SDL_Surface
*
bmp_surface_rgba
;
int
format
=
SDL_PIXELFORMAT_ABGR8888
;
/* desired texture format */
Uint32
Rmask
,
Gmask
,
Bmask
,
Amask
;
/* masks for desired format */
int
bpp
;
/* bits per pixel for desired format */
/* load the ship */
/* load the ship */
bmp_surface
=
SDL_LoadBMP
(
"ship.bmp"
);
bmp_surface
=
SDL_LoadBMP
(
"ship.bmp"
);
...
@@ -128,20 +124,9 @@ initializeTextures()
...
@@ -128,20 +124,9 @@ initializeTextures()
/* set blue to transparent on the ship */
/* set blue to transparent on the ship */
SDL_SetColorKey
(
bmp_surface
,
1
,
SDL_SetColorKey
(
bmp_surface
,
1
,
SDL_MapRGB
(
bmp_surface
->
format
,
0
,
0
,
255
));
SDL_MapRGB
(
bmp_surface
->
format
,
0
,
0
,
255
));
SDL_PixelFormatEnumToMasks
(
format
,
&
bpp
,
&
Rmask
,
&
Gmask
,
&
Bmask
,
&
Amask
);
/*
create a new RGBA surface and blit the bmp to it
this is an extra step, but it seems to be necessary for the color key to work
does the fact that this is necessary indicate a bug in SDL?
*/
bmp_surface_rgba
=
SDL_CreateRGBSurface
(
0
,
bmp_surface
->
w
,
bmp_surface
->
h
,
bpp
,
Rmask
,
Gmask
,
Bmask
,
Amask
);
SDL_BlitSurface
(
bmp_surface
,
NULL
,
bmp_surface_rgba
,
NULL
);
/* create ship texture from surface */
/* create ship texture from surface */
ship
=
SDL_CreateTextureFromSurface
(
format
,
bmp_surface_rgba
);
ship
=
SDL_CreateTextureFromSurface
(
renderer
,
bmp_surface
);
if
(
ship
==
0
)
{
if
(
ship
==
0
)
{
fatalError
(
"could not create ship texture"
);
fatalError
(
"could not create ship texture"
);
}
}
...
@@ -151,7 +136,6 @@ initializeTextures()
...
@@ -151,7 +136,6 @@ initializeTextures()
shipData
.
rect
.
w
=
bmp_surface
->
w
;
shipData
.
rect
.
w
=
bmp_surface
->
w
;
shipData
.
rect
.
h
=
bmp_surface
->
h
;
shipData
.
rect
.
h
=
bmp_surface
->
h
;
SDL_FreeSurface
(
bmp_surface_rgba
);
SDL_FreeSurface
(
bmp_surface
);
SDL_FreeSurface
(
bmp_surface
);
/* load the space background */
/* load the space background */
...
@@ -160,7 +144,7 @@ initializeTextures()
...
@@ -160,7 +144,7 @@ initializeTextures()
fatalError
(
"could not load space.bmp"
);
fatalError
(
"could not load space.bmp"
);
}
}
/* create space texture from surface */
/* create space texture from surface */
space
=
SDL_CreateTextureFromSurface
(
format
,
bmp_surface
);
space
=
SDL_CreateTextureFromSurface
(
renderer
,
bmp_surface
);
if
(
space
==
0
)
{
if
(
space
==
0
)
{
fatalError
(
"could not create space texture"
);
fatalError
(
"could not create space texture"
);
}
}
...
@@ -175,6 +159,7 @@ main(int argc, char *argv[])
...
@@ -175,6 +159,7 @@ main(int argc, char *argv[])
{
{
SDL_Window
*
window
;
/* main window */
SDL_Window
*
window
;
/* main window */
SDL_Renderer
*
renderer
;
Uint32
startFrame
;
/* time frame began to process */
Uint32
startFrame
;
/* time frame began to process */
Uint32
endFrame
;
/* time frame ended processing */
Uint32
endFrame
;
/* time frame ended processing */
Uint32
delay
;
/* time to pause waiting to draw next frame */
Uint32
delay
;
/* time to pause waiting to draw next frame */
...
@@ -189,7 +174,7 @@ main(int argc, char *argv[])
...
@@ -189,7 +174,7 @@ main(int argc, char *argv[])
window
=
SDL_CreateWindow
(
NULL
,
0
,
0
,
SCREEN_WIDTH
,
SCREEN_HEIGHT
,
window
=
SDL_CreateWindow
(
NULL
,
0
,
0
,
SCREEN_WIDTH
,
SCREEN_HEIGHT
,
SDL_WINDOW_OPENGL
|
SDL_WINDOW_SHOWN
|
SDL_WINDOW_OPENGL
|
SDL_WINDOW_SHOWN
|
SDL_WINDOW_BORDERLESS
);
SDL_WINDOW_BORDERLESS
);
SDL_CreateRenderer
(
window
,
0
,
0
);
renderer
=
SDL_CreateRenderer
(
window
,
0
,
0
);
/* print out some info about joysticks and try to open accelerometer for use */
/* print out some info about joysticks and try to open accelerometer for use */
printf
(
"There are %d joysticks available
\n
"
,
SDL_NumJoysticks
());
printf
(
"There are %d joysticks available
\n
"
,
SDL_NumJoysticks
());
...
@@ -208,7 +193,7 @@ main(int argc, char *argv[])
...
@@ -208,7 +193,7 @@ main(int argc, char *argv[])
SDL_JoystickNumButtons
(
accelerometer
));
SDL_JoystickNumButtons
(
accelerometer
));
/* load graphics */
/* load graphics */
initializeTextures
();
initializeTextures
(
renderer
);
/* setup ship */
/* setup ship */
shipData
.
x
=
(
SCREEN_WIDTH
-
shipData
.
rect
.
w
)
/
2
;
shipData
.
x
=
(
SCREEN_WIDTH
-
shipData
.
rect
.
w
)
/
2
;
...
@@ -226,7 +211,7 @@ main(int argc, char *argv[])
...
@@ -226,7 +211,7 @@ main(int argc, char *argv[])
done
=
1
;
done
=
1
;
}
}
}
}
render
();
render
(
renderer
);
endFrame
=
SDL_GetTicks
();
endFrame
=
SDL_GetTicks
();
/* figure out how much time we have left, and then sleep */
/* figure out how much time we have left, and then sleep */
...
...
Xcode-iPhoneOS/Demos/src/fireworks.c
View file @
ccdb593a
...
@@ -173,9 +173,6 @@ drawParticles()
...
@@ -173,9 +173,6 @@ drawParticles()
/* draw our particles! */
/* draw our particles! */
glDrawArrays
(
GL_POINTS
,
0
,
num_active_particles
);
glDrawArrays
(
GL_POINTS
,
0
,
num_active_particles
);
/* update screen */
SDL_RenderPresent
();
}
}
/*
/*
...
@@ -437,6 +434,7 @@ main(int argc, char *argv[])
...
@@ -437,6 +434,7 @@ main(int argc, char *argv[])
}
}
stepParticles
();
stepParticles
();
drawParticles
();
drawParticles
();
SDL_GL_SwapWindow
(
window
);
endFrame
=
SDL_GetTicks
();
endFrame
=
SDL_GetTicks
();
/* figure out how much time we have left, and then sleep */
/* figure out how much time we have left, and then sleep */
...
...
Xcode-iPhoneOS/Demos/src/happy.c
View file @
ccdb593a
...
@@ -36,7 +36,7 @@ initializeHappyFaces()
...
@@ -36,7 +36,7 @@ initializeHappyFaces()
}
}
void
void
render
(
void
)
render
(
SDL_Renderer
*
renderer
)
{
{
int
i
;
int
i
;
...
@@ -58,8 +58,8 @@ render(void)
...
@@ -58,8 +58,8 @@ render(void)
dstRect
.
h
=
HAPPY_FACE_SIZE
;
dstRect
.
h
=
HAPPY_FACE_SIZE
;
/* fill background in with black */
/* fill background in with black */
SDL_SetRenderDrawColor
(
0
,
0
,
0
,
255
);
SDL_SetRenderDrawColor
(
renderer
,
0
,
0
,
0
,
255
);
SDL_Render
Fill
(
NULL
);
SDL_Render
Clear
(
renderer
);
/*
/*
loop through all the happy faces:
loop through all the happy faces:
...
@@ -86,10 +86,10 @@ render(void)
...
@@ -86,10 +86,10 @@ render(void)
}
}
dstRect
.
x
=
faces
[
i
].
x
;
dstRect
.
x
=
faces
[
i
].
x
;
dstRect
.
y
=
faces
[
i
].
y
;
dstRect
.
y
=
faces
[
i
].
y
;
SDL_RenderCopy
(
texture
,
&
srcRect
,
&
dstRect
);
SDL_RenderCopy
(
renderer
,
texture
,
&
srcRect
,
&
dstRect
);
}
}
/* update screen */
/* update screen */
SDL_RenderPresent
();
SDL_RenderPresent
(
renderer
);
}
}
...
@@ -97,13 +97,9 @@ render(void)
...
@@ -97,13 +97,9 @@ render(void)
loads the happyface graphic into a texture
loads the happyface graphic into a texture
*/
*/
void
void
initializeTexture
()
initializeTexture
(
SDL_Renderer
*
renderer
)
{
{
SDL_Surface
*
bmp_surface
;
SDL_Surface
*
bmp_surface
;
SDL_Surface
*
bmp_surface_rgba
;
int
format
=
SDL_PIXELFORMAT_ABGR8888
;
/* desired texture format */
Uint32
Rmask
,
Gmask
,
Bmask
,
Amask
;
/* masks for desired format */
int
bpp
;
/* bits per pixel for desired format */
/* load the bmp */
/* load the bmp */
bmp_surface
=
SDL_LoadBMP
(
"icon.bmp"
);
bmp_surface
=
SDL_LoadBMP
(
"icon.bmp"
);
if
(
bmp_surface
==
NULL
)
{
if
(
bmp_surface
==
NULL
)
{
...
@@ -112,26 +108,15 @@ initializeTexture()
...
@@ -112,26 +108,15 @@ initializeTexture()
/* set white to transparent on the happyface */
/* set white to transparent on the happyface */
SDL_SetColorKey
(
bmp_surface
,
1
,
SDL_SetColorKey
(
bmp_surface
,
1
,
SDL_MapRGB
(
bmp_surface
->
format
,
255
,
255
,
255
));
SDL_MapRGB
(
bmp_surface
->
format
,
255
,
255
,
255
));
SDL_PixelFormatEnumToMasks
(
format
,
&
bpp
,
&
Rmask
,
&
Gmask
,
&
Bmask
,
&
Amask
);
/*
create a new RGBA surface and blit the bmp to it
this is an extra step, but it seems to be necessary
is this a bug?
*/
bmp_surface_rgba
=
SDL_CreateRGBSurface
(
0
,
bmp_surface
->
w
,
bmp_surface
->
h
,
bpp
,
Rmask
,
Gmask
,
Bmask
,
Amask
);
SDL_BlitSurface
(
bmp_surface
,
NULL
,
bmp_surface_rgba
,
NULL
);
/* convert RGBA surface to texture */
/* convert RGBA surface to texture */
texture
=
SDL_CreateTextureFromSurface
(
format
,
bmp_surface_rgba
);
texture
=
SDL_CreateTextureFromSurface
(
renderer
,
bmp_surface
);
if
(
texture
==
0
)
{
if
(
texture
==
0
)
{
fatalError
(
"could not create texture"
);
fatalError
(
"could not create texture"
);
}
}
SDL_SetTextureBlendMode
(
texture
,
SDL_BLENDMODE_BLEND
);
SDL_SetTextureBlendMode
(
texture
,
SDL_BLENDMODE_BLEND
);
/* free up allocated memory */
/* free up allocated memory */
SDL_FreeSurface
(
bmp_surface_rgba
);
SDL_FreeSurface
(
bmp_surface
);
SDL_FreeSurface
(
bmp_surface
);
}
}
...
@@ -140,6 +125,7 @@ main(int argc, char *argv[])
...
@@ -140,6 +125,7 @@ main(int argc, char *argv[])
{
{
SDL_Window
*
window
;
SDL_Window
*
window
;
SDL_Renderer
*
renderer
;
Uint32
startFrame
;
Uint32
startFrame
;
Uint32
endFrame
;
Uint32
endFrame
;
Uint32
delay
;
Uint32
delay
;
...
@@ -153,9 +139,11 @@ main(int argc, char *argv[])
...
@@ -153,9 +139,11 @@ main(int argc, char *argv[])
SDL_WINDOW_OPENGL
|
SDL_WINDOW_SHOWN
|
SDL_WINDOW_OPENGL
|
SDL_WINDOW_SHOWN
|
SDL_WINDOW_BORDERLESS
);
SDL_WINDOW_BORDERLESS
);
SDL_CreateRenderer
(
window
,
-
1
,
0
);
//SDL_SetHint(SDL_HINT_RENDER_DRIVER, "opengles2");
renderer
=
SDL_CreateRenderer
(
window
,
-
1
,
0
);
initializeTexture
();
initializeTexture
(
renderer
);
initializeHappyFaces
();
initializeHappyFaces
();
/* main loop */
/* main loop */
...
@@ -168,7 +156,7 @@ main(int argc, char *argv[])
...
@@ -168,7 +156,7 @@ main(int argc, char *argv[])
done
=
1
;
done
=
1
;
}
}
}
}
render
();
render
(
renderer
);
endFrame
=
SDL_GetTicks
();
endFrame
=
SDL_GetTicks
();
/* figure out how much time we have left, and then sleep */
/* figure out how much time we have left, and then sleep */
...
...
Xcode-iPhoneOS/Demos/src/mixer.c
View file @
ccdb593a
...
@@ -33,7 +33,6 @@ static struct sound drums[NUM_DRUMS];
...
@@ -33,7 +33,6 @@ static struct sound drums[NUM_DRUMS];
void
handleMouseButtonDown
(
SDL_Event
*
event
);
void
handleMouseButtonDown
(
SDL_Event
*
event
);
void
handleMouseButtonUp
(
SDL_Event
*
event
);
void
handleMouseButtonUp
(
SDL_Event
*
event
);
int
playSound
(
struct
sound
*
);
int
playSound
(
struct
sound
*
);
void
render
(
void
);
void
initializeButtons
();
void
initializeButtons
();
void
audioCallback
(
void
*
userdata
,
Uint8
*
stream
,
int
len
);
void
audioCallback
(
void
*
userdata
,
Uint8
*
stream
,
int
len
);
void
loadSound
(
const
char
*
file
,
struct
sound
*
s
);
void
loadSound
(
const
char
*
file
,
struct
sound
*
s
);
...
@@ -163,20 +162,20 @@ handleMouseButtonUp(SDL_Event * event)
...
@@ -163,20 +162,20 @@ handleMouseButtonUp(SDL_Event * event)
/* draws buttons to screen */
/* draws buttons to screen */
void
void
render
(
void
)
render
(
SDL_Renderer
*
renderer
)
{
{
int
i
;
int
i
;
SDL_SetRenderDrawColor
(
50
,
50
,
50
,
255
);
SDL_SetRenderDrawColor
(
renderer
,
50
,
50
,
50
,
255
);
SDL_Render
Fill
(
NULL
);
/* draw background (gray) */
SDL_Render
Clear
(
renderer
);
/* draw background (gray) */
/* draw the drum buttons */
/* draw the drum buttons */
for
(
i
=
0
;
i
<
NUM_DRUMS
;
i
++
)
{
for
(
i
=
0
;
i
<
NUM_DRUMS
;
i
++
)
{
SDL_Color
color
=
SDL_Color
color
=
buttons
[
i
].
isPressed
?
buttons
[
i
].
downColor
:
buttons
[
i
].
upColor
;
buttons
[
i
].
isPressed
?
buttons
[
i
].
downColor
:
buttons
[
i
].
upColor
;
SDL_SetRenderDrawColor
(
color
.
r
,
color
.
g
,
color
.
b
,
color
.
unused
);
SDL_SetRenderDrawColor
(
renderer
,
color
.
r
,
color
.
g
,
color
.
b
,
color
.
unused
);
SDL_RenderFill
(
&
buttons
[
i
].
rect
);
SDL_RenderFill
Rect
(
renderer
,
&
buttons
[
i
].
rect
);
}
}
/* update the screen */
/* update the screen */
SDL_RenderPresent
();
SDL_RenderPresent
(
renderer
);
}
}
/*
/*
...
@@ -274,6 +273,7 @@ main(int argc, char *argv[])
...
@@ -274,6 +273,7 @@ main(int argc, char *argv[])
int
done
;
/* has user tried to quit ? */
int
done
;
/* has user tried to quit ? */
SDL_Window
*
window
;
/* main window */
SDL_Window
*
window
;
/* main window */
SDL_Renderer
*
renderer
;
SDL_Event
event
;
SDL_Event
event
;
Uint32
startFrame
;
/* holds when frame started processing */
Uint32
startFrame
;
/* holds when frame started processing */
Uint32
endFrame
;
/* holds when frame ended processing */
Uint32
endFrame
;
/* holds when frame ended processing */
...
@@ -285,7 +285,7 @@ main(int argc, char *argv[])
...
@@ -285,7 +285,7 @@ main(int argc, char *argv[])
window
=
window
=
SDL_CreateWindow
(
NULL
,
0
,
0
,
SCREEN_WIDTH
,
SCREEN_HEIGHT
,
SDL_CreateWindow
(
NULL
,
0
,
0
,
SCREEN_WIDTH
,
SCREEN_HEIGHT
,
SDL_WINDOW_OPENGL
|
SDL_WINDOW_BORDERLESS
);
SDL_WINDOW_OPENGL
|
SDL_WINDOW_BORDERLESS
);
SDL_CreateRenderer
(
window
,
0
,
0
);
renderer
=
SDL_CreateRenderer
(
window
,
0
,
0
);
/* initialize the mixer */
/* initialize the mixer */
SDL_memset
(
&
mixer
,
0
,
sizeof
(
mixer
));
SDL_memset
(
&
mixer
,
0
,
sizeof
(
mixer
));
...
@@ -328,7 +328,7 @@ main(int argc, char *argv[])
...
@@ -328,7 +328,7 @@ main(int argc, char *argv[])
break
;
break
;
}
}
}
}
render
();
/* draw buttons */
render
(
renderer
);
/* draw buttons */
endFrame
=
SDL_GetTicks
();
endFrame
=
SDL_GetTicks
();
/* figure out how much time we have left, and then sleep */
/* figure out how much time we have left, and then sleep */
...
...
Xcode-iPhoneOS/Demos/src/rectangles.c
View file @
ccdb593a
...
@@ -9,7 +9,7 @@
...
@@ -9,7 +9,7 @@
#include "common.h"
#include "common.h"
void
void
render
(
void
)
render
(
SDL_Renderer
*
renderer
)
{
{
Uint8
r
,
g
,
b
;
Uint8
r
,
g
,
b
;
...
@@ -26,11 +26,11 @@ render(void)
...
@@ -26,11 +26,11 @@ render(void)
b
=
randomInt
(
50
,
255
);
b
=
randomInt
(
50
,
255
);
/* Fill the rectangle in the color */
/* Fill the rectangle in the color */
SDL_SetRenderDrawColor
(
r
,
g
,
b
,
255
);
SDL_SetRenderDrawColor
(
r
enderer
,
r
,
g
,
b
,
255
);
SDL_RenderFill
(
&
rect
);
SDL_RenderFill
Rect
(
renderer
,
&
rect
);
/* update screen */
/* update screen */
SDL_RenderPresent
();
SDL_RenderPresent
(
renderer
);
}
}
...
@@ -39,6 +39,7 @@ main(int argc, char *argv[])
...
@@ -39,6 +39,7 @@ main(int argc, char *argv[])
{
{
SDL_Window
*
window
;
SDL_Window
*
window
;
SDL_Renderer
*
renderer
;
int
done
;
int
done
;
SDL_Event
event
;
SDL_Event
event
;
...
@@ -57,13 +58,14 @@ main(int argc, char *argv[])
...
@@ -57,13 +58,14 @@ main(int argc, char *argv[])
if
(
window
==
0
)
{
if
(
window
==
0
)
{
fatalError
(
"Could not initialize Window"
);
fatalError
(
"Could not initialize Window"
);
}
}
if
(
SDL_CreateRenderer
(
window
,
-
1
,
0
)
!=
0
)
{
renderer
=
SDL_CreateRenderer
(
window
,
-
1
,
0
);
if
(
!
renderer
)
{
fatalError
(
"Could not create renderer"
);
fatalError
(
"Could not create renderer"
);
}
}
/* Fill screen with black */
/* Fill screen with black */
SDL_SetRenderDrawColor
(
0
,
0
,
0
,
255
);
SDL_SetRenderDrawColor
(
renderer
,
0
,
0
,
0
,
255
);
SDL_Render
Fill
(
NULL
);
SDL_Render
Clear
(
renderer
);
/* Enter render loop, waiting for user to quit */
/* Enter render loop, waiting for user to quit */
done
=
0
;
done
=
0
;
...
@@ -73,7 +75,7 @@ main(int argc, char *argv[])
...
@@ -73,7 +75,7 @@ main(int argc, char *argv[])
done
=
1
;
done
=
1
;
}
}
}
}
render
();
render
(
renderer
);
SDL_Delay
(
1
);
SDL_Delay
(
1
);
}
}
...
...
Xcode-iPhoneOS/Demos/src/touch.c
View file @
ccdb593a
...
@@ -18,7 +18,7 @@ static SDL_Texture *brush = 0; /* texture for the brush */
...
@@ -18,7 +18,7 @@ static SDL_Texture *brush = 0; /* texture for the brush */
this is accomplished by drawing several blots spaced PIXELS_PER_ITERATION apart
this is accomplished by drawing several blots spaced PIXELS_PER_ITERATION apart
*/
*/
void
void
drawLine
(
float
startx
,
float
starty
,
float
dx
,
float
dy
)
drawLine
(
SDL_Renderer
*
renderer
,
float
startx
,
float
starty
,
float
dx
,
float
dy
)
{
{
float
distance
=
sqrt
(
dx
*
dx
+
dy
*
dy
);
/* length of line segment (pythagoras) */
float
distance
=
sqrt
(
dx
*
dx
+
dy
*
dy
);
/* length of line segment (pythagoras) */
...
@@ -43,7 +43,7 @@ drawLine(float startx, float starty, float dx, float dy)
...
@@ -43,7 +43,7 @@ drawLine(float startx, float starty, float dx, float dy)
x
+=
dx_prime
;
x
+=
dx_prime
;
y
+=
dy_prime
;
y
+=
dy_prime
;
/* draw brush blot */
/* draw brush blot */
SDL_RenderCopy
(
brush
,
NULL
,
&
dstRect
);
SDL_RenderCopy
(
renderer
,
brush
,
NULL
,
&
dstRect
);
}
}
}
}
...
@@ -51,7 +51,7 @@ drawLine(float startx, float starty, float dx, float dy)
...
@@ -51,7 +51,7 @@ drawLine(float startx, float starty, float dx, float dy)
loads the brush texture
loads the brush texture
*/
*/
void
void
initializeTexture
()
initializeTexture
(
SDL_Renderer
*
renderer
)
{
{
SDL_Surface
*
bmp_surface
;
SDL_Surface
*
bmp_surface
;
bmp_surface
=
SDL_LoadBMP
(
"stroke.bmp"
);
bmp_surface
=
SDL_LoadBMP
(
"stroke.bmp"
);
...
@@ -59,7 +59,7 @@ initializeTexture()
...
@@ -59,7 +59,7 @@ initializeTexture()
fatalError
(
"could not load stroke.bmp"
);
fatalError
(
"could not load stroke.bmp"
);
}
}
brush
=
brush
=
SDL_CreateTextureFromSurface
(
SDL_PIXELFORMAT_ABGR8888
,
bmp_surface
);
SDL_CreateTextureFromSurface
(
renderer
,
bmp_surface
);
SDL_FreeSurface
(
bmp_surface
);
SDL_FreeSurface
(
bmp_surface
);
if
(
brush
==
0
)
{
if
(
brush
==
0
)
{
fatalError
(
"could not create brush texture"
);
fatalError
(
"could not create brush texture"
);
...
@@ -78,6 +78,7 @@ main(int argc, char *argv[])
...
@@ -78,6 +78,7 @@ main(int argc, char *argv[])
Uint8
state
;
/* mouse (touch) state */
Uint8
state
;
/* mouse (touch) state */
SDL_Event
event
;
SDL_Event
event
;
SDL_Window
*
window
;
/* main window */
SDL_Window
*
window
;
/* main window */
SDL_Renderer
*
renderer
;
int
done
;
/* does user want to quit? */
int
done
;
/* does user want to quit? */
/* initialize SDL */
/* initialize SDL */
...
@@ -89,15 +90,15 @@ main(int argc, char *argv[])
...
@@ -89,15 +90,15 @@ main(int argc, char *argv[])
window
=
SDL_CreateWindow
(
NULL
,
0
,
0
,
SCREEN_WIDTH
,
SCREEN_HEIGHT
,
window
=
SDL_CreateWindow
(
NULL
,
0
,
0
,
SCREEN_WIDTH
,
SCREEN_HEIGHT
,
SDL_WINDOW_OPENGL
|
SDL_WINDOW_SHOWN
|
SDL_WINDOW_OPENGL
|
SDL_WINDOW_SHOWN
|
SDL_WINDOW_BORDERLESS
);
SDL_WINDOW_BORDERLESS
);
SDL_CreateRenderer
(
window
,
0
,
0
);
renderer
=
SDL_CreateRenderer
(
window
,
0
,
0
);
/*load brush texture */
/*load brush texture */
initializeTexture
();
initializeTexture
(
renderer
);
/* fill canvass initially with all black */
/* fill canvass initially with all black */
SDL_SetRenderDrawColor
(
0
,
0
,
0
,
255
);
SDL_SetRenderDrawColor
(
renderer
,
0
,
0
,
0
,
255
);
SDL_Render
Fill
(
NULL
);
SDL_Render
Clear
(
);
SDL_RenderPresent
();
SDL_RenderPresent
(
renderer
);
done
=
0
;
done
=
0
;
while
(
!
done
&&
SDL_WaitEvent
(
&
event
))
{
while
(
!
done
&&
SDL_WaitEvent
(
&
event
))
{
...
@@ -109,8 +110,8 @@ main(int argc, char *argv[])
...
@@ -109,8 +110,8 @@ main(int argc, char *argv[])
state
=
SDL_GetMouseState
(
&
x
,
&
y
);
/* get its location */
state
=
SDL_GetMouseState
(
&
x
,
&
y
);
/* get its location */
SDL_GetRelativeMouseState
(
&
dx
,
&
dy
);
/* find how much the mouse moved */
SDL_GetRelativeMouseState
(
&
dx
,
&
dy
);
/* find how much the mouse moved */
if
(
state
&
SDL_BUTTON_LMASK
)
{
/* is the mouse (touch) down? */
if
(
state
&
SDL_BUTTON_LMASK
)
{
/* is the mouse (touch) down? */
drawLine
(
x
-
dx
,
y
-
dy
,
dx
,
dy
);
/* draw line segment */
drawLine
(
renderer
,
x
-
dx
,
y
-
dy
,
dx
,
dy
);
/* draw line segment */
SDL_RenderPresent
();
SDL_RenderPresent
(
renderer
);
}
}
break
;
break
;
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment