winit-sonoma-fix/CHANGELOG.md
Francesca Sunshine 23e4293179 unix::WindowExt no longer returns pointers for things that aren't actually pointers (#364)
Fixes #256

`get_xlib_window` and `get_xlib_screen_id` previously returned `Option<*mut c_void>` by
casting integer IDs into pointers, which while producing no functionality issues, is
semantically incorrect and rather surprising. Worse still, the docs for `get_xlib_window`
stated that it was in fact a valid pointer.

Additionally, now all `unix::WindowExt` methods return `std::os::raw` types rather than
`libc` types; note that the two versions of `c_void` are not interchangeable in the eyes of
the compiler, so those wanting the `libc` type will need to explicitly cast.

This is a breaking change, and will require some trivial changes to glutin.
2017-12-17 10:17:26 +01:00

3.4 KiB

Unreleased

  • Add support for Touch for emscripten backend.
  • Added support for DroppedFile, HoveredFile, and HoveredFileCancelled to X11 backend.
  • Breaking: unix::WindowExt no longer returns pointers for things that aren't actually pointers; get_xlib_window now returns Option<std::os::raw::c_ulong> and get_xlib_screen_id returns Option<std::os::raw::c_int>. Additionally, methods that previously returned libc::c_void have been changed to return std::os::raw::c_void, which are not interchangeable types, so users wanting the former will need to explicitly cast.

Version 0.9.0 (2017-12-01)

  • Added event WindowEvent::HiDPIFactorChanged.
  • Added method MonitorId::get_hidpi_factor.
  • Deprecated get_inner_size_pixels and get_inner_size_points methods of Window in favor of get_inner_size.
  • Breaking: EventsLoop is !Send and !Sync because of platform-dependant constraints, but Window, WindowId, DeviceId and MonitorId guaranteed to be Send.
  • MonitorId::get_position now returns (i32, i32) instead of (u32, u32).
  • Rewrite of the wayland backend to use wayland-client-0.11
  • Support for dead keys on wayland for keyboard utf8 input
  • Monitor enumeration on Windows is now implemented using EnumDisplayMonitors instead of EnumDisplayDevices. This changes the value returned by MonitorId::get_name().
  • On Windows added MonitorIdExt::hmonitor method
  • Impl Clone for EventsLoopProxy
  • EventsLoop::get_primary_monitor() on X11 will fallback to any available monitor if no primary is found
  • Support for touch event on wayland
  • WindowEvents MouseMoved, MouseEntered, and MouseLeft have been renamed to CursorMoved, CursorEntered, and CursorLeft.
  • New DeviceEvents added, MouseMotion and MouseWheel.
  • Send CursorMoved event after CursorEntered and Focused events.
  • Add support for ModifiersState, MouseMove, MouseInput, MouseMotion for emscripten backend.

Version 0.8.3 (2017-10-11)

  • Fixed issue of calls to set_inner_size blocking on Windows.
  • Mapped ISO_Left_Tab to VirtualKeyCode::Tab to make the key work with modifiers
  • Fixed the X11 backed on 32bit targets

Version 0.8.2 (2017-09-28)

  • Uniformize keyboard scancode values accross Wayland and X11 (#297).
  • Internal rework of the wayland event loop
  • Added method os::linux::WindowExt::is_ready

Version 0.8.1 (2017-09-22)

  • Added various methods to os::linux::EventsLoopExt, plus some hidden items necessary to make glutin work.

Version 0.8.0 (2017-09-21)

  • Added Window::set_maximized, WindowAttributes::maximized and WindowBuilder::with_maximized.
  • Added Window::set_fullscreen.
  • Changed with_fullscreen to take a Option<MonitorId> instead of a MonitorId.
  • Removed MonitorId::get_native_identifer() in favor of platform-specific traits in the os module.
  • Changed get_available_monitors() and get_primary_monitor() to be methods of EventsLoop instead of stand-alone methods.
  • Changed EventsLoop to be tied to a specific X11 or Wayland connection.
  • Added a os::linux::EventsLoopExt trait that makes it possible to configure the connection.
  • Fixed the emscripten code, which now compiles.
  • Changed the X11 fullscreen code to use xrandr instead of xxf86vm.
  • Fixed the Wayland backend to produce Refresh event after window creation.
  • Changed the Suspended event to be outside of WindowEvent.
  • Fixed the X11 backend sometimes reporting the wrong virtual key (#273).