gecko-dev/gfx/layers/ipc/WebRenderMessages.ipdlh

197 строки
4.5 KiB
Plaintext

/* -*- 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/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::ImageIntRect from "Units.h";
using mozilla::gfx::Rect from "mozilla/gfx/Rect.h";
using class mozilla::gfx::Matrix4x4 from "mozilla/gfx/Matrix.h";
using struct mozilla::void_t from "ipc/IPCMessageUtils.h";
namespace mozilla {
namespace layers {
struct RefCountedShmem {
Shmem buffer;
};
struct OpAddExternalImage {
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;
Matrix4x4 scTransform;
MaybeIntSize scaleToSize;
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 OpUpdateExternalImage {
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;
OpAddExternalImage;
OpPushExternalImageForTexture;
OpUpdateExternalImage;
};
} // namespace
} // namespace