Commit Graph

320 Commits

Author SHA1 Message Date
Camilla Löwy
f2756d0b3f Documentation work
Related to #1065.
2017-11-02 19:30:12 +01:00
Camilla Löwy
2867ca1e5b Documentation work
Fixes #1104.
2017-10-29 16:27:15 +01:00
Camilla Löwy
16bf872117 Add content scale queries
This adds glfwGetWindowContentScale and glfwGetMonitorContentScale for
querying the recommended drawing scale factor for DPI-aware rendering.

Parts of this patch are based on code by @ferreiradaselva.

Fixes #235.
Fixes #439.
Fixes #677.
Fixes #845.
Fixes #898.
2017-10-26 17:26:36 +02:00
Camilla Löwy
1be81a1540 Documentation work 2017-10-22 16:30:19 +02:00
Camilla Löwy
32e78aeb2e Add GLFW_TRANSPARENT attribute and documentation
This completes support for window framebuffer transparency on Windows,
macOS and X11.  Note that the hint/attribute may be renamed before
release to clarify its relationship to GLFW_OPACITY.

Fixes #197.
Closes #1079.
Related to #663.
Related to #715.
Related to #723.
Related to #1078.
2017-09-27 21:54:04 +02:00
Bailey Cosier
93e66661d3 Cleanup
This is an extract of a commit, minimally edited to ensure it compiles.

Closes #1078.
Related to #197.
2017-09-27 21:33:03 +02:00
Wolfgang Draxinger
019609b6cd Add GLFW_TRANSPARENT and X11 implementation
This is a squashed extract of several commits, minimally edited to
ensure it compiles.

Related to #197.
Related to #715.
2017-09-27 21:33:03 +02:00
Camilla Löwy
c23fca6343 Fix APIENTRY from windows.h being undefined
Some extension loader headers include windows.h.  If they were included
before glfw3.h, glfw3native.h would leave APIENTRY undefined.  This adds
the GLFW_APIENTRY_DEFINED macro to signal when GLFW "owns" APIENTRY and
may undefine it.

Fixes #1062.
2017-08-21 16:01:32 +02:00
Kristian Nielsen
29a75ab09d X11: Add native access to primary selection
This adds the native access functions glfwSetX11SelectionString and
glfwGetX11SelectionString under GLFW_EXPOSE_NATIVE_X11.  They are
similar to glfwSetClipboardString and glfwGetClipboardString but operate
on the PRIMARY selection.

The primary selection is widely used in X11, and so seems important to
support.  Primary selection is mostly an X11-specific thing, hence it's
exposed as an X11 native interface.

Fixes #894.
Closes #1056.

Signed-off-by: Kristian Nielsen <knielsen@knielsen-hq.org>
2017-08-13 18:52:24 +02:00
Camilla Löwy
5bc1c38159 Documentation work
[ci skip]
2017-08-09 12:20:51 +02:00
Camilla Löwy
5b7281bd41 Add glfwGetJoystickGUID
This function completes the first round of support for
SDL_GameControllerDB.

Fixes #900.
2017-07-30 16:15:12 +02:00
Camilla Löwy
213dd2d0d6 Add glfwInitHintString
Adds string type init hints.  Adds X11 specific init hints for WM_CLASS
components.  Documentation work.

Fixes #893.
2017-07-25 23:53:52 +02:00
Camilla Löwy
2d8d8f5917 Fix signedness in GLFWgamepadstate
The signedness did not match glfwGetJoystickButtons.
2017-07-17 23:16:55 +02:00
Camilla Löwy
8e899ccc29 Cocoa: Add support for MoltenVK dynamic library
Tested with MoltenVK 0.18.0.

Related to #870.
2017-07-10 21:34:02 +02:00
Camilla Löwy
2e9aff759e Fix @ref link 2017-07-09 14:46:39 +02:00
Camilla Löwy
953106e74d Add support for SDL_GameControllerDB
This adds support for importing and applying mappings from the
SDL_GameControllerDB database.

