[NUI] Fix TabButton's size calculation logic with the latest UX
[platform/core/csapi/tizenfx.git] / src / Tizen.NUI.Components / Theme / DefaultThemeCommon.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 #if !PROFILE_WEARABLE
18
19 using System.Diagnostics.CodeAnalysis;
20 using Tizen.NUI.BaseComponents;
21
22 namespace Tizen.NUI.Components
23 {
24     // It is a C# version of res/Tizen.NUI.Components_Tizen.NUI.Theme.Common.xaml
25     internal partial class DefaultThemeCreator : IThemeCreator
26     {
27         /// <summary>
28         /// The base theme description.
29         /// </summary>
30         [SuppressMessage("Microsoft.Reliability", "CA2000: Dispose objects before losing scope", Justification = "The responsibility to dispose the object is transferred to the theme object.")]
31         public Theme Create()
32         {
33             var theme = new Theme()
34             {
35                 Id = Tizen.NUI.DefaultThemeCreator.DefaultId,
36                 Version = Tizen.NUI.DefaultThemeCreator.DefaultVersion
37             };
38
39             // Button base style
40             theme.AddStyleWithoutClone("Tizen.NUI.Components.Button", new ButtonStyle()
41             {
42                 Size = new Size(252, 48),
43                 ItemSpacing = new Size2D(8, 8),
44                 CornerRadius = 12.0f,
45                 ItemHorizontalAlignment = HorizontalAlignment.Center,
46                 ItemVerticalAlignment = VerticalAlignment.Center,
47                 BackgroundColor = new Selector<Color>()
48                 {
49                     Normal = new Color(1.0f, 0.384f, 0.0f, 1),
50                     Pressed = new Color(0.85f, 0.325f, 0.0f, 1),
51                     Focused = new Color(1.0f, 0.827f, 0.624f, 1),
52                     Selected = new Color(0.624f, 0.239f, 0.0f, 1),
53                     Disabled = new Color(0.792f, 0.792f, 0.792f, 1),
54                 },
55                 Text = new TextLabelStyle()
56                 {
57                     TextColor = new Color("#FDFDFD"),
58                     PixelSize = 24,
59                 }
60             });
61
62             // CheckBox base style
63             theme.AddStyleWithoutClone("Tizen.NUI.Components.CheckBox", new ButtonStyle()
64             {
65                 Padding = new Extents(8, 8, 8, 8),
66                 ItemSpacing = new Size2D(16, 16),
67                 ItemHorizontalAlignment = HorizontalAlignment.Center,
68                 ItemVerticalAlignment = VerticalAlignment.Center,
69                 Icon = new ImageViewStyle()
70                 {
71                     Size = new Size(32, 32),
72                     ResourceUrl = new Selector<string>()
73                     {
74                         Normal = FrameworkInformation.ResourcePath + "IoT_check_off.png",
75                         Pressed = FrameworkInformation.ResourcePath + "IoT_check_off_p.png",
76                         Disabled = FrameworkInformation.ResourcePath + "IoT_check_off_d.png",
77                         Focused = FrameworkInformation.ResourcePath + "IoT_check_off_f.png",
78                         Selected = FrameworkInformation.ResourcePath + "IoT_check_on.png",
79                         SelectedPressed = FrameworkInformation.ResourcePath + "IoT_check_on_p.png",
80                         SelectedFocused = FrameworkInformation.ResourcePath + "IoT_check_on_f.png",
81                         DisabledSelected = FrameworkInformation.ResourcePath + "IoT_check_on_d.png",
82                     },
83                 },
84                 Text = new TextLabelStyle()
85                 {
86                     TextColor = new Color("#090E21"),
87                     PixelSize = 24,
88                 }
89             });
90
91             // Popup base style
92             theme.AddStyleWithoutClone("Tizen.NUI.Components.Popup", new PopupStyle()
93             {
94                 Size = new Size(500, 280),
95                 BackgroundColor = new Color(0.9f, 0.9f, 0.9f, 1),
96                 ImageShadow = new ImageShadow()
97                 {
98                     Url = FrameworkInformation.ResourcePath + "nui_component_default_popup_shadow.png",
99                     Border = new Rectangle(24, 24, 24, 24),
100                     Extents = new Vector2(48, 48)
101                 },
102                 Title = new TextLabelStyle()
103                 {
104                     PointSize = 16,
105                     Padding = new Extents(20, 20, 20, 20),
106                 },
107                 Buttons = new ButtonStyle()
108                 {
109                     Size = new Size(0, 80),
110                     CornerRadius = 0,
111                     BackgroundColor = new Selector<Color>()
112                     {
113                         Normal = new Color(1, 1, 1, 1),
114                         Pressed = new Color(1, 1, 1, 0.5f),
115                     },
116                     Overlay = new ImageViewStyle()
117                     {
118                         BackgroundColor = new Selector<Color>()
119                         {
120                             Pressed = new Color(0, 0, 0, 0.1f),
121                             Other = new Color(1, 1, 1, 0.1f),
122                         },
123                     },
124                     Text = new TextLabelStyle()
125                     {
126                         TextColor = new Color(0.05f, 0.63f, 0.9f, 1),
127                     }
128                 }
129             });
130
131             // Progress base style
132             theme.AddStyleWithoutClone("Tizen.NUI.Components.Progress", new ProgressStyle()
133             {
134                 Size = new Size(508, 16),
135                 Track = new ImageViewStyle()
136                 {
137                     CornerRadius = 8.0f,
138                     BackgroundColor = new Selector<Color>()
139                     {
140                         Normal = new Color(0.82f, 0.31f, 0.0f, 0.1f),
141                         Disabled = new Color(0.82f, 0.31f, 0.0f, 0.1f),
142                     },
143                 },
144                 Buffer = new ImageViewStyle()
145                 {
146                     CornerRadius = 8.0f,
147                     BackgroundColor = new Color(0.82f, 0.31f, 0.0f, 0.1f),
148                 },
149                 Progress = new ImageViewStyle()
150                 {
151                     CornerRadius = 8.0f,
152                     BackgroundColor = new Color("#D25000"),
153                 },
154                 IndeterminateImageUrl = FrameworkInformation.ResourcePath + "IoT_progress_indeterminate.png",
155             });
156
157             // RadioButton base style
158             theme.AddStyleWithoutClone("Tizen.NUI.Components.RadioButton", new ButtonStyle()
159             {
160                 Padding = new Extents(8, 8, 8, 8),
161                 ItemSpacing = new Size2D(16, 16),
162                 ItemHorizontalAlignment = HorizontalAlignment.Center,
163                 ItemVerticalAlignment = VerticalAlignment.Center,
164                 Icon = new ImageViewStyle()
165                 {
166                     Size = new Size(32, 32),
167                     ResourceUrl = new Selector<string>()
168                     {
169                         Normal = FrameworkInformation.ResourcePath + "IoT_radiobutton_off.png",
170                         Pressed = FrameworkInformation.ResourcePath + "IoT_radiobutton_off_p.png",
171                         Disabled = FrameworkInformation.ResourcePath + "IoT_radiobutton_off_d.png",
172                         Focused = FrameworkInformation.ResourcePath + "IoT_radiobutton_off_f.png",
173                         Selected = FrameworkInformation.ResourcePath + "IoT_radiobutton_on.png",
174                         SelectedPressed = FrameworkInformation.ResourcePath + "IoT_radiobutton_on_p.png",
175                         SelectedFocused = FrameworkInformation.ResourcePath + "IoT_radiobutton_on_f.png",
176                         DisabledSelected = FrameworkInformation.ResourcePath + "IoT_radiobutton_on_d.png",
177                     },
178                 },
179                 Text = new TextLabelStyle()
180                 {
181                     TextColor = new Color("#090E21"),
182                     PixelSize = 24,
183                 }
184             });
185
186             // Slider base style
187             theme.AddStyleWithoutClone("Tizen.NUI.Components.Slider", new SliderStyle()
188             {
189                 Size = new Size(850, 50),
190                 TrackThickness = 8,
191                 Track = new ImageViewStyle()
192                 {
193                     Size = new Size(800, 8),
194                     CornerRadius = 4.0f,
195                     BackgroundColor = new Selector<Color>()
196                     {
197                         Normal = new Color(1.0f, 0.37f, 0.0f, 0.1f),
198                         Disabled = new Color(1.0f, 0.37f, 0.0f, 0.1f),
199                     },
200                 },
201                 Progress = new ImageViewStyle()
202                 {
203                     Size = new Size(800, 8),
204                     CornerRadius = 4.0f,
205                     BackgroundColor = new Selector<Color>()
206                     {
207                         Normal = new Color("#FF6200"),
208                         Disabled = new Color("#CACACA"),
209                     },
210                 },
211                 Thumb = new ImageViewStyle()
212                 {
213                     Size = new Size(40, 40),
214                     ResourceUrl = new Selector<string>()
215                     {
216                         Normal = FrameworkInformation.ResourcePath + "IoT_slider_handler_normal.png",
217                         Pressed = FrameworkInformation.ResourcePath + "IoT_slider_handler_pressed.png",
218                         Focused = FrameworkInformation.ResourcePath + "IoT_slider_handler_pressed.png",
219                         Disabled = FrameworkInformation.ResourcePath + "IoT_slider_handler_disabled.png",
220                     },
221                 },
222                 ValueIndicatorImage = new ImageViewStyle()
223                 {
224                     Size = new Size(16, 24),
225                     BorderlineWidth = 0.5f,
226                     BorderlineColor = new Color("#FF6200"),
227                     BackgroundColor = new Color(0.0f, 0.04f, 0.16f, 1.0f),
228                 },
229             });
230
231             // Switch base style
232             theme.AddStyleWithoutClone("Tizen.NUI.Components.Switch", new SwitchStyle()
233             {
234                 ItemSpacing = new Size2D(16, 16),
235                 ItemHorizontalAlignment = HorizontalAlignment.Begin,
236                 ItemVerticalAlignment = VerticalAlignment.Center,
237                 Track = new ImageViewStyle()
238                 {
239                     Size = new Size(84, 44),
240                     ResourceUrl = new Selector<string>()
241                     {
242                         Normal = FrameworkInformation.ResourcePath + "IoT_switch_track_off.png",
243                         Pressed = FrameworkInformation.ResourcePath + "IoT_switch_track_off_p.png",
244                         Disabled = FrameworkInformation.ResourcePath + "IoT_switch_track_off_d.png",
245                         Focused = FrameworkInformation.ResourcePath + "IoT_switch_track_off_f.png",
246                         Selected = FrameworkInformation.ResourcePath + "IoT_switch_track_on.png",
247                         SelectedPressed = FrameworkInformation.ResourcePath + "IoT_switch_track_on_p.png",
248                         SelectedFocused = FrameworkInformation.ResourcePath + "IoT_switch_track_on_f.png",
249                         DisabledSelected = FrameworkInformation.ResourcePath + "IoT_switch_track_on_d.png",
250                     },
251                 },
252                 Thumb = new ImageViewStyle()
253                 {
254                     Size = new Size(44, 44),
255                     ResourceUrl = new Selector<string>()
256                     {
257                         Normal = FrameworkInformation.ResourcePath + "IoT_switch_thumb.png",
258                         Disabled = FrameworkInformation.ResourcePath + "IoT_switch_thumb_d.png",
259                         Selected = FrameworkInformation.ResourcePath + "IoT_switch_thumb_s.png",
260                         SelectedPressed = FrameworkInformation.ResourcePath + "IoT_switch_thumb_sp.png",
261                         SelectedFocused = FrameworkInformation.ResourcePath + "IoT_switch_thumb_sf.png",
262                     }
263                 },
264                 Text = new TextLabelStyle()
265                 {
266                     TextColor = new Color("#090E21"),
267                     PixelSize = 24,
268                 }
269             });
270
271             // Loading base style
272             theme.AddStyleWithoutClone("Tizen.NUI.Components.Loading", new LoadingStyle()
273             {
274                 LoadingSize = new Size(200, 200),
275             });
276
277             // Pagination base style
278             theme.AddStyleWithoutClone("Tizen.NUI.Components.Pagination", new PaginationStyle()
279             {
280                 IndicatorImageUrl = new Selector<string>()
281                 {
282                     Normal = FrameworkInformation.ResourcePath + "nui_component_default_pagination_normal_dot.png",
283                     Selected = FrameworkInformation.ResourcePath + "nui_component_default_pagination_focus_dot.png",
284                 },
285                 IndicatorSize = new Size(10, 10),
286             });
287
288             // Scrollbar base style
289             theme.AddStyleWithoutClone("Tizen.NUI.Components.Scrollbar", new ScrollbarStyle()
290             {
291                 TrackThickness = 8,
292                 ThumbThickness = 8,
293                 TrackColor = new Color(0f, 0f, 0f, 0f),
294                 ThumbColor = new Color("#FFFEFE"),
295                 TrackPadding = 4,
296                 //7.0 UX no require image resource.
297                 Thumb = new ImageViewStyle()
298                 {
299                     CornerRadius = 4.0f,
300                     BoxShadow = new Shadow(8.0f, new Color(0.0f, 0.0f, 0.0f, 0.16f), new Vector2(0.0f, 2.0f)),
301                 }
302                 //ThumbVerticalImageUrl = FrameworkInformation.ResourcePath + "nui_component_default_scroll_vbar.#.png",
303                 //ThumbHorizontalImageUrl = FrameworkInformation.ResourcePath + "nui_component_default_scroll_hbar.#.png",
304             });
305
306             // LinearLayouter base style
307             theme.AddStyleWithoutClone("Tizen.NUI.Components.LinearLayouter", new ViewStyle()
308             {
309                 Padding = new Extents(0, 0, 0, 0)
310             });
311
312             // GridLayouter base style
313             theme.AddStyleWithoutClone("Tizen.NUI.Components.GridLayouter", new ViewStyle()
314             {
315                 Padding = new Extents(0, 0, 0, 0),
316             });
317
318             // ItemsLayouter base style
319             theme.AddStyleWithoutClone("Tizen.NUI.Components.ItemsLayouter", new ViewStyle()
320             {
321                 Padding = new Extents(0, 0, 0, 0),
322             });
323
324             // RecyclerViewItem base style
325             theme.AddStyleWithoutClone("Tizen.NUI.Components.RecyclerViewItem", new RecyclerViewItemStyle()
326             {
327                 BackgroundColor = new Selector<Color>()
328                 {
329                     Normal = new Color(1, 1, 1, 1),
330                     Pressed = new Color(0.85f, 0.85f, 0.85f, 1),
331                     Disabled = new Color(0.70f, 0.70f, 0.70f, 1),
332                     Selected = new Color(0.701f, 0.898f, 0.937f, 1),
333                 },
334             });
335
336             // DefaultLinearItem base style
337             theme.AddStyleWithoutClone("Tizen.NUI.Components.DefaultLinearItem", new DefaultLinearItemStyle()
338             {
339                 SizeHeight = 64,
340                 Padding = new Extents(16, 16, 0, 0),
341                 Margin = new Extents(0, 0, 0, 0),
342                 Label = new TextLabelStyle()
343                 {
344                     PixelSize = 24,
345                     Ellipsis = true,
346                     FontFamily = "SamsungOneUI600",
347                     TextColor = new Selector<Color>()
348                     {
349                         Normal = new Color("#090E21"),
350                         Pressed = new Color("#FF6200"),
351                         Disabled = new Color("#CACACA"),
352                         Selected = new Color("#FF6200"),
353                     },
354                     ThemeChangeSensitive = false
355                 },
356                 SubLabel = new TextLabelStyle()
357                 {
358                     PixelSize = 20,
359                     Ellipsis = true,
360                     FontFamily = "SamsungOneUI400",
361                     TextColor = new Selector<Color>()
362                     {
363                         Normal = new Color("#090E21"),
364                         Pressed = new Color("#FF6200"),
365                         Disabled = new Color("#CACACA"),
366                         Selected = new Color("#FF6200"),
367                     },
368                     ThemeChangeSensitive = false
369                 },
370                 Icon = new ViewStyle()
371                 {
372                     Margin = new Extents(0, 16, 0, 0)
373                 },
374                 Extra = new ViewStyle()
375                 {
376                     Margin = new Extents(16, 0, 0, 0)
377                 },
378             });
379
380             // DefaultGridItem base style
381             theme.AddStyleWithoutClone("Tizen.NUI.Components.DefaultGridItem", new DefaultGridItemStyle()
382             {
383                 ClippingMode = ClippingModeType.ClipChildren,
384                 Padding = new Extents(0, 0, 0, 0),
385                 Margin = new Extents(5, 5, 5, 5),
386                 CornerRadius = 12.0f,
387                 BackgroundColor = new Selector<Color>()
388                 {
389                     Normal = new Color("#FAFAFA"),
390                     Pressed = new Color(1f, 0.38f, 0, 0.2f),
391                     Disabled = new Color("#FAFAFA"),
392                     Selected = new Color(1f, 0.38f, 0, 0.2f),
393                 },
394                 Image = new ImageViewStyle()
395                 {
396                     //FIXME: Clip mode is not working on CornerRadius.
397                     CornerRadius = 12.0f,
398                     ClippingMode = ClippingModeType.ClipChildren,
399                 },
400                 Label = new TextLabelStyle()
401                 {
402                     SizeHeight = 24,
403                     PixelSize = 16,
404                     FontFamily = "SamsungOneUI400",
405                     LineWrapMode = LineWrapMode.Character,
406                     TextColor = new Selector<Color>()
407                     {
408                         Normal = new Color("#090E21"),
409                         Pressed = new Color("#FF6200"),
410                         Disabled = new Color("#CACACA"),
411                         Selected = new Color("#FF6200"),
412                     },
413                     ThemeChangeSensitive = false
414                 },
415                 Badge = new ViewStyle()
416                 {
417                     Margin = new Extents(0, 0, 0, 0),
418                 },
419                 BoxShadow = new Shadow(12.0f, new Color(0.0f, 0.0f, 0.0f, 0.16f), new Vector2(0.0f, 4.0f)),
420             });
421
422             // DefaultTitleItem base style
423             theme.AddStyleWithoutClone("Tizen.NUI.Components.DefaultTitleItem", new DefaultTitleItemStyle()
424             {
425                 SizeHeight = 48,
426                 Padding = new Extents(20, 20, 0, 0),
427                 Margin = new Extents(0, 0, 0, 0),
428                 BackgroundColor = Color.Transparent,
429                 Label = new TextLabelStyle()
430                 {
431                     PixelSize = 24,
432                     Ellipsis = true,
433                     FontFamily = "SamsungOneUI400",
434                     TextColor = new Color("#090E217F"),
435                     ThemeChangeSensitive = false
436                 },
437                 Icon = new ViewStyle()
438                 {
439                     Margin = new Extents(24, 0, 0, 0)
440                 },
441                 Seperator = new ViewStyle()
442                 {
443                     Margin = new Extents(0, 0, 0, 0),
444                     BackgroundColor = new Color(0, 0, 0, 0),
445                 },
446             });
447
448             // ContentPage base style
449             theme.AddStyleWithoutClone("Tizen.NUI.Components.ContentPage", new ViewStyle()
450             {
451                 BackgroundColor = new Color("#FAFAFA"),
452                 CornerRadius = new Vector4(24.0f, 24.0f, 24.0f ,24.0f),
453                 CornerRadiusPolicy = VisualTransformPolicyType.Absolute,
454                 BoxShadow = new Shadow(8.0f, new Color(0.0f, 0.0f, 0.0f, 0.16f), new Vector2(0.0f, 2.0f)),
455             });
456
457             // AppBar base style
458             theme.AddStyleWithoutClone("Tizen.NUI.Components.AppBar", new AppBarStyle()
459             {
460                 Size = new Size(-1, 64),
461                 BackgroundColor = Color.Transparent,
462                 BackButton = new ButtonStyle()
463                 {
464                     Size = new Size(48, 48),
465                     CornerRadius = 0,
466                     BackgroundColor = Color.Transparent,
467                     Icon = new ImageViewStyle()
468                     {
469                         Size = new Size(48, 48),
470                         ResourceUrl = FrameworkInformation.ResourcePath + "nui_component_default_back_button.png",
471                         Color = new Selector<Color>()
472                         {
473                             Normal = new Color("#17234D"),
474                             Focused = new Color("#17234D"),
475                             Pressed = new Color("#FF6200"),
476                             Disabled = new Color("#CACACA"),
477                         },
478                     },
479                     ThemeChangeSensitive = false
480                 },
481                 TitleTextLabel = new TextLabelStyle()
482                 {
483                     PixelSize = 24,
484                     VerticalAlignment = VerticalAlignment.Center,
485                     TextColor = new Selector<Color>()
486                     {
487                         Normal = new Color("#17234D"),
488                     },
489                     ThemeChangeSensitive = false
490                 },
491                 ActionView = new ViewStyle()
492                 {
493                     Size = new Size(48, 64),
494                     CornerRadius = 0,
495                     BackgroundColor = Color.Transparent,
496                 },
497                 ActionButton = new ButtonStyle()
498                 {
499                     Size = new Size(-2, 64),
500                     CornerRadius = 0,
501                     BackgroundColor = Color.Transparent,
502                     Text = new TextLabelStyle()
503                     {
504                         PixelSize = 24,
505                         TextColor = new Selector<Color>()
506                         {
507                             Normal = new Color("#FF6200"),
508                             Focused = new Color("#FF6200"),
509                             Pressed = new Color("#D95300"),
510                             Disabled = new Color("#CACACA"),
511                         },
512                     },
513                     Icon = new ImageViewStyle()
514                     {
515                         Size = new Size(48, 48),
516                         Color = new Selector<Color>()
517                         {
518                             Normal = new Color("#17234D"),
519                             Focused = new Color("#17234D"),
520                             Pressed = new Color("#FF6200"),
521                             Disabled = new Color("#CACACA"),
522                         },
523                     },
524                     ThemeChangeSensitive = false,
525                 },
526                 Padding = new Extents(16, 16, 0, 0),
527                 NavigationPadding = new Extents(0, 8, 0, 0),
528                 ActionPadding = new Extents(16, 0, 0, 0),
529                 ActionCellPadding = new Size2D(16, 0),
530             });
531
532             // Picker base style
533             theme.AddStyleWithoutClone("Tizen.NUI.Components.Picker", new PickerStyle()
534             {
535                 Size = new Size(160, 339),
536                 ItemTextLabel = new TextLabelStyle()
537                 {
538                     //FIXME: Should be check PointSize. given size from UX is too large.
539                     PixelSize = 32,
540                     VerticalAlignment = VerticalAlignment.Center,
541                     HorizontalAlignment = HorizontalAlignment.Center,
542                     Size = new Size(0,72),
543                     TextColor = new Selector<Color>()
544                     {
545                         Normal = new Color("#000C2B"),
546                     },
547                     BackgroundColor = Color.White,
548                 },
549                 Divider = new ViewStyle()
550                 {
551                     SizeHeight = 2.0f,
552                     WidthResizePolicy = ResizePolicyType.FillToParent,
553                     Position = new Position(0, 132),
554                     BackgroundColor = new Color("#0A0E4A"),
555                 },
556                 StartScrollOffset = new Size(0, 12),
557             });
558
559             // TabBar base style
560             theme.AddStyleWithoutClone("Tizen.NUI.Components.TabBar", new ViewStyle()
561             {
562                 Size = new Size(-1, -2),
563                 Margin = new Extents(16, 16, 0, 0),
564                 Padding = new Extents(14, 14, 0, 0),
565                 CornerRadius = new Vector4(12.0f, 12.0f, 12.0f, 12.0f),
566                 CornerRadiusPolicy = VisualTransformPolicyType.Absolute,
567                 BoxShadow = new Shadow(8.0f, new Color(0.0f, 0.0f, 0.0f, 0.16f), new Vector2(0.0f, 2.0f)),
568                 BackgroundColor = new Color("#FAFAFA"),
569             });
570
571             // TabButton base style
572             theme.AddStyleWithoutClone("Tizen.NUI.Components.TabButton", new TabButtonStyle()
573             {
574                 Size = new Size(-1, 72),
575                 SizeWithIcon = new Size(-1, 116),
576                 SizeWithIconOnly = new Size(-1, 64),
577                 MinimumSize = new Size(80, 64),
578                 Padding = new Extents(24, 24, 16, 16),
579                 ItemSpacing = new Size2D(10, 10),
580                 CornerRadius = 0,
581                 IconSizeWithIconOnly = new Size(32, 32),
582                 TextSizeWithIcon = 16.0f,
583                 BackgroundColor = new Selector<Color>()
584                 {
585                     Normal = new Color("#FAFAFA"),
586                     Selected = new Color("#FFE0CC"),
587                     Pressed = new Color("#FFCAA8"),
588                     Focused = new Color("#FAFAFA"),
589                     Disabled = new Color("#FAFAFA"),
590                 },
591                 Text = new TextLabelStyle()
592                 {
593                     PixelSize = 24,
594                     Size = new Size(-2, -2),
595                     TextColor = new Selector<Color>()
596                     {
597                         Normal = new Color("#090E21"),
598                         Selected = new Color("#FF6200"),
599                         Pressed = new Color("#FF6200"),
600                         Focused = new Color("#FF6200"),
601                         Disabled = new Color("#CACACA"),
602                     },
603                     ThemeChangeSensitive = false,
604                 },
605                 Icon = new ImageViewStyle()
606                 {
607                     Size = new Size(48, 48),
608                     Color = new Selector<Color>()
609                     {
610                         Normal = new Color("#090E21"),
611                         Selected = new Color("#FF6200"),
612                         Pressed = new Color("#FF6200"),
613                         Focused = new Color("#FF6200"),
614                         Disabled = new Color("#CACACA"),
615                     },
616                 },
617             });
618
619             // NotificationToast base style
620             theme.AddStyleWithoutClone("NotificationToast", new TextLabelStyle()
621             {
622                 BackgroundColor = new Color("#FAFAFA"),
623                 CornerRadius = 12.0f,
624                 BoxShadow = new Shadow(8.0f, new Color(0.0f, 0.0f, 0.0f, 0.16f), new Vector2(0.0f, 2.0f)),
625                 TextColor = new Color("#090E21"),
626                 PixelSize = 24,
627                 WidthResizePolicy = ResizePolicyType.UseNaturalSize,
628                 HeightResizePolicy = ResizePolicyType.UseNaturalSize,
629                 PositionUsesPivotPoint = true,
630                 HorizontalAlignment = HorizontalAlignment.Center,
631                 VerticalAlignment = VerticalAlignment.Center,
632                 Padding = new Extents(16, 16, 16, 16),
633                 PositionY = 120,
634             });
635
636             // AlertDialog base style
637             theme.AddStyleWithoutClone("Tizen.NUI.Components.AlertDialog", new AlertDialogStyle()
638             {
639                 Size = new Size(-2, -2),
640                 Padding = new Extents(32, 32, 32, 32),
641                 ItemSpacing = new Size2D(0, 32),
642                 BackgroundColor = new Color("#FAFAFA"),
643                 CornerRadius = 12.0f,
644                 BoxShadow = new Shadow(8.0f, new Color(0.0f, 0.0f, 0.0f, 0.16f), new Vector2(0.0f, 2.0f)),
645                 TitleTextLabel = new TextLabelStyle()
646                 {
647                     Size = new Size(626, -2),
648                     PixelSize = 24,
649                     HorizontalAlignment = HorizontalAlignment.Center,
650                     VerticalAlignment = VerticalAlignment.Center,
651                     TextColor = new Color("#090E21"),
652                     ThemeChangeSensitive = false,
653                 },
654                 MessageTextLabel = new TextLabelStyle()
655                 {
656                     Size = new Size(626, -2),
657                     PixelSize = 24,
658                     MultiLine = true,
659                     HorizontalAlignment = HorizontalAlignment.Center,
660                     VerticalAlignment = VerticalAlignment.Center,
661                     TextColor = new Color("#090E21"),
662                     ThemeChangeSensitive = false,
663                 },
664                 ActionContent = new ViewStyle()
665                 {
666                     Size = new Size(626, -2),
667                 },
668             });
669
670             // TimePicker base style
671             theme.AddStyleWithoutClone("Tizen.NUI.Components.TimePicker", new TimePickerStyle()
672             {
673                 CellPadding = new Size(50, 339),
674
675                 Pickers = new PickerStyle()
676                 {
677                     Size = new Size(160, 339),
678                     ItemTextLabel = new TextLabelStyle()
679                     {
680                         //FIXME: Should be check PointSize. given size from UX is too large.
681                         PixelSize = 32,
682                         VerticalAlignment = VerticalAlignment.Center,
683                         HorizontalAlignment = HorizontalAlignment.Center,
684                         Size = new Size(0,72),
685                         TextColor = new Color("#000C2B"),
686                         BackgroundColor = Color.White,
687                         ThemeChangeSensitive = false
688                     },
689                     Divider = new ViewStyle()
690                     {
691                         SizeHeight = 2.0f,
692                         WidthResizePolicy = ResizePolicyType.FillToParent,
693                         Position = new Position(0, 132),
694                         BackgroundColor = new Color("#0A0E4A"),
695                     },
696                     StartScrollOffset = new Size2D(0, 12),
697                 }
698             });
699
700             // DatePicker base style
701             theme.AddStyleWithoutClone("Tizen.NUI.Components.DatePicker", new DatePickerStyle()
702             {
703                 CellPadding = new Size(50, 339),
704
705                 Pickers = new PickerStyle()
706                 {
707                     Size = new Size(160, 339),
708                     ItemTextLabel = new TextLabelStyle()
709                     {
710                         //FIXME: Should be check PointSize. given size from UX is too large.
711                         PixelSize = 32,
712                         VerticalAlignment = VerticalAlignment.Center,
713                         HorizontalAlignment = HorizontalAlignment.Center,
714                         Size = new Size(0,72),
715                         TextColor = new Color("#000C2B"),
716                         BackgroundColor = Color.White,
717                         ThemeChangeSensitive = false
718                     },
719                     Divider = new ViewStyle()
720                     {
721                         SizeHeight = 2.0f,
722                         WidthResizePolicy = ResizePolicyType.FillToParent,
723                         Position = new Position(0, 132),
724                         BackgroundColor = new Color("#0A0E4A"),
725                     },
726                     StartScrollOffset = new Size2D(0, 12),
727                 }
728             });
729
730             // Menu base style
731             theme.AddStyleWithoutClone("Tizen.NUI.Components.Menu", new MenuStyle()
732             {
733                 Content = new ViewStyle()
734                 {
735                     BackgroundColor = new Color("#FFFEFE"),
736                     CornerRadius = 24.0f,
737                     BoxShadow = new Shadow(8.0f, new Color(0.0f, 0.0f, 0.0f, 0.16f), new Vector2(0.0f, 2.0f)),
738                     // FIXME: ScrollableBase with LinearLayout's Padding.Start is applied both Start and End.
739                     //        ScrollableBase with LinearLayout's Padding.Top is applied both Top and Bottom.
740                     Padding = new Extents(32, 0, 16, 0),
741                 },
742             });
743
744             // MenuItem base style
745             theme.AddStyleWithoutClone("Tizen.NUI.Components.MenuItem", new ButtonStyle()
746             {
747                 Size = new Size(324, -2),
748                 MinimumSize = new Size2D(0, 64),
749                 BackgroundColor = new Color("#FFFEFE"),
750                 CornerRadius = 0,
751                 // FIXME: ClippingModeType.ClipChildren cannot support anti-aliasing
752                 //        So not to show left bottom corner of MenuItem, MenuItem.Padding.Start is 0 and Menu.Content.Padding.Start is 32.
753                 //        (instead of MenuItem.Padding.Start 16 and Menu.Content.Padding.Start is 16)
754                 Padding = new Extents(0, 0, 24, 24),
755                 Text = new TextLabelStyle()
756                 {
757                     PixelSize = 24,
758                     MultiLine = true,
759                     HorizontalAlignment = HorizontalAlignment.Begin,
760                     VerticalAlignment = VerticalAlignment.Center,
761                     TextColor = new Selector<Color>()
762                     {
763                         Normal = new Color("#090E21"),
764                         Focused = new Color("#FF6200"),
765                         Pressed = new Color("#FF6200"),
766                         Disabled = new Color("#CACACA"),
767                         Selected = new Color("#FF6200"),
768                     },
769                     ThemeChangeSensitive = false
770                 },
771                 Icon = new ImageViewStyle()
772                 {
773                     Size = new Size(32, 32),
774                     Color = new Selector<Color>()
775                     {
776                         Normal = new Color("#090E21"),
777                         Focused = new Color("#FF6200"),
778                         Pressed = new Color("#FF6200"),
779                         Disabled = new Color("#CACACA"),
780                         Selected = new Color("#FF6200"),
781                     },
782                 },
783             });
784
785             // AlertDialog base style
786             theme.AddStyleWithoutClone("Tizen.NUI.Components.DialogPage.Scrim", new ViewStyle()
787             {
788                 BackgroundColor = new Color("#090E21"),
789                 Opacity = 0.5f,
790             });
791
792             return theme;
793         }
794     }
795 }
796
797 #endif // !PROFILE_WEARABLE