Added the context version to ContextSettings
git-svn-id: https://sfml.svn.sourceforge.net/svnroot/sfml/branches/sfml2@1261 4e206d99-4929-0410-ac5d-dfc041789085
This commit is contained in:
parent
9db63151e1
commit
8e4c61dd19
15 changed files with 216 additions and 68 deletions
3
CSFML/doc/build/Doxygen.hpp
vendored
3
CSFML/doc/build/Doxygen.hpp
vendored
|
@ -18,7 +18,6 @@
|
|||
///
|
||||
/// int main()
|
||||
/// {
|
||||
/// sfWindowSettings settings = {24, 8, 0};
|
||||
/// sfVideoMode mode = {800, 600, 32};
|
||||
/// sfRenderWindow* window;
|
||||
/// sfImage* image;
|
||||
|
@ -29,7 +28,7 @@
|
|||
/// sfEvent event;
|
||||
///
|
||||
/// /* Create the main window */
|
||||
/// window = sfRenderWindow_Create(mode, "SFML window", sfResize | sfClose, settings);
|
||||
/// window = sfRenderWindow_Create(mode, "SFML window", sfResize | sfClose, NULL);
|
||||
/// if (!window)
|
||||
/// return EXIT_FAILURE;
|
||||
///
|
||||
|
|
|
@ -44,19 +44,19 @@
|
|||
/// \param mode : Video mode to use
|
||||
/// \param title : Title of the window
|
||||
/// \param style : Window style
|
||||
/// \param settings : Creation settings
|
||||
/// \param settings : Creation settings (pass NULL to use default values)
|
||||
///
|
||||
////////////////////////////////////////////////////////////
|
||||
CSFML_API sfRenderWindow* sfRenderWindow_Create(sfVideoMode mode, const char* title, unsigned long style, sfContextSettings settings);
|
||||
CSFML_API sfRenderWindow* sfRenderWindow_Create(sfVideoMode mode, const char* title, unsigned long style, sfContextSettings* settings);
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// Construct a renderwindow from an existing control
|
||||
///
|
||||
/// \param handle : Platform-specific handle of the control
|
||||
/// \param settings : Creation settings
|
||||
/// \param settings : Creation settings (pass NULL to use default values)
|
||||
///
|
||||
////////////////////////////////////////////////////////////
|
||||
CSFML_API sfRenderWindow* sfRenderWindow_CreateFromHandle(sfWindowHandle handle, sfContextSettings settings);
|
||||
CSFML_API sfRenderWindow* sfRenderWindow_CreateFromHandle(sfWindowHandle handle, sfContextSettings* settings);
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// Destroy an existing renderwindow
|
||||
|
|
|
@ -57,6 +57,8 @@ typedef struct
|
|||
unsigned int DepthBits; ///< Bits of the depth buffer
|
||||
unsigned int StencilBits; ///< Bits of the stencil buffer
|
||||
unsigned int AntialiasingLevel; ///< Level of antialiasing
|
||||
unsigned int MajorVersion; ///< Major number of the context version to create
|
||||
unsigned int MinorVersion; ///< Minor number of the context version to create
|
||||
} sfContextSettings;
|
||||
|
||||
|
||||
|
@ -66,19 +68,19 @@ typedef struct
|
|||
/// \param mode : Video mode to use
|
||||
/// \param title : Title of the window
|
||||
/// \param style : Window style
|
||||
/// \param settings : Creation settings
|
||||
/// \param settings : Creation settings (pass NULL to use default values)
|
||||
///
|
||||
////////////////////////////////////////////////////////////
|
||||
CSFML_API sfWindow* sfWindow_Create(sfVideoMode mode, const char* title, unsigned long style, sfContextSettings settings);
|
||||
CSFML_API sfWindow* sfWindow_Create(sfVideoMode mode, const char* title, unsigned long style, sfContextSettings* settings);
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// Construct a window from an existing control
|
||||
///
|
||||
/// \param handle : Platform-specific handle of the control
|
||||
/// \param settings : Creation settings
|
||||
/// \param settings : Creation settings (pass NULL to use default values)
|
||||
///
|
||||
////////////////////////////////////////////////////////////
|
||||
CSFML_API sfWindow* sfWindow_CreateFromHandle(sfWindowHandle handle, sfContextSettings settings);
|
||||
CSFML_API sfWindow* sfWindow_CreateFromHandle(sfWindowHandle handle, sfContextSettings* settings);
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// Destroy an existing window
|
||||
|
|
|
@ -39,15 +39,25 @@
|
|||
////////////////////////////////////////////////////////////
|
||||
/// Construct a new renderwindow
|
||||
////////////////////////////////////////////////////////////
|
||||
sfRenderWindow* sfRenderWindow_Create(sfVideoMode mode, const char* title, unsigned long style, sfContextSettings params)
|
||||
sfRenderWindow* sfRenderWindow_Create(sfVideoMode mode, const char* title, unsigned long style, sfContextSettings* settings)
|
||||
{
|
||||
// Convert video mode
|
||||
sf::VideoMode videoMode(mode.Width, mode.Height, mode.BitsPerPixel);
|
||||
|
||||
// Convert context settings
|
||||
sf::ContextSettings params;
|
||||
if (settings)
|
||||
{
|
||||
params.DepthBits = settings->DepthBits;
|
||||
params.StencilBits = settings->StencilBits;
|
||||
params.AntialiasingLevel = settings->AntialiasingLevel;
|
||||
params.MajorVersion = settings->MajorVersion;
|
||||
params.MinorVersion = settings->MinorVersion;
|
||||
}
|
||||
|
||||
// Create the window
|
||||
sfRenderWindow* renderWindow = new sfRenderWindow;
|
||||
sf::ContextSettings settings(params.DepthBits, params.StencilBits, params.AntialiasingLevel);
|
||||
renderWindow->This.Create(videoMode, title, style, settings);
|
||||
renderWindow->This.Create(videoMode, title, style, params);
|
||||
renderWindow->Input.This = &renderWindow->This.GetInput();
|
||||
renderWindow->DefaultView = new sfView(const_cast<sf::View*>(&renderWindow->This.GetDefaultView()));
|
||||
renderWindow->CurrentView = renderWindow->DefaultView;
|
||||
|
@ -59,11 +69,22 @@ sfRenderWindow* sfRenderWindow_Create(sfVideoMode mode, const char* title, unsig
|
|||
////////////////////////////////////////////////////////////
|
||||
/// Construct a renderwindow from an existing control
|
||||
////////////////////////////////////////////////////////////
|
||||
sfRenderWindow* sfRenderWindow_CreateFromHandle(sfWindowHandle handle, sfContextSettings params)
|
||||
sfRenderWindow* sfRenderWindow_CreateFromHandle(sfWindowHandle handle, sfContextSettings* settings)
|
||||
{
|
||||
// Convert context settings
|
||||
sf::ContextSettings params;
|
||||
if (settings)
|
||||
{
|
||||
params.DepthBits = settings->DepthBits;
|
||||
params.StencilBits = settings->StencilBits;
|
||||
params.AntialiasingLevel = settings->AntialiasingLevel;
|
||||
params.MajorVersion = settings->MajorVersion;
|
||||
params.MinorVersion = settings->MinorVersion;
|
||||
}
|
||||
|
||||
// Create the window
|
||||
sfRenderWindow* renderWindow = new sfRenderWindow;
|
||||
sf::ContextSettings settings(params.DepthBits, params.StencilBits, params.AntialiasingLevel);
|
||||
renderWindow->This.Create(handle, settings);
|
||||
renderWindow->This.Create(handle, params);
|
||||
renderWindow->Input.This = &renderWindow->This.GetInput();
|
||||
renderWindow->DefaultView = new sfView(const_cast<sf::View*>(&renderWindow->This.GetDefaultView()));
|
||||
renderWindow->CurrentView = renderWindow->DefaultView;
|
||||
|
|
|
@ -34,14 +34,24 @@
|
|||
////////////////////////////////////////////////////////////
|
||||
/// Construct a new window
|
||||
////////////////////////////////////////////////////////////
|
||||
sfWindow* sfWindow_Create(sfVideoMode mode, const char* title, unsigned long style, sfContextSettings settings)
|
||||
sfWindow* sfWindow_Create(sfVideoMode mode, const char* title, unsigned long style, sfContextSettings* settings)
|
||||
{
|
||||
// Convert video mode
|
||||
sf::VideoMode videoMode(mode.Width, mode.Height, mode.BitsPerPixel);
|
||||
|
||||
// Convert context settings
|
||||
sf::ContextSettings params;
|
||||
if (settings)
|
||||
{
|
||||
params.DepthBits = settings->DepthBits;
|
||||
params.StencilBits = settings->StencilBits;
|
||||
params.AntialiasingLevel = settings->AntialiasingLevel;
|
||||
params.MajorVersion = settings->MajorVersion;
|
||||
params.MinorVersion = settings->MinorVersion;
|
||||
}
|
||||
|
||||
// Create the window
|
||||
sfWindow* window = new sfWindow;
|
||||
sf::ContextSettings params(settings.DepthBits, settings.StencilBits, settings.AntialiasingLevel);
|
||||
window->This.Create(videoMode, title, style, params);
|
||||
window->Input.This = &window->This.GetInput();
|
||||
|
||||
|
@ -52,10 +62,21 @@ sfWindow* sfWindow_Create(sfVideoMode mode, const char* title, unsigned long sty
|
|||
////////////////////////////////////////////////////////////
|
||||
/// Construct a window from an existing control
|
||||
////////////////////////////////////////////////////////////
|
||||
sfWindow* sfWindow_CreateFromHandle(sfWindowHandle handle, sfContextSettings settings)
|
||||
sfWindow* sfWindow_CreateFromHandle(sfWindowHandle handle, sfContextSettings* settings)
|
||||
{
|
||||
// Convert context settings
|
||||
sf::ContextSettings params;
|
||||
if (settings)
|
||||
{
|
||||
params.DepthBits = settings->DepthBits;
|
||||
params.StencilBits = settings->StencilBits;
|
||||
params.AntialiasingLevel = settings->AntialiasingLevel;
|
||||
params.MajorVersion = settings->MajorVersion;
|
||||
params.MinorVersion = settings->MinorVersion;
|
||||
}
|
||||
|
||||
// Create the window
|
||||
sfWindow* window = new sfWindow;
|
||||
sf::ContextSettings params(settings.DepthBits, settings.StencilBits, settings.AntialiasingLevel);
|
||||
window->This.Create(handle, params);
|
||||
window->Input.This = &window->This.GetInput();
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue