| // 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.ui.viewsv1; |
| |
| using fuchsia.math; |
| |
| // Parameters and contextual information for a view provided by its container. |
| // |
| // When a container sets properties for its children, any properties which |
| // are set to null are inherited from the container's own ancestors. |
| struct ViewProperties { |
| ViewLayout? view_layout; |
| CustomFocusBehavior? custom_focus_behavior; |
| }; |
| |
| struct CustomFocusBehavior { |
| bool allow_focus = true; |
| }; |
| |
| // Provides layout constraints for a view. |
| // |
| // TODO(jeffbrown): Decide how measurement should be performed. Perhaps |
| // bring back |BoxConstraints| or introduce some other protocol just for |
| // measurement. |
| struct ViewLayout { |
| // The size of the view in logical pixels. |
| // Must be non-negative. |
| fuchsia.math.SizeF size; |
| |
| // The inset of the view in logical pixels. |
| // Must be non-negative. |
| fuchsia.math.InsetF inset; |
| }; |