blob: eb9ad5e3cc141a8c3166fe939788a85d0aef3088 [file] [log] [blame]
// Copyright 2018 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@available(added=7, deprecated=13, note="Use fuchsia.element.Manager instead.")
library fuchsia.developer.tiles;
using fuchsia.ui.app;
using fuchsia.ui.gfx;
@discoverable
closed protocol Controller {
/// Instantiates a component by its URL and adds a tile backed by that component's ViewProvider.
/// Returns a key for the tile that can be used for resizing or removing the tile, or 0 on failure.
strict AddTileFromURL(struct {
url string;
allow_focus bool;
args vector<string>:optional;
}) -> (struct {
key uint32;
});
/// Adds a tile backed by a view from the view provider.
/// Returns a key for the tile that can be used for resizing or removing the tile, or 0 on failure.
strict AddTileFromViewProvider(resource struct {
url string;
provider client_end:fuchsia.ui.app.ViewProvider;
}) -> (struct {
key uint32;
});
/// Removes the tile with the given key.
strict RemoveTile(struct {
key uint32;
});
/// Returns a list of tiles.
strict ListTiles() -> (struct {
keys vector<uint32>;
urls vector<string>;
sizes vector<fuchsia.ui.gfx.vec3>;
focusabilities vector<bool>;
});
/// Asks the tiles component to quit.
strict Quit();
};