Related to #900.
2017-07-07 15:52:33 +02:00
Camilla Löwy
be51c201dd Cleanup
Related to #1039.
2017-07-03 14:32:23 +02:00
David Carlier
57f872054c Fix GLAPIENTRY re-definition warning on OpenBSD
Closes #1039.
2017-07-03 14:28:44 +02:00
Camilla Löwy
539a728063 Documentation work
[ci skip]
2017-06-30 12:45:29 +02:00
Camilla Löwy
d2952e4e92 Cleanup
Related to #1005.
2017-06-15 20:01:44 +02:00
Camilla Löwy
14a3fe0ac0 Make glfwGetError also provide description
Related to #970.
2017-06-08 16:08:36 +02:00
Camilla Löwy
beaeb0d4af Add missing pixel format documentation
Fixes #1027.
2017-06-07 20:07:24 +02:00
Camilla Löwy
fa0b5e1b85 Additional client API logic cleanup 2017-05-16 15:43:29 +02:00
Konstantin Käfer
244d6d7823 Allow OpenGL ES header inclusion on macOS
Related to #985.
2017-05-16 15:42:51 +02:00
Camilla Löwy
baa9cd8968 Cleanup
Closes #988.
2017-05-11 20:10:04 +02:00
Felipe Ferreira da Silva
412eb6a611 Add glfwRequestWindowAttention
Related to #988.
2017-05-11 13:36:39 +02:00
Camilla Löwy
6350641f0a Add glfwGetError
Related to #970.

If you have opinions on the design or implementation of this function,
please come join us in #970 before it is frozen for release.
2017-05-03 18:30:11 +02:00
Camilla Löwy
16ddfafeaa Allow object creation from callbacks 2017-05-03 15:10:36 +02:00
Camilla Löwy
9558b85f7b Documentation work
Related to #981.
2017-04-04 18:53:47 +02:00
Brandon Schaefer
c9003b5547 Mir: Get ready for Mir 1.0
Clean up CMake finding and check version.  Change last remaining
deprecations.

Closes #979.
2017-03-30 00:43:03 +02:00
Camilla Berglund
bff31f006e Formatting 2017-03-16 16:22:00 +01:00
Camilla Löwy
798d7c6d68 Implement glfwGetJoystickHats
This moves the buttons-as-hats logic to shared code and adds the
GLFW_JOYSTICK_HAT_BUTTONS input mode as a way to disable this legacy
behavior.

Fixes #889.
2017-03-06 03:23:29 +01:00
IntellectualKitty
368dec7ac7 Add glfwGetJoystickHats
This merges the public part of the glfwGetJoystickHats work by
@IntellectualKitty.  The implementation needs replacing due to
refactoring in preparation for gamecontrollerdb support.

Closes #906.
2017-03-05 23:20:07 +01:00
Camilla Löwy
c50aba1335 Cocoa: Add support for MainMenu.nib loading 2017-03-01 04:36:00 +01:00
Camilla Löwy
6d9a58bfef Add glfwInitHint
This allows setting hints that control how the library is initialized,
transforming more compile-time options into run-time ones.
2017-03-01 04:35:41 +01:00
Camilla Löwy
071a049f07 Documentation work
[ci skip]
2017-02-28 22:54:50 +01:00
Camilla Löwy
e9560ef021 Add GLFW_OSMESA_CONTEXT_API
This allows the creation of OpenGL contexts via OSMesa on existing
platforms.  It does not add a compile- or link-time dependency on
OSMesa.

Fixes #281.
2017-02-28 20:38:10 +01:00
Camilla Löwy
463930761b Documentation work
[ci skip]
2017-02-20 16:35:02 +01:00
Camilla Löwy
77a8f103d8 Add GLFW_COCOA_GRAPHICS_SWICTHING
This provides control over whether the context should participate in
macOS Automatic Graphics Switching.

Closes #377.
Closes #935.
2017-02-10 01:29:29 +01:00
Camilla Löwy
21eabd3938 Documentation work 2017-02-08 06:53:04 +01:00
Camilla Löwy
98bdd36231 Fix glfwVulkanSupported semantics 2017-02-07 21:28:50 +01:00
Camilla Löwy
5a74b5008d Cleanup
Related to #842.
2017-02-06 15:16:27 +01:00
Liam Middlebrook
72ac5badb0 Add GLFW_CENTER_CURSOR
Adds a hint for controlling whether the cursor is centered over newly
created full screen windows.

Fixes #749.
Closes #842.
2017-02-06 15:16:26 +01:00
Camilla Löwy
a46c95c7f2 Clarify requirements for receiving joystick events
As of c5694b3013 this is now consistent
enough across platforms to describe.

Fixes #887.

[ci skip]
2017-02-01 05:40:48 +01:00
Camilla Löwy
6801478a13 Lengthen lifetime of joystick information pointers
This is possible because publicly available joystick information is now
managed by shared code and there is now a joystick callback.

[ci skip]
2017-02-01 05:37:38 +01:00
Camilla Löwy
3edaa5280d Add GLFW_INCLUDE_ES32 2017-01-02 06:06:01 +01:00
Camilla Löwy
4661315192 Add GLFW_COCOA_FRAME_AUTOSAVE
Fixes #195.
2017-01-01 19:58:34 +01:00
Camilla Löwy
831426ca63 Documentation work
[ci skip]
2016-12-08 17:08:53 +01:00
Camilla Löwy
58ceab5f1e Add GLFW_COCOA_RETINA_FRAMEBUFFER
Look, a can of worms!  I wonder what's inside.

