[NUI] Minimize size is set too large. and code clean
[platform/core/csapi/tizenfx.git] / src / Tizen.NUI / src / public / Window / IBorderInterface.cs
1 /*
2  * Copyright(c) 2022 Samsung Electronics Co., Ltd.
3  *
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
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
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.
15  *
16  */
17
18 using System;
19 using System.ComponentModel;
20 using Tizen.NUI.BaseComponents;
21
22 namespace Tizen.NUI
23 {
24     /// <summary>
25     /// This is the interface used to draw the border UI.
26     /// </summary>
27     [EditorBrowsable(EditorBrowsableState.Never)]
28     public interface IBorderInterface : IDisposable
29     {
30         /// <summary>
31         /// The thickness of the border.
32         /// </summary>
33         [EditorBrowsable(EditorBrowsableState.Never)]
34         public uint BorderLineThickness {get;}
35
36         /// <summary>
37         /// The thickness of the border's touch area.
38         /// </summary>
39         [EditorBrowsable(EditorBrowsableState.Never)]
40         public uint TouchThickness {get;}
41
42         /// <summary>
43         /// The height of the border.
44         /// </summary>
45         [EditorBrowsable(EditorBrowsableState.Never)]
46         public uint BorderHeight {get;}
47
48         /// <summary>
49         /// The minimum size by which the window will small.
50         /// </summary>
51         [EditorBrowsable(EditorBrowsableState.Never)]
52         public Size2D MinSize {get;}
53
54         /// <summary>
55         /// The maximum size by which the window will big.
56         /// </summary>
57         [EditorBrowsable(EditorBrowsableState.Never)]
58         public Size2D MaxSize {get;}
59
60         /// <summary>
61         /// The window with borders added.
62         /// </summary>
63         [EditorBrowsable(EditorBrowsableState.Never)]
64         public Window BorderWindow {get; set;}
65
66         /// <summary>
67         /// Whether overlay mode.
68         /// If overlay mode is true, the border area is hidden when the window is maximized.
69         /// And if you touched at screen, the border area is shown on the screen.
70         /// Default value is false;
71         /// </summary>
72         [EditorBrowsable(EditorBrowsableState.Never)]
73         public bool OverlayMode {get;}
74
75
76         /// <summary>
77         /// Create border UI. User can override this method to draw border UI.
78         /// </summary>
79         /// <param name="rootView">The root view on which the border.</param>
80         [EditorBrowsable(EditorBrowsableState.Never)]
81         public void CreateBorderView(View rootView);
82
83         /// <summary>
84         /// Called after the border UI is created.
85         /// </summary>
86         /// <param name="rootView">The root view on which the border.</param>
87         [EditorBrowsable(EditorBrowsableState.Never)]
88         public void OnCreated(View rootView);
89
90         /// <summary>
91         /// Called when requesting a resize
92         /// </summary>
93         [EditorBrowsable(EditorBrowsableState.Never)]
94         public void OnRequestResize();
95
96         /// <summary>
97         /// Called when the window is resized.
98         /// </summary>
99         /// <param name="width">The width of the resized window</param>
100         /// <param name="height">The height of the resized window</param>
101         [EditorBrowsable(EditorBrowsableState.Never)]
102         public void OnResized(int width, int height);
103
104     }
105 }