Commit Graph

32 Commits

Author SHA1 Message Date
Camilla Löwy
b925a54ef1 Wayland: Move DPI fallback work to output done
This removes the dependency on the (unspecified) ordering of geometry
and mode events in wl_output.

Based on feedback from @linkmauve and @caramelli.

Related to #1792.
2021-02-10 20:43:11 +01:00
Nicolas Caramelli
1adfbde4d7 Wayland: Move 96 DPI default to outputHandleMode
Closes #1792.
2020-12-09 19:11:40 +01:00
Camilla Löwy
9a87c2a4b4 Add feature available/implemented errors
This adds two new error codes: GLFW_FEATURE_UNAVAILABLE for when
a GLFW feature cannot be reasonably implemented on that platform, and
GLFW_FEATURE_UNIMPLEMENTED for when it can be but has not been yet.

This replaces the current situation where the Wayland code emitted
GLFW_PLATFORM_ERROR in both cases while the macOS code silently did
nothing.

If your application exits on any GLFW error, these error codes should at
least be easy to filter out from that behavior.

Ideally, GLFW_FEATURE_UNAVAILABLE should be rare and
GLFW_FEATURE_UNIMPLEMENTED should never be emitted at all.

Fixes #1692.
2020-06-02 17:18:18 +02:00
Luflosi
e463e85bba
Fix typo
Closes #1513.
2019-07-01 11:30:57 +02:00
Camilla Löwy
56aad76b16 Add C dialect reminders to each source file
Files built for Win32 must use C89 style declarations for compatibility
with VS 2010 and 2012, which are still supported by GLFW.
2019-05-24 14:43:49 +02:00
Camilla Löwy
a337c56848 Start 3.4 2019-04-16 23:08:39 +02:00
Camilla Löwy
0118743333 Formatting
Related to #1322.
2019-03-05 16:58:45 +01:00
Doug Binks
ba4e78e57f Wayland: Return whole output area as work area
Related to #1322.
2019-03-05 16:10:59 +01:00
Camilla Löwy
621ece63c8 Round refresh rate instead of truncating
Fixes #1441.
2019-03-04 17:31:14 +01:00
Camilla Löwy
52c7a4fc7f Fix glfwGetGammaRamp error handling
This makes glfwGetGammaRamp return NULL on platform error as specified.

Related to #1387.
2018-12-26 15:00:39 +01:00
Alexander Monakov
064dfaa549 Wayland: Remove gamma-related TODOs
Commit 9c513346ad ("Gamma will never be
supported on Wayland") made it clear that it cannot be implemented, so
this removes the TODO markers and rewords the error messages.

Related to #1387.
2018-12-26 14:50:22 +01:00
Emmanuel Gil Peyrot
754b7feaa1 Wayland: Rename handlers for more unicity 2018-09-29 21:01:03 +02:00
Emmanuel Gil Peyrot
4d3f0fb5df Wayland: Split long lines for function declaration 2018-09-29 18:11:13 +02:00
Emmanuel Gil Peyrot
8d98a6e37d Add a FreeMonitor platform API
This fixes the leak of a wl_output object everytime a monitor is freed.
2018-03-01 08:31:54 +01:00
Emmanuel Gil Peyrot
d6b9d00ceb Wayland: Handle monitor removal 2018-02-24 22:18:39 +01:00
Camilla Löwy
973bf29622 Remove use of non-standard function strdup
Related to #873.
2018-01-17 11:56:35 +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
04f559e28d Restructure monitor enumeration
This way is both kinder on event-based enumeration and less work to
unwind allocations for when properly implementing GLFW_OUT_OF_MEMORY.
2017-01-02 06:03:02 +01:00
Emmanuel Gil Peyrot
8210f89b12 Wayland: Set a proper name for outputs.
glfwGetMonitorName()’s documentation says “this function returns a
human-readable name”, which “typically reflects the make and model of
the monitor”.  We get these two strings in the geometry event, so we
only set the name at this point.
2016-11-04 09:58:45 +00:00
Emmanuel Gil Peyrot
a49601ba87 Wayland: Rename snake_case identifiers to camelCase for consistency 2016-10-12 14:13:52 +01:00
Camilla Berglund
53fafad915 Start 3.3 2016-08-18 23:55:49 +02:00
Camilla Berglund
e77a76a284 Cleanup 2016-08-04 13:19:22 +02:00
Emmanuel Gil Peyrot
1e82832737 wayland: Report unsupported operations as errors 2016-05-02 21:49:57 +02:00
Emmanuel Gil Peyrot
06479ba535 Wayland: Implement HiDPI support
Windows now keep track of the monitors they are on, so we can calculate
the best scaling factor for them, by using the maximum of each of the
monitors.

The compositor scales down the buffer automatically when it is on a
lower density monitor, instead of the previous way where it was scaling
up the buffer on higher density monitors, which makes the application
look much better on those ones.
2015-12-27 10:35:46 +08:00
Camilla Berglund
12b6c56903 Add suffixes to platform specific helper functions
Also merge win32_tls.h into win32_platform.h.
2015-12-13 14:50:59 +01:00
Emmanuel Gil Peyrot
0fda5b7b80 Fix Wayland refresh rate exposed as mHz
Closes #621.
2015-10-25 13:27:29 +01:00
Camilla Berglund
a407a673dd Add native Wayland and Mir functions
Fixes #419.
2015-10-15 01:48:44 +02:00
Camilla Berglund
0eccf75f65 Replace GL booleans with public macros 2015-10-13 00:46:02 +02:00
Camilla Berglund
95a07f3340 Start 3.2 2015-10-12 21:59:49 +02:00
Camilla Berglund
59d1aa52f2 Merged gamma files into monitor files. 2014-08-18 12:31:48 +02:00
Ricardo Vieira
704dc3e34d Fixed crash on Wayland with DRM-backend.
Fixes #319.
Fixes #301.
2014-07-01 10:41:32 +02:00
Camilla Berglund
1127c0e6e5 Renamed Wayland files to match prefix. 2014-04-08 17:47:38 +02:00