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

143 строки
3.4 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 LayersSurfaces;
include LayersMessages;
include protocol PTexture;
using mozilla::wr::ByteBuffer from "mozilla/webrender/WebRenderTypes.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::MaybeImageMask from "mozilla/webrender/WebRenderTypes.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::PipelineId from "mozilla/webrender/WebRenderTypes.h";
using mozilla::gfx::MaybeIntSize from "mozilla/gfx/Point.h";
using mozilla::LayoutDeviceRect from "Units.h";
using class mozilla::gfx::Matrix4x4 from "mozilla/gfx/Matrix.h";
using struct mozilla::void_t from "ipc/IPCMessageUtils.h";
namespace mozilla {
namespace layers {
union OptionalTransform {
Matrix4x4;
void_t;
};
union OptionalOpacity {
float;
void_t;
};
struct OpAddExternalImage {
ExternalImageId externalImageId;
ImageKey key;
};
struct OpAddCompositorAnimations {
CompositorAnimations data;
OptionalTransform transform;
OptionalOpacity opacity;
};
struct OpUpdateAsyncImagePipeline {
PipelineId pipelineId;
LayoutDeviceRect scBounds;
Matrix4x4 scTransform;
MaybeIntSize scaleToSize;
ImageRendering filter;
MixBlendMode mixBlendMode;
};
union WebRenderParentCommand {
OpUpdateAsyncImagePipeline;
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;
uint16_t tiling;
ImageKey key;
};
struct OpUpdateImage {
ImageDescriptor descriptor;
OffsetRange bytes;
ImageKey key;
};
struct OpUpdateBlobImage {
ImageDescriptor descriptor;
OffsetRange bytes;
ImageKey key;
};
struct OpDeleteImage {
ImageKey key;
};
struct OpAddRawFont {
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;
OpDeleteImage;
OpAddRawFont;
OpDeleteFont;
OpAddFontInstance;
OpDeleteFontInstance;
OpAddExternalImage;
};
} // namespace
} // namespace