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