[NUI] Add constructor with style instance
[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(43, 40),
280                     BorderlineWidth = 1.0f,
281                     BorderlineColor = new Color("#FF6200"),
282                     BackgroundColor = new Color(1.0f, 1.0f, 1.0f, 0.0f),
283                     CornerRadius = 12.0f,
284                 },
285                 ValueIndicatorText = new TextLabelStyle()
286                 {
287                     SizeHeight = 24,
288                     PixelSize = 16,
289                     TextColor = new Color("#FF6200"),
290                 }
291             });
292
293             // Switch base style
294             theme.AddStyleWithoutClone("Tizen.NUI.Components.Switch", new SwitchStyle()
295             {
296                 ItemSpacing = new Size2D(16, 16),
297                 ItemHorizontalAlignment = HorizontalAlignment.Begin,
298                 ItemVerticalAlignment = VerticalAlignment.Center,
299                 Track = new ImageViewStyle()
300                 {
301                     Size = new Size(84, 44),
302                     ResourceUrl = new Selector<string>()
303                     {
304                         Normal = FrameworkInformation.ResourcePath + "IoT_switch_track_off.png",
305                         Pressed = FrameworkInformation.ResourcePath + "IoT_switch_track_off_p.png",
306                         Disabled = FrameworkInformation.ResourcePath + "IoT_switch_track_off_d.png",
307                         Focused = FrameworkInformation.ResourcePath + "IoT_switch_track_off_f.png",
308                         Selected = FrameworkInformation.ResourcePath + "IoT_switch_track_on.png",
309                         SelectedPressed = FrameworkInformation.ResourcePath + "IoT_switch_track_on_p.png",
310                         SelectedFocused = FrameworkInformation.ResourcePath + "IoT_switch_track_on_f.png",
311                         DisabledSelected = FrameworkInformation.ResourcePath + "IoT_switch_track_on_d.png",
312                     },
313                 },
314                 Thumb = new ImageViewStyle()
315                 {
316                     Size = new Size(44, 44),
317                     ResourceUrl = new Selector<string>()
318                     {
319                         Normal = FrameworkInformation.ResourcePath + "IoT_switch_thumb.png",
320                         Disabled = FrameworkInformation.ResourcePath + "IoT_switch_thumb_d.png",
321                         Selected = FrameworkInformation.ResourcePath + "IoT_switch_thumb_s.png",
322                         SelectedPressed = FrameworkInformation.ResourcePath + "IoT_switch_thumb_sp.png",
323                         SelectedFocused = FrameworkInformation.ResourcePath + "IoT_switch_thumb_sf.png",
324                     }
325                 },
326                 Text = new TextLabelStyle()
327                 {
328                     TextColor = new Color("#090E21"),
329                     PixelSize = 24,
330                 }
331             });
332
333             // Loading base style
334             theme.AddStyleWithoutClone("Tizen.NUI.Components.Loading", new LoadingStyle()
335             {
336                 LoadingSize = new Size(200, 200),
337             });
338
339             // Pagination base style
340             theme.AddStyleWithoutClone("Tizen.NUI.Components.Pagination", new PaginationStyle()
341             {
342                 Size = new Size(450, 24),
343                 IndicatorImageUrl = new Selector<string>()
344                 {
345                     Normal = FrameworkInformation.ResourcePath + "nui_component_default_pagination_normal_dot.png",
346                     Selected = FrameworkInformation.ResourcePath + "nui_component_default_pagination_focus_dot.png",
347                 },
348                 IndicatorSize = new Size(64, 8),
349                 IndicatorSpacing = 16,
350             });
351
352             // Scrollbar base style
353             theme.AddStyleWithoutClone("Tizen.NUI.Components.Scrollbar", new ScrollbarStyle()
354             {
355                 TrackThickness = 8,
356                 ThumbThickness = 8,
357                 TrackColor = new Color(0f, 0f, 0f, 0f),
358                 ThumbColor = new Color("#FFFEFE"),
359                 TrackPadding = 4,
360                 //7.0 UX no require image resource.
361                 Thumb = new ImageViewStyle()
362                 {
363                     CornerRadius = 4.0f,
364                     BoxShadow = new Shadow(8.0f, new Color(0.0f, 0.0f, 0.0f, 0.16f), new Vector2(0.0f, 2.0f)),
365                 }
366                 //ThumbVerticalImageUrl = FrameworkInformation.ResourcePath + "nui_component_default_scroll_vbar.#.png",
367                 //ThumbHorizontalImageUrl = FrameworkInformation.ResourcePath + "nui_component_default_scroll_hbar.#.png",
368             });
369
370             // LinearLayouter base style
371             theme.AddStyleWithoutClone("Tizen.NUI.Components.LinearLayouter", new ViewStyle()
372             {
373                 Padding = new Extents(0, 0, 0, 0)
374             });
375
376             // GridLayouter base style
377             theme.AddStyleWithoutClone("Tizen.NUI.Components.GridLayouter", new ViewStyle()
378             {
379                 Padding = new Extents(0, 0, 0, 0),
380             });
381
382             // ItemsLayouter base style
383             theme.AddStyleWithoutClone("Tizen.NUI.Components.ItemsLayouter", new ViewStyle()
384             {
385                 Padding = new Extents(0, 0, 0, 0),
386             });
387
388             // RecyclerViewItem base style
389             theme.AddStyleWithoutClone("Tizen.NUI.Components.RecyclerViewItem", new RecyclerViewItemStyle()
390             {
391                 BackgroundColor = new Selector<Color>()
392                 {
393                     Normal = new Color(1, 1, 1, 1),
394                     Pressed = new Color(0.85f, 0.85f, 0.85f, 1),
395                     Disabled = new Color(0.70f, 0.70f, 0.70f, 1),
396                     Selected = new Color(0.701f, 0.898f, 0.937f, 1),
397                 },
398             });
399
400             // DefaultLinearItem base style
401             theme.AddStyleWithoutClone("Tizen.NUI.Components.DefaultLinearItem", new DefaultLinearItemStyle()
402             {
403                 SizeHeight = 64,
404                 Padding = new Extents(16, 16, 0, 0),
405                 Margin = new Extents(0, 0, 0, 0),
406                 Label = new TextLabelStyle()
407                 {
408                     PixelSize = 24,
409                     Ellipsis = true,
410                     FontFamily = "SamsungOneUI600",
411                     TextColor = new Selector<Color>()
412                     {
413                         Normal = new Color("#090E21"),
414                         Pressed = new Color("#FF6200"),
415                         Disabled = new Color("#CACACA"),
416                         Selected = new Color("#FF6200"),
417                     },
418                     ThemeChangeSensitive = false
419                 },
420                 SubLabel = new TextLabelStyle()
421                 {
422                     PixelSize = 20,
423                     Ellipsis = true,
424                     FontFamily = "SamsungOneUI400",
425                     TextColor = new Selector<Color>()
426                     {
427                         Normal = new Color("#090E21"),
428                         Pressed = new Color("#FF6200"),
429                         Disabled = new Color("#CACACA"),
430                         Selected = new Color("#FF6200"),
431                     },
432                     ThemeChangeSensitive = false
433                 },
434                 Icon = new ViewStyle()
435                 {
436                     Margin = new Extents(0, 16, 0, 0)
437                 },
438                 Extra = new ViewStyle()
439                 {
440                     Margin = new Extents(16, 0, 0, 0)
441                 },
442             });
443
444             // DefaultGridItem base style
445             theme.AddStyleWithoutClone("Tizen.NUI.Components.DefaultGridItem", new DefaultGridItemStyle()
446             {
447                 ClippingMode = ClippingModeType.ClipChildren,
448                 Padding = new Extents(0, 0, 0, 0),
449                 Margin = new Extents(5, 5, 5, 5),
450                 CornerRadius = 12.0f,
451                 BackgroundColor = new Selector<Color>()
452                 {
453                     Normal = new Color("#FAFAFA"),
454                     Pressed = new Color(1f, 0.38f, 0, 0.2f),
455                     Disabled = new Color("#FAFAFA"),
456                     Selected = new Color(1f, 0.38f, 0, 0.2f),
457                 },
458                 Image = new ImageViewStyle()
459                 {
460                     //FIXME: Clip mode is not working on CornerRadius.
461                     CornerRadius = 12.0f,
462                     ClippingMode = ClippingModeType.ClipChildren,
463                 },
464                 Label = new TextLabelStyle()
465                 {
466                     SizeHeight = 24,
467                     PixelSize = 16,
468                     FontFamily = "SamsungOneUI400",
469                     LineWrapMode = LineWrapMode.Character,
470                     TextColor = new Selector<Color>()
471                     {
472                         Normal = new Color("#090E21"),
473                         Pressed = new Color("#FF6200"),
474                         Disabled = new Color("#CACACA"),
475                         Selected = new Color("#FF6200"),
476                     },
477                     ThemeChangeSensitive = false
478                 },
479                 Badge = new ViewStyle()
480                 {
481                     Margin = new Extents(0, 0, 0, 0),
482                 },
483                 BoxShadow = new Shadow(12.0f, new Color(0.0f, 0.0f, 0.0f, 0.16f), new Vector2(0.0f, 4.0f)),
484             });
485
486             // DefaultTitleItem base style
487             theme.AddStyleWithoutClone("Tizen.NUI.Components.DefaultTitleItem", new DefaultTitleItemStyle()
488             {
489                 SizeHeight = 48,
490                 Padding = new Extents(20, 20, 0, 0),
491                 Margin = new Extents(0, 0, 0, 0),
492                 BackgroundColor = Color.Transparent,
493                 Label = new TextLabelStyle()
494                 {
495                     PixelSize = 24,
496                     Ellipsis = true,
497                     FontFamily = "SamsungOneUI400",
498                     TextColor = new Color("#090E217F"),
499                     ThemeChangeSensitive = false
500                 },
501                 Icon = new ViewStyle()
502                 {
503                     Margin = new Extents(24, 0, 0, 0)
504                 },
505                 Seperator = new ViewStyle()
506                 {
507                     Margin = new Extents(0, 0, 0, 0),
508                     BackgroundColor = new Color(0, 0, 0, 0),
509                 },
510             });
511
512             // ContentPage base style
513             theme.AddStyleWithoutClone("Tizen.NUI.Components.ContentPage", new ViewStyle()
514             {
515                 BackgroundColor = new Color("#FAFAFA"),
516                 CornerRadius = new Vector4(24.0f, 24.0f, 24.0f ,24.0f),
517                 CornerRadiusPolicy = VisualTransformPolicyType.Absolute,
518                 BoxShadow = new Shadow(8.0f, new Color(0.0f, 0.0f, 0.0f, 0.16f), new Vector2(0.0f, 2.0f)),
519             });
520
521             // AppBar base style
522             theme.AddStyleWithoutClone("Tizen.NUI.Components.AppBar", new AppBarStyle()
523             {
524                 Size = new Size(-1, 64),
525                 BackgroundColor = Color.Transparent,
526                 BackButton = new ButtonStyle()
527                 {
528                     Size = new Size(48, 48),
529                     CornerRadius = 0,
530                     BackgroundColor = Color.Transparent,
531                     Icon = new ImageViewStyle()
532                     {
533                         Size = new Size(48, 48),
534                         ResourceUrl = FrameworkInformation.ResourcePath + "nui_component_default_back_button.png",
535                         Color = new Selector<Color>()
536                         {
537                             Normal = new Color("#17234D"),
538                             Focused = new Color("#17234D"),
539                             Pressed = new Color("#FF6200"),
540                             Disabled = new Color("#CACACA"),
541                         },
542                     },
543                     ThemeChangeSensitive = false
544                 },
545                 TitleTextLabel = new TextLabelStyle()
546                 {
547                     PixelSize = 24,
548                     VerticalAlignment = VerticalAlignment.Center,
549                     TextColor = new Selector<Color>()
550                     {
551                         Normal = new Color("#17234D"),
552                     },
553                     ThemeChangeSensitive = false
554                 },
555                 ActionView = new ViewStyle()
556                 {
557                     Size = new Size(48, 64),
558                     CornerRadius = 0,
559                     BackgroundColor = Color.Transparent,
560                 },
561                 ActionButton = new ButtonStyle()
562                 {
563                     Size = new Size(-2, 64),
564                     CornerRadius = 0,
565                     BackgroundColor = Color.Transparent,
566                     Text = new TextLabelStyle()
567                     {
568                         PixelSize = 24,
569                         TextColor = new Selector<Color>()
570                         {
571                             Normal = new Color("#FF6200"),
572                             Focused = new Color("#FF6200"),
573                             Pressed = new Color("#D95300"),
574                             Disabled = new Color("#CACACA"),
575                         },
576                     },
577                     Icon = new ImageViewStyle()
578                     {
579                         Size = new Size(48, 48),
580                         Color = new Selector<Color>()
581                         {
582                             Normal = new Color("#17234D"),
583                             Focused = new Color("#17234D"),
584                             Pressed = new Color("#FF6200"),
585                             Disabled = new Color("#CACACA"),
586                         },
587                     },
588                     ThemeChangeSensitive = false,
589                 },
590                 Padding = new Extents(16, 16, 0, 0),
591                 NavigationPadding = new Extents(0, 8, 0, 0),
592                 ActionPadding = new Extents(16, 0, 0, 0),
593                 ActionCellPadding = new Size2D(16, 0),
594             });
595
596             // Picker base style
597             theme.AddStyleWithoutClone("Tizen.NUI.Components.Picker", new PickerStyle()
598             {
599                 SizeHeight = 220.0f,
600                 MinimumSize = new Size(80, -1),
601                 ItemTextLabel = new TextLabelStyle()
602                 {
603                     PixelSize = 24,
604                     VerticalAlignment = VerticalAlignment.Center,
605                     HorizontalAlignment = HorizontalAlignment.Center,
606                     Size = new Size(0, 44),
607                     TextColor = new Selector<Color>()
608                     {
609                         Normal = new Color(0.035f, 0.055f, 0.123f, 1.0f),
610                     },
611                     BackgroundColor = new Color("#FAFAFA"),
612                 },
613                 StartScrollOffset = new Size(0, 0),
614             });
615
616             // TabBar base style
617             theme.AddStyleWithoutClone("Tizen.NUI.Components.TabBar", new ViewStyle()
618             {
619                 Size = new Size(-1, -2),
620                 Margin = new Extents(16, 16, 0, 0),
621                 Padding = new Extents(14, 14, 0, 0),
622                 CornerRadius = new Vector4(12.0f, 12.0f, 12.0f, 12.0f),
623                 CornerRadiusPolicy = VisualTransformPolicyType.Absolute,
624                 BoxShadow = new Shadow(8.0f, new Color(0.0f, 0.0f, 0.0f, 0.16f), new Vector2(0.0f, 2.0f)),
625                 BackgroundColor = new Color("#FAFAFA"),
626             });
627
628             // TabButton base style
629             theme.AddStyleWithoutClone("Tizen.NUI.Components.TabButton", new TabButtonStyle()
630             {
631                 Size = new Size(-1, 72),
632                 SizeWithIcon = new Size(-1, 116),
633                 SizeWithIconOnly = new Size(-1, 64),
634                 MinimumSize = new Size(80, 64),
635                 Padding = new Extents(24, 24, 16, 16),
636                 ItemSpacing = new Size2D(10, 10),
637                 CornerRadius = 0,
638                 IconSizeWithIconOnly = new Size(32, 32),
639                 TextSizeWithIcon = 16.0f,
640                 BackgroundColor = new Selector<Color>()
641                 {
642                     Normal = new Color("#FAFAFA"),
643                     Selected = new Color("#FFE0CC"),
644                     Pressed = new Color("#FFCAA8"),
645                     Focused = new Color("#FAFAFA"),
646                     Disabled = new Color("#FAFAFA"),
647                 },
648                 Text = new TextLabelStyle()
649                 {
650                     PixelSize = 24,
651                     Size = new Size(-2, -2),
652                     TextColor = new Selector<Color>()
653                     {
654                         Normal = new Color("#090E21"),
655                         Selected = new Color("#FF6200"),
656                         Pressed = new Color("#FF6200"),
657                         Focused = new Color("#FF6200"),
658                         Disabled = new Color("#CACACA"),
659                     },
660                     ThemeChangeSensitive = false,
661                 },
662                 Icon = new ImageViewStyle()
663                 {
664                     Size = new Size(48, 48),
665                     Color = new Selector<Color>()
666                     {
667                         Normal = new Color("#090E21"),
668                         Selected = new Color("#FF6200"),
669                         Pressed = new Color("#FF6200"),
670                         Focused = new Color("#FF6200"),
671                         Disabled = new Color("#CACACA"),
672                     },
673                 },
674             });
675
676             // NotificationToast base style
677             theme.AddStyleWithoutClone("NotificationToast", new TextLabelStyle()
678             {
679                 BackgroundColor = new Color("#FAFAFA"),
680                 CornerRadius = 12.0f,
681                 BoxShadow = new Shadow(8.0f, new Color(0.0f, 0.0f, 0.0f, 0.16f), new Vector2(0.0f, 2.0f)),
682                 TextColor = new Color("#090E21"),
683                 PixelSize = 24,
684                 WidthResizePolicy = ResizePolicyType.UseNaturalSize,
685                 HeightResizePolicy = ResizePolicyType.UseNaturalSize,
686                 PositionUsesPivotPoint = true,
687                 HorizontalAlignment = HorizontalAlignment.Center,
688                 VerticalAlignment = VerticalAlignment.Center,
689                 Padding = new Extents(16, 16, 16, 16),
690                 PositionY = 120,
691             });
692
693             // AlertDialog base style
694             theme.AddStyleWithoutClone("Tizen.NUI.Components.AlertDialog", new AlertDialogStyle()
695             {
696                 Size = new Size(-2, -2),
697                 Padding = new Extents(32, 32, 32, 32),
698                 ItemSpacing = new Size2D(0, 32),
699                 BackgroundColor = new Color("#FAFAFA"),
700                 CornerRadius = 12.0f,
701                 BoxShadow = new Shadow(8.0f, new Color(0.0f, 0.0f, 0.0f, 0.16f), new Vector2(0.0f, 2.0f)),
702                 TitleTextLabel = new TextLabelStyle()
703                 {
704                     Size = new Size(626, -2),
705                     PixelSize = 24,
706                     HorizontalAlignment = HorizontalAlignment.Center,
707                     VerticalAlignment = VerticalAlignment.Center,
708                     TextColor = new Color("#090E21"),
709                     ThemeChangeSensitive = false,
710                 },
711                 MessageTextLabel = new TextLabelStyle()
712                 {
713                     Size = new Size(626, -2),
714                     PixelSize = 24,
715                     MultiLine = true,
716                     HorizontalAlignment = HorizontalAlignment.Center,
717                     VerticalAlignment = VerticalAlignment.Center,
718                     TextColor = new Color("#090E21"),
719                     ThemeChangeSensitive = false,
720                 },
721                 ActionContent = new ViewStyle()
722                 {
723                     Size = new Size(626, -2),
724                 },
725             });
726
727             // TimePicker base style
728             theme.AddStyleWithoutClone("Tizen.NUI.Components.TimePicker", new TimePickerStyle()
729             {
730                 CellPadding = new Size(12, 220),
731
732                 Pickers = new PickerStyle()
733                 {
734                     Size = new Size(80, 220),
735                     ItemTextLabel = new TextLabelStyle()
736                     {
737                         PixelSize = 24,
738                         VerticalAlignment = VerticalAlignment.Center,
739                         HorizontalAlignment = HorizontalAlignment.Center,
740                         Size = new Size(0, 44),
741                         TextColor = new Selector<Color>()
742                         {
743                             Normal = new Color(0.035f, 0.055f, 0.123f, 1.0f),
744                         },
745                         BackgroundColor = new Color("#FAFAFA"),
746                         ThemeChangeSensitive = false
747                     },
748                     StartScrollOffset = new Size2D(0, 0),
749                 }
750             });
751
752             // DatePicker base style
753             theme.AddStyleWithoutClone("Tizen.NUI.Components.DatePicker", new DatePickerStyle()
754             {
755                 CellPadding = new Size(12, 220),
756
757                 Pickers = new PickerStyle()
758                 {
759                     Size = new Size(80, 220),
760                     ItemTextLabel = new TextLabelStyle()
761                     {
762                         PixelSize = 24,
763                         VerticalAlignment = VerticalAlignment.Center,
764                         HorizontalAlignment = HorizontalAlignment.Center,
765                         Size = new Size(0, 44),
766                         TextColor = new Selector<Color>()
767                         {
768                             Normal = new Color(0.035f, 0.055f, 0.123f, 1.0f),
769                         },
770                         BackgroundColor = new Color("#FAFAFA"),
771                         ThemeChangeSensitive = false
772                     },
773                     StartScrollOffset = new Size2D(0, 0),
774                 }
775             });
776
777             // Menu base style
778             theme.AddStyleWithoutClone("Tizen.NUI.Components.Menu", new MenuStyle()
779             {
780                 BackgroundColor = Color.Transparent,
781                 Content = new ViewStyle()
782                 {
783                     BackgroundColor = new Color("#FFFEFE"),
784                     CornerRadius = 24.0f,
785                     BoxShadow = new Shadow(8.0f, new Color(0.0f, 0.0f, 0.0f, 0.16f), new Vector2(0.0f, 2.0f)),
786                     // FIXME: ScrollableBase with LinearLayout's Padding.Start is applied both Start and End.
787                     //        ScrollableBase with LinearLayout's Padding.Top is applied both Top and Bottom.
788                     Padding = new Extents(32, 0, 16, 0),
789                 },
790             });
791
792             // MenuItem base style
793             theme.AddStyleWithoutClone("Tizen.NUI.Components.MenuItem", new ButtonStyle()
794             {
795                 Size = new Size(324, -2),
796                 MinimumSize = new Size2D(0, 64),
797                 BackgroundColor = new Color("#FFFEFE"),
798                 CornerRadius = 0,
799                 // FIXME: ClippingModeType.ClipChildren cannot support anti-aliasing
800                 //        So not to show left bottom corner of MenuItem, MenuItem.Padding.Start is 0 and Menu.Content.Padding.Start is 32.
801                 //        (instead of MenuItem.Padding.Start 16 and Menu.Content.Padding.Start is 16)
802                 Padding = new Extents(0, 0, 24, 24),
803                 Text = new TextLabelStyle()
804                 {
805                     PixelSize = 24,
806                     MultiLine = true,
807                     HorizontalAlignment = HorizontalAlignment.Begin,
808                     VerticalAlignment = VerticalAlignment.Center,
809                     TextColor = new Selector<Color>()
810                     {
811                         Normal = new Color("#090E21"),
812                         Focused = new Color("#FF6200"),
813                         Pressed = new Color("#FF6200"),
814                         Disabled = new Color("#CACACA"),
815                         Selected = new Color("#FF6200"),
816                     },
817                     ThemeChangeSensitive = false
818                 },
819                 Icon = new ImageViewStyle()
820                 {
821                     Color = new Selector<Color>()
822                     {
823                         Normal = new Color("#090E21"),
824                         Focused = new Color("#FF6200"),
825                         Pressed = new Color("#FF6200"),
826                         Disabled = new Color("#CACACA"),
827                         Selected = new Color("#FF6200"),
828                     },
829                 },
830             });
831
832             // AlertDialog base style
833             theme.AddStyleWithoutClone("Tizen.NUI.Components.DialogPage.Scrim", new ViewStyle()
834             {
835                 BackgroundColor = new Color("#090E21"),
836                 Opacity = 0.5f,
837             });
838
839             return theme;
840         }
841     }
842 }
843
844 #endif // !PROFILE_WEARABLE