diff --git a/README.md b/README.md index aa72d5e7..1039e624 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,15 @@ GLFW is a free, Open Source, multi-platform library for OpenGL, OpenGL ES and Vulkan application development. It provides a simple, platform-independent API for creating windows, contexts and surfaces, reading input, handling events, etc. -Version 3.2 is _not yet described_. +Version 3.2 adds support for Vulkan surface creation, window mode switching, +window maximization, window input focus control, window size and aspect ratio +limits, human-readable key names, window icons, joystick connection events, +XInput and DirectInput joystick input, event waiting with timeout, 64-bit +integer raw timer, context-less window creation, error-less contexts via +`GL_KHR_no_error` (where available), run-time context creation API selection, +Windows 8.1 per-monitor DPI and the CMake config-file package system, adds +simpler build-time configuration, improved documentation and fixes for a large +number of bugs that together affect all supported platforms. If you are new to GLFW, you may find the [tutorial](http://www.glfw.org/docs/latest/quick.html) for GLFW @@ -91,10 +99,10 @@ does not find Doxygen, the documentation will not be generated. - Added `glfwSetJoystickCallback` and `GLFWjoystickfun` for joystick connection and disconnection events - Added `GLFW_NO_API` for creating window without contexts - - Added `GLFW_CONTEXT_NO_ERROR` context hint for `GL_KHR_no_error` support - Added `GLFW_INCLUDE_VULKAN` for including the Vulkan header - Added `GLFW_CONTEXT_CREATION_API`, `GLFW_NATIVE_CONTEXT_API` and `GLFW_EGL_CONTEXT_API` for run-time context creation API selection + - Added `GLFW_CONTEXT_NO_ERROR` context hint for `GL_KHR_no_error` support - Added `GLFW_TRUE` and `GLFW_FALSE` as client API independent boolean values - Added icons to examples on Windows and OS X - Relaxed rules for native access header macros diff --git a/docs/build.dox b/docs/build.dox index fde65add..cfeb47c7 100644 --- a/docs/build.dox +++ b/docs/build.dox @@ -153,7 +153,7 @@ uses OpenGL and `glu32` if it uses GLU. This section is about using CMake to compile and link GLFW along with your application. If you want to use an installed binary instead, see @ref -build_link_cmake_module. +build_link_cmake_package. With just a few changes to your `CMakeLists.txt` you can have the GLFW source tree built along with your application. @@ -200,13 +200,13 @@ target_link_libraries(myapp ${OPENGL_glu_LIBRARY}) @endcode -@subsection build_link_cmake_module With CMake and installed GLFW binaries +@subsection build_link_cmake_package With CMake and installed GLFW binaries This section is about using CMake to link GLFW after it has been built and installed. If you want to build it along with your application instead, see @ref build_link_cmake_source. -With just a few changes to your `CMakeLists.txt`, you can locate the module and +With just a few changes to your `CMakeLists.txt`, you can locate the package and target files generated when GLFW is installed. @code{.cmake} @@ -271,7 +271,7 @@ env PKG_CONFIG_PATH=path/to/glfw/src cc `pkg-config --cflags glfw3` -o myprog my The dependencies do not include GLU, as GLFW does not use it. On OS X, GLU is built into the OpenGL framework, so if you need GLU you don't need to do anything extra. If you need GLU and are using Linux or BSD, you should add the -`glu` pkg-config module. +`glu` pkg-config package. @code{.sh} cc `pkg-config --cflags glfw3 glu` -o myprog myprog.c `pkg-config --libs glfw3 glu` diff --git a/docs/news.dox b/docs/news.dox index e0fb5f80..357dc65b 100644 --- a/docs/news.dox +++ b/docs/news.dox @@ -5,18 +5,6 @@ @section news_32 New features in 3.2 -@subsection news_32_sizelimits Window size limit support - -GLFW now supports setting both absolute and relative window size limits with -@ref glfwSetWindowSizeLimits and @ref glfwSetWindowAspectRatio. - - -@subsection news_32_keyname Localized key names - -GLFW now supports querying the localized name of printable keys with @ref -glfwGetKeyName, either by key token or by scancode. - - @subsection news_32_vulkan Support for Vulkan GLFW now supports basic integration with Vulkan with @ref glfwVulkanSupported, @@ -39,20 +27,21 @@ GLFW now supports window maximization with @ref glfwMaximizeWindow and the [GLFW_MAXIMIZED](@ref window_attribs_wnd) window hint and attribute. -@subsection news_32_icon Window icon support - -GLFW now supports setting the icon of windows with @ref glfwSetWindowIcon. - - @subsection news_32_focus Window input focus control GLFW now supports giving windows input focus with @ref glfwFocusWindow. -@subsection news_32_timer Raw timer access +@subsection news_32_sizelimits Window size limit support -GLFW now supports raw timer values with @ref glfwGetTimerValue and @ref -glfwGetTimerFrequency. +GLFW now supports setting both absolute and relative window size limits with +@ref glfwSetWindowSizeLimits and @ref glfwSetWindowAspectRatio. + + +@subsection news_32_keyname Localized key names + +GLFW now supports querying the localized name of printable keys with @ref +glfwGetKeyName, either by key token or by scancode. @subsection news_32_waittimeout Wait for events with timeout @@ -61,10 +50,47 @@ GLFW now supports waiting for events for a set amount of time with @ref glfwWaitEventsTimeout. +@subsection news_32_icon Window icon support + +GLFW now supports setting the icon of windows with @ref glfwSetWindowIcon. + + +@subsection news_32_timer Raw timer access + +GLFW now supports raw timer values with @ref glfwGetTimerValue and @ref +glfwGetTimerFrequency. + + +@subsection news_32_joystick Joystick connection callback + +GLFW now supports notifying when a joystick has been connected or disconnected +with @ref glfwSetJoystickCallback. + + +@subsection news_32_noapi Context-less windows + +GLFW now supports creating windows without a OpenGL or OpenGL ES context with +[GLFW_NO_API](@ref window_hints_ctx). + + @subsection news_32_contextapi Run-time context creation API selection -GLFW now supports selecting the context creation API at run-time with -[GLFW_CONTEXT_CREATION_API](@ref window_hints_ctx). +GLFW now supports selecting the context creation API at run-time with the +[GLFW_CONTEXT_CREATION_API](@ref window_hints_ctx) window hint value. + + +@subsection news_32_noerror Error-free context creation + +GLFW now supports creating OpenGL and OpenGL ES contexts that do not emit errors +with the [GLFW_CONTEXT_NO_ERROR](@ref window_hints_ctx) window hint, provided +the machine supports the `GL_KHR_no_error` extension. + + +@subsection news_32_cmake CMake config-file package support + +GLFW now supports being used as a +[config-file package](@ref build_link_cmake_package) from other projects for +easy linking with the library and its dependencies. @section news_31 New features in 3.1