gecko/gfx/layers/ipc/LayersSurfaces.ipdlh

78 lines
1.5 KiB
Plaintext

/* 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 protocol PGrallocBuffer;
include "gfxipc/ShadowLayerUtils.h";
using gfx3DMatrix;
using gfxIntSize;
using gfxPoint;
using gfxRGBA;
using nsIntPoint;
using nsIntRect;
using nsIntRegion;
using nsIntSize;
using mozilla::gfxContentType;
using mozilla::GraphicsFilterType;
using mozilla::layers::FrameMetrics;
using mozilla::layers::MagicGrallocBufferHandle;
using mozilla::layers::SurfaceDescriptorX11;
using mozilla::null_t;
using mozilla::WindowsHandle;
using mozilla::gl::SharedTextureHandle;
using mozilla::gl::TextureImage::TextureShareType;
namespace mozilla {
namespace layers {
union MaybeMagicGrallocBufferHandle {
MagicGrallocBufferHandle;
null_t;
};
struct SurfaceDescriptorD3D10 {
WindowsHandle handle;
};
struct SharedTextureDescriptor {
TextureShareType shareType;
SharedTextureHandle handle;
nsIntSize size;
bool inverted;
};
struct SurfaceDescriptorGralloc {
PGrallocBuffer buffer;
};
struct SharedImageID {
PRUint64 id;
};
union SurfaceDescriptor {
Shmem;
SurfaceDescriptorD3D10;
SurfaceDescriptorGralloc;
SurfaceDescriptorX11;
SharedTextureDescriptor;
};
struct YUVImage {
Shmem Ydata;
Shmem Udata;
Shmem Vdata;
nsIntRect picture;
};
union SharedImage {
SurfaceDescriptor;
YUVImage;
SharedImageID;
null_t;
};
} // namespace
} // namespace