Line data Source code
1 : /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 : /* This Source Code Form is subject to the terms of the Mozilla Public
3 : * License, v. 2.0. If a copy of the MPL was not distributed with this
4 : * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
5 :
6 : #include "InProcessX11CompositorWidget.h"
7 :
8 : #include "nsWindow.h"
9 :
10 : namespace mozilla {
11 : namespace widget {
12 :
13 : /* static */ RefPtr<CompositorWidget>
14 1 : CompositorWidget::CreateLocal(const CompositorWidgetInitData& aInitData,
15 : const layers::CompositorOptions& aOptions,
16 : nsIWidget* aWidget)
17 : {
18 1 : return new InProcessX11CompositorWidget(aInitData, aOptions, static_cast<nsWindow*>(aWidget));
19 : }
20 :
21 1 : InProcessX11CompositorWidget::InProcessX11CompositorWidget(const CompositorWidgetInitData& aInitData,
22 : const layers::CompositorOptions& aOptions,
23 1 : nsWindow* aWindow)
24 1 : : X11CompositorWidget(aInitData, aOptions, aWindow)
25 : {
26 1 : }
27 :
28 : void
29 17 : InProcessX11CompositorWidget::ObserveVsync(VsyncObserver* aObserver)
30 : {
31 34 : if (RefPtr<CompositorVsyncDispatcher> cvd = mWidget->GetCompositorVsyncDispatcher()) {
32 17 : cvd->SetCompositorVsyncObserver(aObserver);
33 : }
34 17 : }
35 :
36 : } // namespace widget
37 : } // namespace mozilla
|