2 * Copyright (c) 2019 Samsung Electronics Co., Ltd.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
18 using System.ComponentModel;
19 using Tizen.NUI.BaseComponents;
24 /// [Draft] A MeasureSpecification is used during the Measure pass by a LayoutGroup to inform it's children how to be measured.
25 /// For instance, it may measure a child with an exact width and an unspecified height in order to determine height for width.
27 internal struct MeasureSpecification
30 /// MeasureSpecification Size value.
32 public LayoutLength Size;
35 /// MeasureSpecification Mode.
37 public MeasureSpecification.ModeType Mode;
40 /// Constructor taking size and mode type.
42 /// <param name="size">size value.</param>
43 /// <param name="mode">mode vaue.</param>
44 public MeasureSpecification(LayoutLength size, MeasureSpecification.ModeType mode)
53 /// This is used by a parent to determine the desired dimension of a child layout.
57 /// This is used by a parent to impose an exact size on the child.
58 /// The child must use this size, and guarantee that all of its descendants will fit within this size.
62 /// This is used by the parent to impose a maximum size on the child.
63 /// The child must guarantee that it and all of it's descendants will fit within this size.