PTexture.ipdl (1090B)
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 LayersSurfaces; 9 include protocol PCompositorBridge; 10 include protocol PImageBridge; 11 include protocol PVideoBridge; 12 include "mozilla/GfxMessageUtils.h"; 13 include "mozilla/layers/LayersMessageUtils.h"; 14 15 using mozilla::layers::TextureFlags from "mozilla/layers/CompositorTypes.h"; 16 17 namespace mozilla { 18 namespace layers { 19 20 /** 21 * PTexture is the IPDL glue between a TextureClient and a TextureHost. 22 */ 23 [ManualDealloc, ChildImpl=virtual, ParentImpl=virtual] 24 sync protocol PTexture { 25 manager PImageBridge or PCompositorBridge or PVideoBridge; 26 27 child: 28 async __delete__(); 29 30 parent: 31 /** 32 * Asynchronously tell the compositor side to remove the texture. 33 */ 34 async Destroy(); 35 36 async RecycleTexture(TextureFlags aTextureFlags); 37 }; 38 39 } // layers 40 } // mozilla