gecko-dev/widget/gtk/CompositorWidgetChild.h
Chris Martin 795cf400a0 Bug 1604412 - Give CompositorWidgetChild more window info r=sotaro
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
2020-01-08 18:37:38 +00:00

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