| // Copyright 2016 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. |
| |
| library fuchsia.modular; |
| |
| using fuchsia.images; |
| |
| enum SuggestionImageType { |
| PERSON = 0; |
| OTHER = 1; |
| }; |
| |
| enum AnnoyanceType { |
| NONE = 0; |
| |
| // Tiny interruptions meant to be displayed and hidden quickly without user |
| // interaction. Analogous to toasts. They won't reach the next space when |
| // ignored or missed. |
| PEEK = 1; |
| |
| // Interruptions meant to be displayed to the user. The user could accept or |
| // dismiss them. They are placed in the Next space when ignored or missed. |
| // Analogous to notifications. |
| INTERRUPT = 2; |
| |
| // Meant to show system errors or other extremely urgent alerts. It would |
| // block the rest of the interface and force the user to interact with it. |
| BLOCKING = 3; |
| }; |
| |
| // Information for the main image of the Suggestion. |
| struct SuggestionDisplayImage { |
| // The image as a vmo. |
| fuchsia.images.EncodedImage image; |
| |
| // Information about the content contained in the image |
| SuggestionImageType image_type; |
| }; |
| |
| // TODO(thatguy): This will likely be a union eventually, with different |
| // display descriptions for different kinds of Suggestions. |
| struct SuggestionDisplay { |
| // Title text for this Suggestion |
| string headline; |
| |
| // Sub-headline text to be optionally displayed with this Suggestion |
| string? subheadline; |
| |
| // A longer details string to be optionally displayed with this Suggestion |
| string? details; |
| |
| // Color in which the Suggestion should be displayed |
| // Format is 0xaarrggbb |
| uint32 color; |
| |
| // Optional list of icons that can be displayed with the Suggestion |
| vector<SuggestionDisplayImage>? icons; |
| |
| // Optional image to display as part of the Suggestion |
| SuggestionDisplayImage? image; |
| |
| // How annoying should this suggestion be? |
| AnnoyanceType annoyance; |
| }; |