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