summaryrefslogtreecommitdiffstats
path: root/gfx/layers/ipc/WebRenderMessages.ipdlh
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--gfx/layers/ipc/WebRenderMessages.ipdlh213
1 files changed, 213 insertions, 0 deletions
diff --git a/gfx/layers/ipc/WebRenderMessages.ipdlh b/gfx/layers/ipc/WebRenderMessages.ipdlh
new file mode 100644
index 0000000000..dda247b9e0
--- /dev/null
+++ b/gfx/layers/ipc/WebRenderMessages.ipdlh
@@ -0,0 +1,213 @@
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*-
+ * vim: sw=2 ts=8 et :
+ */
+/* 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/. */
+
+include "mozilla/layers/LayersMessageUtils.h";
+include "mozilla/layers/WebRenderMessageUtils.h";
+
+include LayersSurfaces;
+include LayersMessages;
+include protocol PTexture;
+
+using mozilla::layers::CompositableHandle from "mozilla/layers/LayersTypes.h";
+using mozilla::wr::LayoutSize from "mozilla/webrender/webrender_ffi.h";
+using mozilla::wr::ImageDescriptor from "mozilla/webrender/webrender_ffi.h";
+using mozilla::wr::ImageRendering from "mozilla/webrender/webrender_ffi.h";
+using mozilla::wr::MixBlendMode from "mozilla/webrender/webrender_ffi.h";
+using mozilla::wr::ExternalImageId from "mozilla/webrender/WebRenderTypes.h";
+using mozilla::wr::MaybeFontInstanceOptions from "mozilla/webrender/WebRenderTypes.h";
+using mozilla::wr::MaybeFontInstancePlatformOptions from "mozilla/webrender/WebRenderTypes.h";
+using mozilla::wr::FontInstanceKey from "mozilla/webrender/WebRenderTypes.h";
+using mozilla::wr::FontKey from "mozilla/webrender/WebRenderTypes.h";
+using mozilla::wr::ImageKey from "mozilla/webrender/WebRenderTypes.h";
+using mozilla::wr::BlobImageKey from "mozilla/webrender/WebRenderTypes.h";
+using mozilla::wr::PipelineId from "mozilla/webrender/WebRenderTypes.h";
+using mozilla::gfx::MaybeIntSize from "mozilla/gfx/Point.h";
+using mozilla::LayoutDeviceRect from "Units.h";
+using mozilla::LayoutDeviceSize from "Units.h";
+using mozilla::ImageIntRect from "Units.h";
+using mozilla::gfx::Rect from "mozilla/gfx/Rect.h";
+using mozilla::VideoInfo::Rotation from "MediaInfo.h";
+using class mozilla::gfx::Matrix4x4 from "mozilla/gfx/Matrix.h";
+using struct mozilla::void_t from "mozilla/ipc/IPCCore.h";
+
+namespace mozilla {
+namespace layers {
+
+struct RefCountedShmem {
+ Shmem buffer;
+};
+
+struct OpAddPrivateExternalImage {
+ ExternalImageId externalImageId;
+ ImageKey key;
+ ImageDescriptor descriptor;
+};
+
+struct OpAddSharedExternalImage {
+ ExternalImageId externalImageId;
+ ImageKey key;
+};
+
+struct OpPushExternalImageForTexture {
+ ExternalImageId externalImageId;
+ ImageKey key;
+ PTexture texture;
+ bool isUpdate;
+};
+
+struct OpAddCompositorAnimations {
+ CompositorAnimations data;
+};
+
+struct OpAddPipelineIdForCompositable {
+ PipelineId pipelineId;
+ CompositableHandle handle;
+ bool isAsync;
+};
+
+struct OpRemovePipelineIdForCompositable {
+ PipelineId pipelineId;
+};
+
+struct OpReleaseTextureOfImage {
+ ImageKey key;
+};
+
+struct OpUpdateAsyncImagePipeline {
+ PipelineId pipelineId;
+ LayoutDeviceRect scBounds;
+ Rotation rotation;
+ ImageRendering filter;
+ MixBlendMode mixBlendMode;
+};
+
+struct OpUpdatedAsyncImagePipeline {
+ PipelineId pipelineId;
+};
+
+union WebRenderParentCommand {
+ OpAddPipelineIdForCompositable;
+ OpRemovePipelineIdForCompositable;
+ OpReleaseTextureOfImage;
+ OpUpdateAsyncImagePipeline;
+ OpUpdatedAsyncImagePipeline;
+ CompositableOperation;
+ OpAddCompositorAnimations;
+};
+
+struct OffsetRange {
+ uint32_t source;
+ uint32_t start;
+ uint32_t length;
+};
+
+struct OpAddImage {
+ ImageDescriptor descriptor;
+ OffsetRange bytes;
+ uint16_t tiling;
+ ImageKey key;
+};
+
+struct OpAddBlobImage {
+ ImageDescriptor descriptor;
+ OffsetRange bytes;
+ ImageIntRect visibleRect;
+ uint16_t tiling;
+ BlobImageKey key;
+};
+
+struct OpUpdateImage {
+ ImageDescriptor descriptor;
+ OffsetRange bytes;
+ ImageKey key;
+};
+
+struct OpUpdateBlobImage {
+ ImageDescriptor descriptor;
+ OffsetRange bytes;
+ BlobImageKey key;
+ ImageIntRect visibleRect;
+ ImageIntRect dirtyRect;
+};
+
+struct OpSetBlobImageVisibleArea {
+ ImageIntRect area;
+ BlobImageKey key;
+};
+
+struct OpUpdatePrivateExternalImage {
+ ExternalImageId externalImageId;
+ ImageKey key;
+ ImageDescriptor descriptor;
+ ImageIntRect dirtyRect;
+};
+
+struct OpUpdateSharedExternalImage {
+ ExternalImageId externalImageId;
+ ImageKey key;
+ ImageIntRect dirtyRect;
+};
+
+struct OpDeleteImage {
+ ImageKey key;
+};
+
+struct OpDeleteBlobImage {
+ BlobImageKey key;
+};
+
+struct OpAddRawFont {
+ OffsetRange bytes;
+ uint32_t fontIndex;
+ FontKey key;
+};
+
+struct OpAddFontDescriptor {
+ OffsetRange bytes;
+ uint32_t fontIndex;
+ FontKey key;
+};
+
+struct OpDeleteFont {
+ FontKey key;
+};
+
+struct OpAddFontInstance {
+ MaybeFontInstanceOptions options;
+ MaybeFontInstancePlatformOptions platformOptions;
+ OffsetRange variations;
+ FontInstanceKey instanceKey;
+ FontKey fontKey;
+ float glyphSize;
+};
+
+struct OpDeleteFontInstance {
+ FontInstanceKey key;
+};
+
+union OpUpdateResource {
+ OpAddImage;
+ OpAddBlobImage;
+ OpUpdateImage;
+ OpUpdateBlobImage;
+ OpSetBlobImageVisibleArea;
+ OpDeleteImage;
+ OpDeleteBlobImage;
+ OpAddRawFont;
+ OpAddFontDescriptor;
+ OpDeleteFont;
+ OpAddFontInstance;
+ OpDeleteFontInstance;
+ OpAddPrivateExternalImage;
+ OpAddSharedExternalImage;
+ OpPushExternalImageForTexture;
+ OpUpdatePrivateExternalImage;
+ OpUpdateSharedExternalImage;
+};
+
+} // namespace
+} // namespace