tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

WebRenderMessages.ipdlh (5066B)


      1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*-
      2  * vim: sw=2 ts=8 et :
      3  */
      4 /* This Source Code Form is subject to the terms of the Mozilla Public
      5  * License, v. 2.0. If a copy of the MPL was not distributed with this
      6  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
      7 
      8 include "mozilla/layers/LayersMessageUtils.h";
      9 include "mozilla/layers/WebRenderMessageUtils.h";
     10 
     11 include LayersSurfaces;
     12 include LayersMessages;
     13 include protocol PTexture;
     14 
     15 using mozilla::layers::CompositableHandle from "mozilla/layers/LayersTypes.h";
     16 using mozilla::layers::CompositableHandleOwner from "mozilla/layers/LayersTypes.h";
     17 using mozilla::wr::LayoutSize from "mozilla/webrender/webrender_ffi.h";
     18 using mozilla::wr::ImageDescriptor from "mozilla/webrender/webrender_ffi.h";
     19 using mozilla::wr::ImageRendering from "mozilla/webrender/webrender_ffi.h";
     20 using mozilla::wr::MixBlendMode from "mozilla/webrender/webrender_ffi.h";
     21 using mozilla::wr::ExternalImageId from "mozilla/webrender/WebRenderTypes.h";
     22 using mozilla::wr::MaybeFontInstanceOptions from "mozilla/webrender/WebRenderTypes.h";
     23 using mozilla::wr::MaybeFontInstancePlatformOptions from "mozilla/webrender/WebRenderTypes.h";
     24 using mozilla::wr::FontInstanceKey from "mozilla/webrender/WebRenderTypes.h";
     25 using mozilla::wr::FontKey from "mozilla/webrender/WebRenderTypes.h";
     26 using mozilla::wr::ImageKey from "mozilla/webrender/WebRenderTypes.h";
     27 using mozilla::wr::BlobImageKey from "mozilla/webrender/WebRenderTypes.h";
     28 using mozilla::wr::SnapshotImageKey from "mozilla/webrender/WebRenderTypes.h";
     29 using mozilla::wr::WrRotation from "mozilla/webrender/WebRenderTypes.h";
     30 using mozilla::wr::PipelineId from "mozilla/webrender/WebRenderTypes.h";
     31 using mozilla::LayoutDeviceRect from "Units.h";
     32 using mozilla::LayoutDeviceSize from "Units.h";
     33 using mozilla::ImageIntRect from "Units.h";
     34 using mozilla::gfx::Rect from "mozilla/gfx/Rect.h";
     35 using mozilla::gfx::Matrix4x4 from "mozilla/gfx/Matrix.h";
     36 using struct mozilla::void_t from "mozilla/ipc/IPCCore.h";
     37 
     38 namespace mozilla {
     39 namespace layers {
     40 
     41 struct RefCountedShmem {
     42   Shmem buffer;
     43 };
     44 
     45 struct OpAddSharedExternalImage {
     46   ExternalImageId externalImageId;
     47   ImageKey key;
     48 };
     49 
     50 struct OpPushExternalImageForTexture {
     51   ExternalImageId externalImageId;
     52   ImageKey key;
     53   PTexture texture;
     54   bool isUpdate;
     55 };
     56 
     57 struct OpAddCompositorAnimations {
     58   CompositorAnimations data;
     59 };
     60 
     61 struct OpAddPipelineIdForCompositable {
     62   PipelineId pipelineId;
     63   CompositableHandle handle;
     64   CompositableHandleOwner owner;
     65 };
     66 
     67 struct OpRemovePipelineIdForCompositable {
     68   PipelineId pipelineId;
     69 };
     70 
     71 struct OpReleaseTextureOfImage {
     72   ImageKey key;
     73 };
     74 
     75 struct OpUpdateAsyncImagePipeline {
     76   PipelineId pipelineId;
     77   LayoutDeviceRect scBounds;
     78   WrRotation rotation;
     79   ImageRendering filter;
     80   MixBlendMode mixBlendMode;
     81 };
     82 
     83 struct OpUpdatedAsyncImagePipeline {
     84   PipelineId pipelineId;
     85 };
     86 
     87 union WebRenderParentCommand {
     88   OpAddPipelineIdForCompositable;
     89   OpRemovePipelineIdForCompositable;
     90   OpReleaseTextureOfImage;
     91   OpUpdateAsyncImagePipeline;
     92   OpUpdatedAsyncImagePipeline;
     93   CompositableOperation;
     94   OpAddCompositorAnimations;
     95 };
     96 
     97 struct OffsetRange {
     98   uint32_t source;
     99   uint32_t start;
    100   uint32_t length;
    101 };
    102 
    103 struct OpAddImage {
    104   ImageDescriptor descriptor;
    105   OffsetRange bytes;
    106   uint16_t tiling;
    107   ImageKey key;
    108 };
    109 
    110 struct OpAddBlobImage {
    111   ImageDescriptor descriptor;
    112   OffsetRange bytes;
    113   ImageIntRect visibleRect;
    114   uint16_t tiling;
    115   BlobImageKey key;
    116 };
    117 
    118 struct OpAddSnapshotImage {
    119   SnapshotImageKey key;
    120 };
    121 
    122 struct OpUpdateImage {
    123   ImageDescriptor descriptor;
    124   OffsetRange bytes;
    125   ImageKey key;
    126 };
    127 
    128 struct OpUpdateBlobImage {
    129   ImageDescriptor descriptor;
    130   OffsetRange bytes;
    131   BlobImageKey key;
    132   ImageIntRect visibleRect;
    133   ImageIntRect dirtyRect;
    134 };
    135 
    136 struct OpSetBlobImageVisibleArea {
    137   ImageIntRect area;
    138   BlobImageKey key;
    139 };
    140 
    141 struct OpUpdateSharedExternalImage {
    142   ExternalImageId externalImageId;
    143   ImageKey key;
    144   ImageIntRect dirtyRect;
    145 };
    146 
    147 struct OpDeleteImage {
    148   ImageKey key;
    149 };
    150 
    151 struct OpDeleteSnapshotImage {
    152   SnapshotImageKey key;
    153 };
    154 
    155 struct OpDeleteBlobImage {
    156   BlobImageKey key;
    157 };
    158 
    159 struct OpAddRawFont {
    160   OffsetRange bytes;
    161   uint32_t fontIndex;
    162   FontKey key;
    163 };
    164 
    165 struct OpAddFontDescriptor {
    166   OffsetRange bytes;
    167   uint32_t fontIndex;
    168   FontKey key;
    169 };
    170 
    171 struct OpDeleteFont {
    172   FontKey key;
    173 };
    174 
    175 struct OpAddFontInstance {
    176   MaybeFontInstanceOptions options;
    177   MaybeFontInstancePlatformOptions platformOptions;
    178   OffsetRange variations;
    179   FontInstanceKey instanceKey;
    180   FontKey fontKey;
    181   float glyphSize;
    182 };
    183 
    184 struct OpDeleteFontInstance {
    185   FontInstanceKey key;
    186 };
    187 
    188 union OpUpdateResource {
    189   OpAddImage;
    190   OpAddBlobImage;
    191   OpAddSnapshotImage;
    192   OpUpdateImage;
    193   OpUpdateBlobImage;
    194   OpSetBlobImageVisibleArea;
    195   OpDeleteImage;
    196   OpDeleteBlobImage;
    197   OpDeleteSnapshotImage;
    198   OpAddRawFont;
    199   OpAddFontDescriptor;
    200   OpDeleteFont;
    201   OpAddFontInstance;
    202   OpDeleteFontInstance;
    203   OpAddSharedExternalImage;
    204   OpPushExternalImageForTexture;
    205   OpUpdateSharedExternalImage;
    206 };
    207 
    208 } // namespace
    209 } // namespace