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