This adds the first platform specific window hint, transforming
a compile-time option to a run-time per-window one.
2016-12-08 16:56:05 +01:00
Camilla Löwy
766a9dc9fd Documentation work
Related to glfw/website#34.
2016-12-08 16:56:05 +01:00
Camilla Löwy
9e56099edd Add glfwSetWindowAttrib
This function allows updating the GLFW_DECORATED, GLFW_RESIZABLE,
GLFW_FLOATING and GLFW_AUTO_ICONIFY attributes for existing windows.

Fixes #537.
2016-12-06 15:59:18 +01:00
Camilla Löwy
ce161c2c02 Documentation work
[ci skip]
2016-12-06 13:58:45 +01:00
Camilla Löwy
fd127d59fa Cocoa: Improve OpenGL version restriction messages
Fixes #904.
2016-12-03 20:15:26 +01:00
Camilla Löwy
f4d0c83181 Paperwork done 2016-11-30 14:00:41 +01:00
Camilla Berglund
fef21361c5 OSMesa: Cleanup
Fixes formatting, semantics and documentation.  Adds
glfwGetOSMesaContext.  Adds support for OSMesa context attributes.
Updates changelog and credits.  Adds license and copyright headers.
Removes superfluous code (the shared code provides many conveniences).
Removes loading of unused OSMesa functions.  Removes empty platform
structs.  Fixes version string format.  Removes build dependency on
the OSMesa header and library (only the library is needed and only at
runtime).

Closes #850.
2016-11-09 01:36:21 +01:00
Jason Daly
368fa9475d Add headless OSMesa backend
Allows creation and drawing to in-memory OpenGL contexts.

This backend does not provide input.

Related to #850.
2016-11-09 01:23:43 +01:00
Camilla Berglund
a90ee65f7b Add definition of GLAPIENTRY 2016-11-08 12:39:18 +01:00
Camilla Berglund
e83be1d73a Note that mode switching does not affect context 2016-11-08 12:19:06 +01:00
Camilla Berglund
e8c3e54dda Documentation work
[ci skip]
2016-11-07 19:53:42 +01:00
Camilla Berglund
e94d16667b Cocoa: Add basic support for Vulkan via MoltenVK
This adds basic support for MoltenVK, a Vulkan implementation on top of
Metal, on macOS 10.11 and later.  It looks for MoltenVK in the process
via RTLD_DEFAULT symbol lookup if _GLFW_VULKAN_STATIC is disabled.

glfwCreateWindowSurface now creates and sets a CAMetalLayer for the
window content view, which is required for MoltenVK to function.

You must help CMake find MoltenVK for the Vulkan test to be built.

Fixes #870.
2016-11-01 21:39:54 +01:00
Camilla Berglund
67931bdeb2 Replace last @remarks with @remark 2016-11-01 21:34:26 +01:00
Camilla Berglund
ec17161651 Note that mode switching does not affect context 2016-11-01 21:34:26 +01:00
Camilla Berglund
8d6f265441 Update default name from OS X to macOS
Note that earlier releases are still referred to by their proper names;
OS X <version> or Mac OS X <version>.
2016-10-20 00:53:37 +02:00
linkmauve
bc8b0480e9 Wayland: Document when behaviour differs
This should describe all of the Wayland-specific points, mostly in
three categories:
- Missing GLFW features, for example window frame, screensaver
  inhibition, clipboard or file drop.
- Missing protocols, like setting gamma on a monitor or specifying a
  window icon.
- Fundamental incompatibilities with Wayland concepts, like trying to
  handle global positioning of a window in a 2D space, trying to bring
  a window to front, or trying to change the monitor’s mode.

Closes #881.
2016-10-16 16:52:39 +02:00
Camilla Berglund
efc6b35615 Rename joystick ID variables 2016-10-16 14:07:18 +02:00
Camilla Berglund
c156b50e4c Add glfwSetWindowMaximizeCallback
Fixes #778.
2016-09-29 01:24:56 +02:00
Camilla Berglund
433db8f9f9 Allow combining Vulkan and GL/GLES header macros 2016-09-14 22:59:12 +02:00
Camilla Berglund
7e9e321c38 Add @ref tags for Vim syntax highlighting 2016-09-14 22:59:11 +02:00
Camilla Berglund
bb3cb8f233 Cleanup
Clean up code and documentation for glfwGetKeyScancode and add
implementation for Wayland and Mir.

