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