2 * Copyright (c) 2016 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.Reflection;
19 using System.Diagnostics;
20 using System.Runtime.CompilerServices;
27 /// Enumeration for texture types.
29 /// <since_tizen> 3 </since_tizen>
30 public enum TextureType
35 /// <since_tizen> 3 </since_tizen>
36 Texture2D = Tizen.NUI.TextureType.TEXTURE_2D,
38 /// Six 2D images arranged in a cube-shape
40 /// <since_tizen> 3 </since_tizen>
41 TextureCube = Tizen.NUI.TextureType.TEXTURE_CUBE
45 /// Enumeration for stereoscopic view modes.
47 /// <since_tizen> 3 </since_tizen>
51 /// Monoscopic (single camera). This is the default.
53 /// <since_tizen> 3 </since_tizen>
54 Mono = Tizen.NUI.ViewMode.MONO,
56 /// Stereoscopic. Frame buffer is split horizontally with the left and right camera views in their respective sides.
58 /// <since_tizen> 3 </since_tizen>
59 StereoHorizontal = Tizen.NUI.ViewMode.STEREO_HORIZONTAL,
61 /// Stereoscopic. Frame buffer is split vertically with the left camera view at the top and the right camera view at the bottom.
63 /// <since_tizen> 3 </since_tizen>
64 StereoVertical = Tizen.NUI.ViewMode.STEREO_VERTICAL,
66 /// Stereoscopic. Left/Right camera views are rendered into the framebuffer on alternate frames.
68 /// <since_tizen> 3 </since_tizen>
69 StereoInterlaced = Tizen.NUI.ViewMode.STEREO_INTERLACED
73 /// Enumeration for the direction
75 /// <since_tizen> 3 </since_tizen>
76 public struct Direction
79 /// Enumeration for the Direction types.
81 /// <since_tizen> 3 </since_tizen>
85 /// from Left to Right
87 /// <since_tizen> 3 </since_tizen>
88 LeftToRight = Tizen.NUI.DirectionType.LEFT_TO_RIGHT,
90 /// from Right to Left
92 /// <since_tizen> 3 </since_tizen>
93 RightToLeft = Tizen.NUI.DirectionType.RIGHT_TO_LEFT
102 /// <since_tizen> 3 </since_tizen>
103 public struct Tooltip
106 /// The properties used for a Tooltip.
108 /// <since_tizen> 3 </since_tizen>
109 public struct Property
112 /// The content to display.
114 /// <since_tizen> 3 </since_tizen>
115 public static readonly int Content = NDalic.TOOLTIP_CONTENT;
117 /// The layout of the content.
119 /// <since_tizen> 3 </since_tizen>
120 public static readonly int Layout = NDalic.TOOLTIP_LAYOUT;
122 /// Time to wait in seconds before a tooltip is shown while the is movement is within the allowed threshold.
124 /// <since_tizen> 3 </since_tizen>
125 public static readonly int WaitTime = NDalic.TOOLTIP_WAIT_TIME;
127 /// The background of the tooltip.
129 /// <since_tizen> 3 </since_tizen>
130 public static readonly int Background = NDalic.TOOLTIP_BACKGROUND;
132 /// The tail used by the tooltip.
134 /// <since_tizen> 3 </since_tizen>
135 public static readonly int Tail = NDalic.TOOLTIP_TAIL;
137 /// The position of the tooltip in relation to the control.
139 /// <since_tizen> 3 </since_tizen>
140 public static readonly int Position = NDalic.TOOLTIP_POSITION;
142 /// If Tooltip::Position::HOVER_POINT is used for the POSITION, then this is the offset the tooltip is displayed at from the hover point.
144 /// <since_tizen> 3 </since_tizen>
145 public static readonly int HoverPointOffset = NDalic.TOOLTIP_HOVER_POINT_OFFSET;
147 /// The movement threshold allowed before showing (or hiding a popup).
149 /// <since_tizen> 3 </since_tizen>
150 public static readonly int MovementThreshold = NDalic.TOOLTIP_MOVEMENT_THRESHOLD;
152 /// If true, the tooltip will disappear after hover movement beyond a certain distance.
154 /// <since_tizen> 3 </since_tizen>
155 public static readonly int DisappearOnMovement = NDalic.TOOLTIP_DISAPPEAR_ON_MOVEMENT;
159 /// Background Property
161 /// <since_tizen> 3 </since_tizen>
162 public struct BackgroundProperty
165 /// The image to use as the background.
167 /// <since_tizen> 3 </since_tizen>
168 public static readonly int Visual = NDalic.TOOLTIP_BACKGROUND_VISUAL;
170 /// The size of the borders in the order: left, right, bottom, top.
172 /// <since_tizen> 3 </since_tizen>
173 public static readonly int Border = NDalic.TOOLTIP_BACKGROUND_BORDER;
177 /// The properties of the tail used by the tooltip.
179 /// <since_tizen> 3 </since_tizen>
180 public struct TailProperty
183 /// Whether to show the tail or not.
185 /// <since_tizen> 3 </since_tizen>
186 public static readonly int Visibility = NDalic.TOOLTIP_TAIL_VISIBILITY;
188 /// The image used for the tail if it is above the tooltip.
190 /// <since_tizen> 3 </since_tizen>
191 public static readonly int AboveVisual = NDalic.TOOLTIP_TAIL_ABOVE_VISUAL;
193 /// The image used for the tail if it is below the tooltip.
195 /// <since_tizen> 3 </since_tizen>
196 public static readonly int BelowVisual = NDalic.TOOLTIP_TAIL_BELOW_VISUAL;
199 } // namespace Constants
202 internal class NUILog
204 [Conditional("DEBUG_ON")]
205 public static void Debug(string msg,
206 [CallerLineNumber] int lineNum = 0,
207 [CallerMemberName] string caller = null,
208 [CallerFilePath] string file = null
211 Tizen.Log.Fatal("NUI", $"{msg} (at {DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fffffff")} line {lineNum} of {caller} in {file})" );
214 public static void Error(string msg,
215 [CallerLineNumber] int lineNum = 0,
216 [CallerMemberName] string caller = null,
217 [CallerFilePath] string file = null
220 Tizen.Log.Fatal("NUI", $"[ERROR] {msg} (at {DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fffffff")} line {lineNum} of {caller} in {file})" );