mirror of
https://github.com/glfw/glfw.git
synced 2024-11-10 00:51:47 +00:00
Started 3.0.1.
This commit is contained in:
parent
5da6a903f9
commit
c38f33adda
@ -4,7 +4,7 @@ cmake_minimum_required(VERSION 2.8)
|
||||
|
||||
set(GLFW_VERSION_MAJOR "3")
|
||||
set(GLFW_VERSION_MINOR "0")
|
||||
set(GLFW_VERSION_PATCH "0")
|
||||
set(GLFW_VERSION_PATCH "1")
|
||||
set(GLFW_VERSION_EXTRA "")
|
||||
set(GLFW_VERSION "${GLFW_VERSION_MAJOR}.${GLFW_VERSION_MINOR}")
|
||||
set(GLFW_VERSION_FULL "${GLFW_VERSION}.${GLFW_VERSION_PATCH}${GLFW_VERSION_EXTRA}")
|
||||
|
188
README.md
188
README.md
@ -1,4 +1,4 @@
|
||||
# GLFW 3.0
|
||||
# GLFW 3.0.1
|
||||
|
||||
## Introduction
|
||||
|
||||
@ -6,12 +6,8 @@ GLFW is a free, Open Source, portable library for OpenGL and OpenGL ES
|
||||
application development. It provides a simple, platform-independent API for
|
||||
creating windows and contexts, reading input, handling events, etc.
|
||||
|
||||
Version 3.0 brings a new API with many new features such as multiple windows
|
||||
and contexts, multi-monitor support, EGL and OpenGL ES support, clipboard text
|
||||
support, an error description callback, gamma ramp control, layout-independent
|
||||
keyboard input and UTF-8 for all strings.
|
||||
|
||||
GLFW is now hosted on [GitHub](https://github.com/glfw/glfw).
|
||||
Version 3.0.1 is *not yet described*. As this is a patch release, there are no
|
||||
API changes.
|
||||
|
||||
If you are new to GLFW, you may find the
|
||||
[introductory tutorial](http://www.glfw.org/docs/3.0/quick.html) for GLFW
|
||||
@ -102,183 +98,7 @@ CMake.
|
||||
See the [GLFW 3.0 documentation](http://www.glfw.org/docs/3.0/).
|
||||
|
||||
|
||||
## Changes for version 3.0
|
||||
|
||||
- Added `GLFWmonitor` and updated monitor-related functions to take a monitor
|
||||
handle
|
||||
- Added `glfwGetMonitors` and `glfwGetPrimaryMonitor` for enumerating available
|
||||
monitors
|
||||
- Added `glfwGetMonitorPos`, `glfwGetMonitorPhysicalSize` and
|
||||
`glfwGetMonitorName` for retrieving monitor properties
|
||||
- Added `glfwSetMonitorCallback` and `GLFWmonitorfun` for notification of
|
||||
changes in the set of available monitors
|
||||
- Added `GLFWwindow` and updated window-related functions and callbacks to take
|
||||
a window handle
|
||||
- Added `glfwSetWindowShouldClose` and `glfwWindowShouldClose` for setting and
|
||||
retrieving the window close flag
|
||||
- Added `glfwGetWindowPos` for retrieving the position of a window
|
||||
- Added `glfwDefaultWindowHints` for resetting all window hints to their
|
||||
default values
|
||||
- Added `glfwMakeContextCurrent` for making the context of the specified window
|
||||
current
|
||||
- Added `glfwSetErrorCallback`, `GLFWerrorfun` and error type tokens for
|
||||
receiving error notifications
|
||||
- Added `glfwSetWindowUserPointer` and `glfwGetWindowUserPointer` for
|
||||
per-window user pointers
|
||||
- Added `glfwGetVersionString` for determining which code paths were enabled at
|
||||
compile time
|
||||
- Added `glfwGetWindowMonitor` for querying the monitor, if any, of the
|
||||
specified window
|
||||
- Added `glfwGetFramebufferSize` and `glfwSetFramebufferSizeCallback` for
|
||||
receiving the current size, in pixels, of the framebuffer
|
||||
- Added `glfwSetWindowPosCallback` and `GLFWwindowposfun` for receiving window
|
||||
position events
|
||||
- Added `glfwSetWindowFocusCallback` and `GLFWwindowfocusfun` for receiving
|
||||
window focus events
|
||||
- Added `glfwSetWindowIconifyCallback` and `GLFWwindowiconifyfun` for receiving
|
||||
window iconification events
|
||||
- Added `glfwGetClipboardString` and `glfwSetClipboardString` for interacting
|
||||
with the system clipboard
|
||||
- Added `glfwGetJoystickName` for retrieving the name of a joystick
|
||||
- Added `glfwGetCurrentContext` for retrieving the window whose OpenGL context
|
||||
is current
|
||||
- Added `GLFW_SRGB_CAPABLE` for requesting sRGB capable framebuffers
|
||||
- Added `GLFW_CLIENT_API` and its values `GLFW_OPENGL_API` and
|
||||
`GLFW_OPENGL_ES_API` for selecting client API
|
||||
- Added `GLFW_CONTEXT_ROBUSTNESS` and values `GLFW_NO_ROBUSTNESS`,
|
||||
`GLFW_NO_RESET_NOTIFICATION` and `GLFW_LOSE_CONTEXT_ON_RESET` for
|
||||
`GL_ARB_robustness` support
|
||||
- Added `GLFW_OPENGL_REVISION` to make up for removal of `glfwGetGLVersion`
|
||||
- Added `GLFW_INCLUDE_GLCOREARB` macro for including `GL/glcorearb.h` instead of
|
||||
`GL/gl.h`
|
||||
- Added `GLFW_INCLUDE_ES1` macro for telling the GLFW header to use `GLES/gl.h`
|
||||
instead of `GL/gl.h`
|
||||
- Added `GLFW_INCLUDE_ES2` macro for telling the GLFW header to use
|
||||
`GLES2/gl2.h` instead of `GL/gl.h`
|
||||
- Added `GLFW_INCLUDE_NONE` macro for telling the GLFW header to not include
|
||||
any client API header
|
||||
- Added `GLFW_VISIBLE` window hint and parameter for controlling and polling
|
||||
window visibility
|
||||
- Added `GLFW_REPEAT` key action for repeated keys
|
||||
- Added scancode parameter to key callback
|
||||
- Added `refreshRate` member to `GLFWvidmode` struct
|
||||
- Added key modifier parameter to key and mouse button callbacks
|
||||
- Added `windows` simple multi-window test program
|
||||
- Added `sharing` simple OpenGL object sharing test program
|
||||
- Added `modes` video mode enumeration and setting test program
|
||||
- Added `threads` simple multi-threaded rendering test program
|
||||
- Added `glfw3native.h` header and platform-specific functions for explicit
|
||||
access to native display, window and context handles
|
||||
- Added `glfwSetGamma`, `glfwSetGammaRamp` and `glfwGetGammaRamp` functions and
|
||||
`GLFWgammaramp` type for monitor gamma ramp control
|
||||
- Added window parameter to `glfwSwapBuffers`
|
||||
- Changed buffer bit depth parameters of `glfwOpenWindow` to window hints
|
||||
- Changed `glfwCreateWindow` and `glfwSetWindowTitle` to use UTF-8 encoded
|
||||
strings
|
||||
- Changed `glfwGetProcAddress` to return a (generic) function pointer
|
||||
- Changed `glfwGetVideoModes` to return a dynamic, unlimited number of video
|
||||
modes for the specified monitor
|
||||
- Changed cursor position to double-precision floating-point
|
||||
- Changed default cursor mode for fullscreen to normal
|
||||
- Renamed header directory `GL` to `GLFW`
|
||||
- Renamed `glfw.h` to `glfw3.h` to avoid conflicts with 2.x series
|
||||
- Renamed `glfwOpenWindowHint` to `glfwWindowHint`
|
||||
- Renamed `glfwGetWindowParam` to `glfwGetWindowAttrib`
|
||||
- Renamed `GLFW_ACTIVE` to `GLFW_FOCUSED`
|
||||
- Renamed `GLFW_FSAA_SAMPLES` to `GLFW_SAMPLES`
|
||||
- Renamed `GLFW_WINDOW_NO_RESIZE` to `GLFW_RESIZABLE`
|
||||
- Renamed `GLFW_BUILD_DLL` to `_GLFW_BUILD_DLL`
|
||||
- Renamed `version` test to `glfwinfo`
|
||||
- Renamed `GLFW_NO_GLU` to `GLFW_INCLUDE_GLU` and made it disabled by default
|
||||
- Renamed `glfwGetJoystickPos` to `glfwGetJoystickAxes` to match
|
||||
`glfwGetJoystickButtons`
|
||||
- Renamed mouse position functions to cursor position equivalents
|
||||
- Replaced `glfwOpenWindow` and `glfwCloseWindow` with `glfwCreateWindow` and
|
||||
`glfwDestroyWindow`
|
||||
- Replaced `glfwGetDesktopMode` width `glfwGetVideoMode`
|
||||
- Replaced ad hoc build system with CMake
|
||||
- Replaced layout-dependent key codes with single, platform-independent set
|
||||
based on US layout
|
||||
- Replaced mouse wheel interface with two-dimensional, floating point scrolling
|
||||
interface
|
||||
- Replaced `glfwEnable` and `glfwDisable` with `glfwGetInputMode` and
|
||||
`glfwSetInputMode`
|
||||
- Replaced `joystick` test with graphical version
|
||||
- Replaced automatic closing of windows with the window close flag
|
||||
- Removed the `GLFW_KEY_REPEAT` input option
|
||||
- Removed event auto-polling and the `GLFW_AUTO_POLL_EVENTS` window enable
|
||||
- Removed the Win32 port .def files
|
||||
- Removed the entire threading API
|
||||
- Removed the entire image loading API
|
||||
- Removed deprecated Carbon port
|
||||
- Removed registering `glfwTerminate` with `atexit`
|
||||
- Removed `glfwSleep` function
|
||||
- Removed `glfwGetNumberOfProcessors` function
|
||||
- Removed `glfwGetGLVersion` function
|
||||
- Removed `GLFW_OPENED` window parameter
|
||||
- Removed `GLFW_WINDOW` and `GLFW_FULLSCREEN`
|
||||
- Removed nonsensical key actions for Unicode character input
|
||||
- Removed `GLFWCALL` and `GLFWAPIENTRY` macros for stdcall calling convention
|
||||
- Removed `GLFW_ACCELERATED` window parameter
|
||||
- Removed default framebuffer attributes from `glfwGetWindowParam`
|
||||
- Bugfix: The default OpenGL version in the `glfwinfo` test was set to 1.1
|
||||
- Bugfix: The OpenGL profile and forward-compatibility window parameters were
|
||||
not saved after context creation
|
||||
- Bugfix: The FSAA test did not check for the availability of
|
||||
`GL_ARB_multisample`
|
||||
- Bugfix: Cursor centering upon leaving captured cursor mode was reported
|
||||
before the mode was changed to non-captured
|
||||
- [Cocoa] Added support for OpenGL 3.2 core profile in 10.7 Lion and above
|
||||
- [Cocoa] Added support for high-DPI (Retina) monitors
|
||||
- [Cocoa] Added support for joysticks
|
||||
- [Cocoa] Postponed menu creation to first window creation
|
||||
- [Cocoa] Replaced `NSDate` time source with `mach_absolute_time`
|
||||
- [Cocoa] Replaced all deprecated CoreGraphics calls with non-deprecated
|
||||
counterparts
|
||||
- [Cocoa] Bugfix: The `NSOpenGLPFAFullScreen` pixel format attribute caused
|
||||
creation to fail on some machines
|
||||
- [Cocoa] Bugfix: `glfwCreateWindow` did not properly enforce the
|
||||
forward-compatible and context profile hints
|
||||
- [Cocoa] Bugfix: The loop condition for saving video modes used the wrong
|
||||
index variable
|
||||
- [Cocoa] Bugfix: The OpenGL framework was not retrieved, making
|
||||
`glfwGetProcAddress` crash
|
||||
- [Cocoa] Bugfix: `glfwInit` changed the current directory for unbundled
|
||||
executables
|
||||
- [Cocoa] Bugfix: The `GLFW_WINDOW_NO_RESIZE` window parameter was always zero
|
||||
- [Cocoa] Bugfix: The cursor position incorrectly rounded during conversion
|
||||
- [Cocoa] Bugfix: Cursor positioning led to nonsensical results for fullscreen
|
||||
windows
|
||||
- [Cocoa] Bugfix: The GLFW window was flagged as restorable
|
||||
- [X11] Added support for the `GLX_EXT_swap_control` and
|
||||
`GLX_MESA_swap_control` extensions as alternatives to
|
||||
`GLX_SGI_swap_control`
|
||||
- [X11] Added the POSIX `CLOCK_MONOTONIC` time source as the preferred method
|
||||
- [X11] Added dependency on libm, where present
|
||||
- [X11] Added support for the `_NET_WM_NAME` and `_NET_WM_ICON_NAME` EWMH
|
||||
window properties
|
||||
- [X11] Made client-side RandR and Xf86VidMode extensions required
|
||||
- [X11] Bugfix: Some window properties required by the ICCCM were not set
|
||||
- [X11] Bugfix: Calling `glXCreateContextAttribsARB` with an unavailable OpenGL
|
||||
version caused the application to terminate with a `BadMatch`
|
||||
Xlib error
|
||||
- [X11] Bugfix: A synchronization point necessary for jitter-free locked cursor
|
||||
mode was incorrectly removed
|
||||
- [X11] Bugfix: The window size hints were not updated when calling
|
||||
`glfwSetWindowSize` on a non-resizable window
|
||||
- [Win32] Added support for high-DPI monitors
|
||||
- [Win32] Changed port to use Unicode mode only
|
||||
- [Win32] Removed explicit support for versions of Windows older than Windows
|
||||
XP
|
||||
- [Win32] Bugfix: Window activation and iconification did not work as expected
|
||||
- [Win32] Bugfix: Software rasterizer pixel formats were not discarded by the
|
||||
`WGL_ARB_pixel_format` code path
|
||||
- [Win32] Bugfix: The array for WGL context attributes was too small and could
|
||||
overflow
|
||||
- [Win32] Bugfix: Alt+F4 hot key was not translated into `WM_CLOSE`
|
||||
- [Win32] Bugfix: The `GLFW_WINDOW_NO_RESIZE` window parameter was always zero
|
||||
- [Win32] Bugfix: A test was missing for whether all available pixel formats
|
||||
had been disqualified
|
||||
## Changes for version 3.0.1
|
||||
|
||||
|
||||
## Contact
|
||||
|
@ -225,7 +225,7 @@ extern "C" {
|
||||
* API changes.
|
||||
* @ingroup init
|
||||
*/
|
||||
#define GLFW_VERSION_REVISION 0
|
||||
#define GLFW_VERSION_REVISION 1
|
||||
/*! @} */
|
||||
|
||||
/*! @name Key and button actions
|
||||
|
Loading…
Reference in New Issue
Block a user