Related to #830.
2016-09-07 16:46:48 +02:00
Michael Stocker
e745b0dd47 Add glfwGetKeyScancode
Allows retrieval of platform scancode from GLFW_KEY_*.  Implemented for
Win32, Cocoa and X11.  Stubs for Mir and Wayland.

Closes #830.
2016-09-07 16:38:22 +02:00
Camilla Berglund
53fafad915 Start 3.3 2016-08-18 23:55:49 +02:00
Camilla Berglund
999f3556fd Documentation work 2016-08-18 13:32:27 +02:00
Camilla Berglund
fe0317aee5 Documentation work 2016-08-01 11:51:30 +02:00
Camilla Berglund
70423af38c Clarify comments 2016-07-21 00:15:42 +02:00
Camilla Berglund
73abf8a800 Documentation work 2016-07-06 13:06:59 +02:00
Camilla Berglund
4bccb3dc9f Start 3.2.1 2016-06-15 01:35:05 +02:00
Camilla Berglund
757eea2779 Update email address 2016-06-01 21:25:20 +02:00
Camilla Berglund
6a8e169001 Update copyright notice year 2016-06-01 21:25:19 +02:00
Camilla Berglund
f5b71f5329 Add error section to glfwMaximizeWindow reference 2016-06-01 20:34:21 +02:00
Camilla Berglund
20ac3d321f Remove caveat for fixed bug 2016-05-31 21:22:40 +02:00
Camilla Berglund
20bce151c1 Documentation work 2016-05-30 17:00:21 +02:00
Camilla Berglund
325729d0f6 Documentation work 2016-05-22 14:25:04 +02:00
Camilla Berglund
ef80beab81 Add run-time context creation API selection
Fixes #145.
2016-05-04 17:00:07 +02:00
Camilla Berglund
12a695696d Add validation of size limit and aspect ratio args 2016-05-04 16:34:52 +02:00
Emmanuel Gil Peyrot
f0f5d9f644 wayland: Implement size limits and aspect ratio 2016-05-02 21:47:00 +02:00
Camilla Berglund
8a7fa306ce Add glfwSetJoystickCallback 2016-03-31 12:12:09 +02:00
Camilla Berglund
7ab7d8b4b1 Make use of uint32_t where appropriate
This change does not affect the ABI.
2016-03-28 12:34:57 +02:00
Camilla Berglund
5661d03be8 Replace GLFWuint64 with uint64_t
C99 stdint.h is provided by VS 2010 and later.  GLFW has not provided
testing or binaries for VS 2008 for several releases.

For earlier versions of VS there are third-party alternatives:

https://msinttypes.googlecode.com/svn/trunk/stdint.h
http://www.azillionmonkeys.com/qed/pstdint.h

This change does not affect the ABI.
2016-03-28 12:34:44 +02:00
Camilla Berglund
6570d0c4b7 Add glfwSetWindowMonitor
This adds the ability to switch between windowed and full screen modes,
move a full screen window between monitors and update its desired
resolution and refresh rate.

Fixes #43.
2016-03-18 11:13:24 +01:00
Camilla Berglund
b823f7151e Add glfwSetWindowIcon
Adds support for setting window icons programmatically on platforms
where this makes sense.

Fixes #453.
Closes #467.
2016-03-10 17:26:26 +01:00
Camilla Berglund
ee33dcdf33 Fix speling
[ci skip]
2016-03-07 14:43:10 +01:00
Camilla Berglund
defaea3496 Documentation work 2016-03-07 13:36:54 +01:00
Camilla Berglund
46fce40fd5 Fix error lists for raw timer functions 2016-03-07 13:35:37 +01:00
Camilla Berglund
5620895e88 Add glfwWaitEventsTimeout
This function will put the calling thread to sleep until an event
arrives or until the specified timeout has elapsed.
2016-03-06 17:28:40 +01:00
Camilla Berglund
337c77a39b Documentation work 2016-03-06 14:11:14 +01:00
Camilla Berglund
487557b343 Relax thread constraints for glfwSetTime 2016-03-06 11:51:32 +01:00
Camilla Berglund
31f67dd3cc Add glfwGetTimerValue and glfwGetTimerFrequency
This adds raw timer access to the public API and builds the
floating-point time functions on top.  It also makes the GLFWuint64 type
public.
2016-03-06 11:51:23 +01:00
Camilla Berglund
8221aadea3 Include stddef.h unconditionally in public header 2016-03-06 09:40:16 +01:00
Camilla Berglund
baf574494d Add glfwFocusWindow
This removes the (undocumented) behavior where glfwShowWindow would
bring the window to front and set input focus.  That function now
does what it says.
2016-02-25 21:37:40 +01:00
Camilla Berglund
db49aa6bd9 Cleanup 2016-02-22 13:16:43 +01:00