gecko-dev/widget/gtk/WindowSurfaceX11SHM.h
Robert Mader cc94065f1b Bug 1709606 - Move WindowSurface* into the gtk backend, r=stransky
It's only used by the GTK backend and all other users are located
there as well. Further more, it's unlikely that the will ever be
another X11 backend or that these classes will get reused elsewhere.

So in order to keep changes to `WindowSurface` out of the common
widget space, move it into `gtk`.

While on it, also clean up the affected moz.build files a bit
by making orders more consistent. No functional changes intended.

Differential Revision: https://phabricator.services.mozilla.com/D114422
2021-05-07 12:31:26 +00:00

37 lines
1.0 KiB
C++

/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#ifndef _MOZILLA_WIDGET_WINDOW_SURFACE_X11_SHM_H
#define _MOZILLA_WIDGET_WINDOW_SURFACE_X11_SHM_H
#ifdef MOZ_X11
# include "mozilla/widget/WindowSurface.h"
# include "nsShmImage.h"
namespace mozilla {
namespace widget {
class WindowSurfaceX11SHM : public WindowSurface {
public:
WindowSurfaceX11SHM(Display* aDisplay, Drawable aWindow, Visual* aVisual,
unsigned int aDepth);
already_AddRefed<gfx::DrawTarget> Lock(
const LayoutDeviceIntRegion& aRegion) override;
void Commit(const LayoutDeviceIntRegion& aInvalidRegion) override;
private:
RefPtr<nsShmImage> mFrontImage;
RefPtr<nsShmImage> mBackImage;
};
} // namespace widget
} // namespace mozilla
#endif // MOZ_X11
#endif // _MOZILLA_WIDGET_WINDOW_SURFACE_X11_SHM_H