mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
124 lines
2.7 KiB
Plaintext
124 lines
2.7 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/. */
|
|
|
|
using struct gfxPoint from "gfxPoint.h";
|
|
using nsIntRegion from "nsRegion.h";
|
|
using struct mozilla::layers::MagicGrallocBufferHandle from "gfxipc/ShadowLayerUtils.h";
|
|
using struct mozilla::layers::GrallocBufferRef from "gfxipc/ShadowLayerUtils.h";
|
|
using struct mozilla::layers::SurfaceDescriptorX11 from "gfxipc/ShadowLayerUtils.h";
|
|
using struct mozilla::null_t from "ipc/IPCMessageUtils.h";
|
|
using mozilla::WindowsHandle from "ipc/IPCMessageUtils.h";
|
|
using mozilla::gfx::SurfaceFormat from "mozilla/gfx/Types.h";
|
|
using mozilla::gfx::IntRect from "mozilla/gfx/Rect.h";
|
|
using mozilla::gfx::IntSize from "mozilla/gfx/Point.h";
|
|
using gfxImageFormat from "gfxTypes.h";
|
|
|
|
namespace mozilla {
|
|
namespace layers {
|
|
|
|
union OverlayHandle {
|
|
int32_t;
|
|
null_t;
|
|
};
|
|
|
|
struct OverlaySource {
|
|
OverlayHandle handle;
|
|
IntSize size;
|
|
};
|
|
|
|
union MaybeMagicGrallocBufferHandle {
|
|
MagicGrallocBufferHandle;
|
|
GrallocBufferRef;
|
|
null_t;
|
|
};
|
|
|
|
struct SurfaceDescriptorD3D9 {
|
|
// IDirect3DTexture9*
|
|
uintptr_t texture;
|
|
};
|
|
|
|
struct SurfaceDescriptorFileMapping {
|
|
WindowsHandle handle;
|
|
SurfaceFormat format;
|
|
IntSize size;
|
|
};
|
|
|
|
struct SurfaceDescriptorDIB {
|
|
// gfxWindowsSurface*
|
|
uintptr_t surface;
|
|
};
|
|
|
|
struct SurfaceDescriptorD3D10 {
|
|
WindowsHandle handle;
|
|
SurfaceFormat format;
|
|
IntSize size;
|
|
};
|
|
|
|
struct SurfaceDescriptorDXGIYCbCr {
|
|
WindowsHandle handleY;
|
|
WindowsHandle handleCb;
|
|
WindowsHandle handleCr;
|
|
IntSize size;
|
|
IntSize sizeY;
|
|
IntSize sizeCbCr;
|
|
};
|
|
|
|
struct SurfaceDescriptorMacIOSurface {
|
|
uint32_t surfaceId;
|
|
double scaleFactor;
|
|
bool isOpaque;
|
|
};
|
|
|
|
struct SurfaceTextureDescriptor {
|
|
uintptr_t surfTex;
|
|
IntSize size;
|
|
};
|
|
|
|
struct EGLImageDescriptor {
|
|
uintptr_t image; // `EGLImage` is a `void*`.
|
|
uintptr_t fence;
|
|
IntSize size;
|
|
bool hasAlpha;
|
|
};
|
|
|
|
struct NewSurfaceDescriptorGralloc {
|
|
MaybeMagicGrallocBufferHandle buffer;
|
|
bool isOpaque;
|
|
};
|
|
|
|
/**
|
|
* Used for shmem-backed YCbCr and (flavors of) RGBA textures
|
|
*/
|
|
struct SurfaceDescriptorShmem {
|
|
Shmem data;
|
|
SurfaceFormat format;
|
|
};
|
|
|
|
/**
|
|
* Used for "raw memory"-backed YCbCr and (flavors of) RGBA textures
|
|
*/
|
|
struct SurfaceDescriptorMemory {
|
|
uintptr_t data;
|
|
SurfaceFormat format;
|
|
};
|
|
|
|
union SurfaceDescriptor {
|
|
SurfaceDescriptorShmem;
|
|
SurfaceDescriptorMemory;
|
|
SurfaceDescriptorD3D9;
|
|
SurfaceDescriptorDIB;
|
|
SurfaceDescriptorD3D10;
|
|
SurfaceDescriptorFileMapping;
|
|
SurfaceDescriptorDXGIYCbCr;
|
|
SurfaceDescriptorX11;
|
|
SurfaceTextureDescriptor;
|
|
EGLImageDescriptor;
|
|
SurfaceDescriptorMacIOSurface;
|
|
NewSurfaceDescriptorGralloc;
|
|
null_t;
|
|
};
|
|
|
|
} // namespace
|
|
} // namespace
|