Commit Graph

10 Commits

Author SHA1 Message Date
Jan Horak
f82532e89c Bug 1431337 - Scale content for the actual monitor, not the first one; r=stransky
We need to use scaling factor of the monitor on which application is actually positioned.
Previously we used ScreenHelperGTK::GetGTKMonitorScaleFactor() which use the first monitor.
This does not work on hidpi+normal dpi monitors setup.

The GetSystemFontInfo() cannot return scaled value of the font by default monitor
scale factor. We need to scale it in nsLookAndFeel::GetFontImpl
by aDevPixPerCSSPixel like implementation for Windows does.

We also need to check layout.css.devPixelsPerPx because we cannot
scale per monitor when this preference is set to positive number.

MozReview-Commit-ID: AwT2NvkEqvz
2018-01-18 11:52:59 +01:00
Chris Peterson
6758bf6a84 Bug 1436263 - Part 1: Replace final override virtual function specifiers with just final. r=froydnj
MozReview-Commit-ID: DE5HkIhsZ6D
2018-02-05 22:46:57 -08:00
Chris Peterson
677bf4030c Bug 1428535 - Add missing override specifiers to overridden virtual functions. r=froydnj
MozReview-Commit-ID: DCPTnyBooIe
2017-11-05 19:37:28 -08:00
Martin Stransky
9793925005 Bug 1426351 - WindowSurfaceWayland - delete WaylandDisplay owned by compositor thread at compositor thread, r=jhorak
MozReview-Commit-ID: 6jtdXuiTj1F
2017-12-20 14:18:18 +01:00
Martin Stransky
34a54a2507 Bug 1425820 - build fix of SetImageDataFromBackBuffer definition/call, r=jhorak
MozReview-Commit-ID: 7NJMCdhd400
2017-12-18 11:53:30 +01:00
Martin Stransky
3195250269 Bug 1422966 - Implement SurfaceWayland for Wayland, r=jhorak
WindowSurfaceWayland is Wayland implementation of WindowSurface class.
One WindowSurfaceWayland object manages drawing of one nsWindow so
those are tied 1:1. It implements base Lock() and Commit() interfaces
from WindowSurface. At Wayland side it represents one wl_surface object.

To perform visualiation of nsWindow, WindowSurfaceWayland contains
one wl_surface and two wl_buffer (by WindowBackBuffer) objects
(as we use double buffering). When nsWindow drawing is finished to
wl_buffer, the wl_buffer is attached to wl_surface and it's sent to
Wayland compositor.

MozReview-Commit-ID: 9NoamtF87e6
2017-12-04 22:29:08 +01:00
Martin Stransky
bf1bdce7ad Bug 1422966 - implemented WindowBackBuffer to encapsulate wl_buffer, r=jhorak
wl_buffer is a main Wayland object with graphics data. wl_buffer basically represent one complete window screen.
When double buffering is involved every window (GdkWindow in our case) utilises two wl_buffers which are cycled.
One is filed with data by application and one is rendered by compositor.

WindowBackBuffer class manages one wl_buffer. It owns wl_buffer object, owns WaylandShmPool (which provides shared memory)
and ties them together.

MozReview-Commit-ID: v8Hlezo7oD
2017-12-04 22:25:26 +01:00
Martin Stransky
fa28d4d496 Bug 1422966 - implement WaylandShmPool to manage shared memory for wl_buffer, r=jhorak
We allocate shared memory (shm) by mmap(..., MAP_SHARED,...) as an interface between wayland based application
and wayland compositor. We draw our graphics data to the shm and handle to wayland compositor by wl_buffer/wl_surface.

WaylandShmPool acts as a manager of the allocated memory. Allocates it, holds reference to it and releases it.

MozReview-Commit-ID: CY6oEIl4Vxa
2017-12-04 22:22:04 +01:00
Martin Stransky
2a421711f7 Bug 1281425 - Implement wayland loop to process wl_display events for threads and bind wl_registry for wl_shm, r=jhorak
MozReview-Commit-ID: 1pS1wfOiOo4
2017-11-02 17:08:33 +01:00
Martin Stransky
3e7afd36fb Bug 1281425 - Added nsWaylandDisplay class to support access to Wayland display, r=jhorak
MozReview-Commit-ID: 6IU5hS15MmM
2017-10-26 20:19:36 +02:00