1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- /* 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_InProcessCompositorWidget_h__
- #define mozilla_widget_InProcessCompositorWidget_h__
- #include "CompositorWidget.h"
- namespace mozilla {
- namespace widget {
- // This version of CompositorWidget implements a wrapper around
- // nsBaseWidget.
- class InProcessCompositorWidget : public CompositorWidget
- {
- public:
- explicit InProcessCompositorWidget(nsBaseWidget* aWidget);
- virtual bool PreRender(WidgetRenderingContext* aManager) override;
- virtual void PostRender(WidgetRenderingContext* aManager) override;
- virtual void DrawWindowUnderlay(WidgetRenderingContext* aContext,
- LayoutDeviceIntRect aRect) override;
- virtual void DrawWindowOverlay(WidgetRenderingContext* aContext,
- LayoutDeviceIntRect aRect) override;
- virtual already_AddRefed<gfx::DrawTarget> StartRemoteDrawing() override;
- virtual already_AddRefed<gfx::DrawTarget>
- StartRemoteDrawingInRegion(LayoutDeviceIntRegion& aInvalidRegion,
- layers::BufferMode* aBufferMode) override;
- virtual void EndRemoteDrawing() override;
- virtual void EndRemoteDrawingInRegion(gfx::DrawTarget* aDrawTarget,
- LayoutDeviceIntRegion& aInvalidRegion) override;
- virtual void CleanupRemoteDrawing() override;
- virtual void CleanupWindowEffects() override;
- virtual bool InitCompositor(layers::Compositor* aCompositor) override;
- virtual LayoutDeviceIntSize GetClientSize() override;
- virtual uint32_t GetGLFrameBufferFormat() override;
- virtual layers::Composer2D* GetComposer2D() override;
- virtual void ObserveVsync(VsyncObserver* aObserver) override;
- virtual uintptr_t GetWidgetKey() override;
- // If you can override this method, inherit from CompositorWidget instead.
- nsIWidget* RealWidget() override;
- private:
- nsBaseWidget* mWidget;
- };
- } // namespace widget
- } // namespace mozilla
- #endif
|