Release 4.0.0-preview1-00051
[platform/core/csapi/tizenfx.git] / src / ElmSharp / Interop / Interop.Elementary.Bg.cs
1 /*
2  * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
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 using System;
18 using System.Runtime.InteropServices;
19
20 internal static partial class Interop
21 {
22     internal static partial class Elementary
23     {
24         public enum BackgroundOptions
25         {
26             Center, Scale, Stretch, Tile
27         }
28
29         [DllImport(Libraries.Elementary)]
30         internal static extern IntPtr elm_bg_add(IntPtr obj);
31
32         [DllImport(Libraries.Elementary)]
33         internal static extern void elm_bg_color_set(IntPtr obj, int r, int g, int b);
34
35         [DllImport(Libraries.Elementary)]
36         internal static extern void elm_bg_color_get(IntPtr obj, out int r, out int g, out int b);
37
38         [DllImport(Libraries.Elementary)]
39         internal static extern bool elm_bg_file_set(IntPtr obj, string file, IntPtr group);
40
41         [DllImport(Libraries.Elementary)]
42         internal static extern void elm_bg_file_get(IntPtr obj, out IntPtr file, IntPtr group);
43
44         [DllImport(Libraries.Elementary)]
45         internal static extern void elm_bg_option_set(IntPtr obj, BackgroundOptions option);
46
47         [DllImport(Libraries.Elementary)]
48         internal static extern void elm_bg_load_size_set(IntPtr obj, int w, int h);
49
50         [DllImport(Libraries.Elementary)]
51         internal static extern BackgroundOptions elm_bg_option_get(IntPtr obj);
52
53         internal static string BackgroundFileGet(IntPtr obj)
54         {
55             IntPtr file = IntPtr.Zero;
56             elm_bg_file_get(obj, out file, IntPtr.Zero);
57             return Marshal.PtrToStringAnsi(file);
58         }
59     }
60 }