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