mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-21 17:25:36 +00:00
795cf400a0
CompositorWidgetChild is about to be responsible for creating, destroying, and presenting a shared buffer that CompositorWidgetParent will draw into. To do this, it will need the window handle, transparency mode changes, window size changes, and window size mode changes. Its creation is also about to become fallible, so it needs a separate initialization routine. Differential Revision: https://phabricator.services.mozilla.com/D57430 --HG-- extra : moz-landing-system : lando
40 lines
1.4 KiB
C++
40 lines
1.4 KiB
C++
/* -*- Mode: C++; tab-width: 2; 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 widget_gtk_CompositorWidgetChild_h
|
|
#define widget_gtk_CompositorWidgetChild_h
|
|
|
|
#include "GtkCompositorWidget.h"
|
|
#include "mozilla/widget/PCompositorWidgetChild.h"
|
|
#include "mozilla/widget/CompositorWidgetVsyncObserver.h"
|
|
|
|
namespace mozilla {
|
|
namespace widget {
|
|
|
|
class CompositorWidgetChild final : public PCompositorWidgetChild,
|
|
public PlatformCompositorWidgetDelegate {
|
|
public:
|
|
CompositorWidgetChild(RefPtr<CompositorVsyncDispatcher> aVsyncDispatcher,
|
|
RefPtr<CompositorWidgetVsyncObserver> aVsyncObserver,
|
|
const CompositorWidgetInitData&);
|
|
~CompositorWidgetChild() override;
|
|
|
|
bool Initialize();
|
|
|
|
mozilla::ipc::IPCResult RecvObserveVsync() override;
|
|
mozilla::ipc::IPCResult RecvUnobserveVsync() override;
|
|
|
|
void NotifyClientSizeChanged(const LayoutDeviceIntSize& aClientSize) override;
|
|
|
|
private:
|
|
RefPtr<CompositorVsyncDispatcher> mVsyncDispatcher;
|
|
RefPtr<CompositorWidgetVsyncObserver> mVsyncObserver;
|
|
};
|
|
|
|
} // namespace widget
|
|
} // namespace mozilla
|
|
|
|
#endif // widget_gtk_CompositorWidgetChild_h
|