mirror of
https://github.com/SFML/SFML.git
synced 2024-11-25 04:41:05 +08:00
window, opengl and pong examples now work on iOS
This commit is contained in:
parent
82c2f4c05e
commit
1272b704d6
@ -22,11 +22,13 @@ endif()
|
|||||||
|
|
||||||
if(SFML_BUILD_GRAPHICS)
|
if(SFML_BUILD_GRAPHICS)
|
||||||
add_subdirectory(opengl)
|
add_subdirectory(opengl)
|
||||||
|
|
||||||
if (NOT SFML_OS_IOS)
|
if (NOT SFML_OS_IOS)
|
||||||
add_subdirectory(joystick)
|
add_subdirectory(joystick)
|
||||||
add_subdirectory(shader)
|
add_subdirectory(shader)
|
||||||
|
add_subdirectory(island)
|
||||||
endif()
|
endif()
|
||||||
add_subdirectory(island)
|
|
||||||
if(SFML_OS_WINDOWS)
|
if(SFML_OS_WINDOWS)
|
||||||
add_subdirectory(win32)
|
add_subdirectory(win32)
|
||||||
elseif(SFML_OS_LINUX OR SFML_OS_FREEBSD)
|
elseif(SFML_OS_LINUX OR SFML_OS_FREEBSD)
|
||||||
|
@ -7,5 +7,5 @@ set(SRC ${SRCROOT}/Island.cpp)
|
|||||||
# define the island target
|
# define the island target
|
||||||
sfml_add_example(island GUI_APP
|
sfml_add_example(island GUI_APP
|
||||||
SOURCES ${SRC}
|
SOURCES ${SRC}
|
||||||
DEPENDS sfml-graphics sfml-window sfml-system
|
DEPENDS sfml-graphics
|
||||||
RESOURCES_DIR resources)
|
RESOURCES_DIR resources)
|
@ -7,5 +7,5 @@ set(SRC ${SRCROOT}/Joystick.cpp)
|
|||||||
# define the joystick target
|
# define the joystick target
|
||||||
sfml_add_example(joystick GUI_APP
|
sfml_add_example(joystick GUI_APP
|
||||||
SOURCES ${SRC}
|
SOURCES ${SRC}
|
||||||
DEPENDS sfml-graphics sfml-window sfml-system
|
DEPENDS sfml-graphics
|
||||||
RESOURCES_DIR resources)
|
RESOURCES_DIR resources)
|
||||||
|
@ -4,8 +4,17 @@ set(SRCROOT ${PROJECT_SOURCE_DIR}/examples/opengl)
|
|||||||
# all source files
|
# all source files
|
||||||
set(SRC ${SRCROOT}/OpenGL.cpp)
|
set(SRC ${SRCROOT}/OpenGL.cpp)
|
||||||
|
|
||||||
|
if (SFML_OS_IOS)
|
||||||
|
set(RESOURCES
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/resources/background.jpg
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/resources/texture.jpg
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/resources/sansation.ttf)
|
||||||
|
set_source_files_properties(${RESOURCES} PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
|
||||||
|
endif()
|
||||||
|
|
||||||
# define the opengl target
|
# define the opengl target
|
||||||
sfml_add_example(opengl GUI_APP
|
sfml_add_example(opengl GUI_APP
|
||||||
SOURCES ${SRC}
|
SOURCES ${SRC}
|
||||||
|
BUNDLE_RESOURCES ${RESOURCES}
|
||||||
DEPENDS sfml-graphics OpenGL
|
DEPENDS sfml-graphics OpenGL
|
||||||
RESOURCES_DIR resources)
|
RESOURCES_DIR resources)
|
||||||
|
@ -18,6 +18,14 @@
|
|||||||
#define GL_SRGB8_ALPHA8 0x8C43
|
#define GL_SRGB8_ALPHA8 0x8C43
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
std::string resourcesDir()
|
||||||
|
{
|
||||||
|
#ifdef SFML_SYSTEM_IOS
|
||||||
|
return "";
|
||||||
|
#else
|
||||||
|
return "resources/";
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// Entry point of application
|
/// Entry point of application
|
||||||
@ -44,13 +52,13 @@ int main()
|
|||||||
// Create a sprite for the background
|
// Create a sprite for the background
|
||||||
sf::Texture backgroundTexture;
|
sf::Texture backgroundTexture;
|
||||||
backgroundTexture.setSrgb(sRgb);
|
backgroundTexture.setSrgb(sRgb);
|
||||||
if (!backgroundTexture.loadFromFile("resources/background.jpg"))
|
if (!backgroundTexture.loadFromFile(resourcesDir() + "background.jpg"))
|
||||||
return EXIT_FAILURE;
|
return EXIT_FAILURE;
|
||||||
sf::Sprite background(backgroundTexture);
|
sf::Sprite background(backgroundTexture);
|
||||||
|
|
||||||
// Create some text to draw on top of our OpenGL object
|
// Create some text to draw on top of our OpenGL object
|
||||||
sf::Font font;
|
sf::Font font;
|
||||||
if (!font.loadFromFile("resources/sansation.ttf"))
|
if (!font.loadFromFile(resourcesDir() + "sansation.ttf"))
|
||||||
return EXIT_FAILURE;
|
return EXIT_FAILURE;
|
||||||
sf::Text text("SFML / OpenGL demo", font);
|
sf::Text text("SFML / OpenGL demo", font);
|
||||||
sf::Text sRgbInstructions("Press space to toggle sRGB conversion", font);
|
sf::Text sRgbInstructions("Press space to toggle sRGB conversion", font);
|
||||||
@ -64,7 +72,7 @@ int main()
|
|||||||
|
|
||||||
// Load a texture to apply to our 3D cube
|
// Load a texture to apply to our 3D cube
|
||||||
sf::Texture texture;
|
sf::Texture texture;
|
||||||
if (!texture.loadFromFile("resources/texture.jpg"))
|
if (!texture.loadFromFile(resourcesDir() + "texture.jpg"))
|
||||||
return EXIT_FAILURE;
|
return EXIT_FAILURE;
|
||||||
|
|
||||||
// Attempt to generate a mipmap for our cube texture
|
// Attempt to generate a mipmap for our cube texture
|
||||||
@ -189,7 +197,7 @@ int main()
|
|||||||
if (mipmapEnabled)
|
if (mipmapEnabled)
|
||||||
{
|
{
|
||||||
// We simply reload the texture to disable mipmapping
|
// We simply reload the texture to disable mipmapping
|
||||||
if (!texture.loadFromFile("resources/texture.jpg"))
|
if (!texture.loadFromFile(resourcesDir() + "texture.jpg"))
|
||||||
return EXIT_FAILURE;
|
return EXIT_FAILURE;
|
||||||
|
|
||||||
mipmapEnabled = false;
|
mipmapEnabled = false;
|
||||||
|
@ -3,9 +3,16 @@ set(SRCROOT ${PROJECT_SOURCE_DIR}/examples/pong)
|
|||||||
|
|
||||||
# all source files
|
# all source files
|
||||||
set(SRC ${SRCROOT}/Pong.cpp)
|
set(SRC ${SRCROOT}/Pong.cpp)
|
||||||
|
if (SFML_OS_IOS)
|
||||||
|
set(RESOURCES
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/resources/ball.wav
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/resources/sansation.ttf)
|
||||||
|
set_source_files_properties(${RESOURCES} PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
|
||||||
|
endif()
|
||||||
|
|
||||||
# define the pong target
|
# define the pong target
|
||||||
sfml_add_example(pong GUI_APP
|
sfml_add_example(pong GUI_APP
|
||||||
SOURCES ${SRC}
|
SOURCES ${SRC}
|
||||||
|
BUNDLE_RESOURCES ${RESOURCES}
|
||||||
DEPENDS sfml-audio sfml-graphics
|
DEPENDS sfml-audio sfml-graphics
|
||||||
RESOURCES_DIR resources)
|
RESOURCES_DIR resources)
|
||||||
|
@ -8,6 +8,18 @@
|
|||||||
#include <ctime>
|
#include <ctime>
|
||||||
#include <cstdlib>
|
#include <cstdlib>
|
||||||
|
|
||||||
|
#ifdef SFML_SYSTEM_IOS
|
||||||
|
#include <SFML/Main.hpp>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
std::string resourcesDir()
|
||||||
|
{
|
||||||
|
#ifdef SFML_SYSTEM_IOS
|
||||||
|
return "";
|
||||||
|
#else
|
||||||
|
return "resources/";
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// Entry point of application
|
/// Entry point of application
|
||||||
@ -33,7 +45,7 @@ int main()
|
|||||||
|
|
||||||
// Load the sounds used in the game
|
// Load the sounds used in the game
|
||||||
sf::SoundBuffer ballSoundBuffer;
|
sf::SoundBuffer ballSoundBuffer;
|
||||||
if (!ballSoundBuffer.loadFromFile("resources/ball.wav"))
|
if (!ballSoundBuffer.loadFromFile(resourcesDir() + "ball.wav"))
|
||||||
return EXIT_FAILURE;
|
return EXIT_FAILURE;
|
||||||
sf::Sound ballSound(ballSoundBuffer);
|
sf::Sound ballSound(ballSoundBuffer);
|
||||||
|
|
||||||
@ -63,7 +75,7 @@ int main()
|
|||||||
|
|
||||||
// Load the text font
|
// Load the text font
|
||||||
sf::Font font;
|
sf::Font font;
|
||||||
if (!font.loadFromFile("resources/sansation.ttf"))
|
if (!font.loadFromFile(resourcesDir() + "sansation.ttf"))
|
||||||
return EXIT_FAILURE;
|
return EXIT_FAILURE;
|
||||||
|
|
||||||
// Initialize the pause message
|
// Initialize the pause message
|
||||||
|
Loading…
Reference in New Issue
Block a user