SFML/examples/cocoa
metaquarx 88e9f82bee Add '.clang-format' file, CI integration, and formatting exceptions
Co-authored-by: Vittorio Romeo <vittorio.romeo@outlook.com>
Co-authored-by: Chris Thrasher <chrisjthrasher@gmail.com>
Co-authored-by: kimci86 <kimci86@hotmail.fr>
2022-07-11 20:04:56 +02:00
..
resources Update year to 2022 (master branch) 2022-02-16 13:52:31 +00:00
CMakeLists.txt Simplify how examples are built 2022-06-16 23:56:39 +02:00
CocoaAppDelegate.h Add '.clang-format' file, CI integration, and formatting exceptions 2022-07-11 20:04:56 +02:00
CocoaAppDelegate.mm Update year to 2022 (master branch) 2022-02-16 13:52:31 +00:00
main.m Update year to 2022 (master branch) 2022-02-16 13:52:31 +00:00
MainMenu.xib SFML-Cocoa is now part of the cmake-based examples 2012-01-30 12:23:18 +01:00
NSString+stdstring.h Update year to 2022 (master branch) 2022-02-16 13:52:31 +00:00
NSString+stdstring.mm Update year to 2022 (master branch) 2022-02-16 13:52:31 +00:00
readme.txt Fix whitespace: Convert tabs to spaces and remove trailing whitespace. 2015-04-15 01:53:43 +02:00

SFML IN COCOA APPLICATION
=========================

This is a small example of the integration of SFML in a Cocoa application.

Features
--------

 * This example shows how basic UI elements can interact with SFML
   render areas such as sf::RenderWindow (you can use sf::Window and
   OpenGL code too, of course).
 * It also provides tools for converting NSString to and from
   std::[w]string in an Objective-C Category of NSString.
 * Moreover, it shows how you can prevent annoying the system alerts
   produced when the SFML view has focus and the user press a key
   (see SilentWindow interface in CocoaAppDelegate.[h|mm]).

Special Considerations
----------------------

While mixing SFML into a Cocoa application you have to deal with mixing
C++ and Objective-C. In order to proceed you should use .mm extension for
Objective-C++ files.

Be aware of the limitations of Objective-C++. Please refer to the official
documentation provided by Apple for more information.

You can also work around these limitations by using CSFML.