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