blob: 197e6f8bdc08c9efdbbae11e0335e93e30f7f9d9 [file] [log] [blame]
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
module mojo;
// A surface ID is composed of two parts, a local part and a namespace. The
// local part is allocated by the client using any scheme that avoids
// duplicates. The namespace is allocated by the service and will be different
// for each client (aka each connection to mojo.Surface).
//
// The special id_namespace value 0 is equivalent to the namespace of the
// client. This can be used to create, destroy and submit frames to
// surfaces before learning the namespace and to reference other surfaces
// owned by the same client. The actual id namespace must be used to pass
// surface ids to other clients for them to reference.
struct SurfaceId {
uint32 local;
uint32 id_namespace;
};