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