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