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