2 * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
18 using System.Runtime.InteropServices;
20 internal static partial class Interop
22 internal static partial class Evas
25 [DllImport(Libraries.Evas)]
26 internal static extern IntPtr evas_object_image_add(IntPtr obj);
28 [DllImport(Libraries.Evas)]
29 internal static extern IntPtr evas_object_image_filled_add(IntPtr obj);
31 [DllImport(Libraries.Evas)]
32 internal unsafe static extern void evas_object_image_memfile_set(IntPtr obj, byte* img, long size, IntPtr format, IntPtr key);
34 [DllImport(Libraries.Evas)]
35 internal static extern void evas_object_image_file_set(IntPtr obj, string file, string key);
37 [DllImport(Libraries.Evas, EntryPoint = "evas_object_image_file_get")]
38 internal static extern void _evas_object_image_file_get(IntPtr obj, out IntPtr file, out IntPtr key);
40 internal static void evas_object_image_file_get(IntPtr obj, out string file, out string key)
42 IntPtr outFile, outKey;
43 _evas_object_image_file_get(obj, out outFile, out outKey);
44 file = Marshal.PtrToStringAnsi(outFile);
45 key = Marshal.PtrToStringAnsi(outKey);
48 [DllImport(Libraries.Evas)]
49 internal static extern void evas_object_image_border_set(IntPtr obj, int l, int r, int t, int b);
51 [DllImport(Libraries.Evas)]
52 internal static extern void evas_object_image_border_get(IntPtr obj, out int l, out int r, out int t, out int b);
54 [DllImport(Libraries.Evas)]
55 internal static extern int evas_object_image_border_center_fill_get(IntPtr obj);
57 [DllImport(Libraries.Evas)]
58 internal static extern void evas_object_image_border_center_fill_set(IntPtr obj, int filled);
60 [DllImport(Libraries.Evas)]
61 internal static extern void evas_object_image_filled_set(IntPtr obj, bool setting);
63 [DllImport(Libraries.Evas)]
64 internal static extern bool evas_object_image_filled_get(IntPtr obj);
66 [DllImport(Libraries.Evas)]
67 internal static extern void evas_object_image_border_scale_set(IntPtr obj, double scale);
69 [DllImport(Libraries.Evas)]
70 internal static extern double evas_object_image_border_scale_get(IntPtr obj);
72 [DllImport(Libraries.Evas)]
73 internal static extern void evas_object_image_size_set(IntPtr obj, int w, int h);
75 [DllImport(Libraries.Evas)]
76 internal static extern void evas_object_image_size_get(IntPtr obj, IntPtr w, out int h);
78 [DllImport(Libraries.Evas)]
79 internal static extern void evas_object_image_size_get(IntPtr obj, out int w, IntPtr h);
81 [DllImport(Libraries.Evas)]
82 internal static extern void evas_object_image_size_get(IntPtr obj, out int w, out int h);
84 [DllImport(Libraries.Evas)]
85 internal static extern int evas_object_image_stride_get(IntPtr obj);
87 [DllImport(Libraries.Evas)]
88 internal static extern void evas_object_image_alpha_set(IntPtr obj, bool has_alpha);
90 [DllImport(Libraries.Evas)]
91 internal static extern bool evas_object_image_alpha_get(IntPtr obj);
93 [DllImport(Libraries.Evas)]
94 internal static extern void evas_object_image_colorspace_set(IntPtr obj, Colorspace colorSpace);
96 [DllImport(Libraries.Evas)]
97 internal static extern void evas_object_image_data_copy_set(IntPtr obj, IntPtr data);
99 [DllImport(Libraries.Evas)]
100 internal static extern IntPtr evas_object_image_data_get(IntPtr obj, bool forWriting);
102 [DllImport(Libraries.Evas)]
103 internal static extern void evas_object_image_data_set(IntPtr obj, IntPtr data);
105 [DllImport(Libraries.Evas)]
106 internal static extern void evas_object_image_data_update_add(IntPtr obj, int x, int y, int w, int h);
108 [DllImport(Libraries.Evas)]
109 internal static extern void evas_object_image_fill_set(IntPtr obj, int x, int y, int w, int h);
111 [DllImport(Libraries.Evas)]
112 internal static extern void evas_object_image_pixels_dirty_set(IntPtr obj, bool dirty);
114 [DllImport(Libraries.Evas)]
115 internal static extern void evas_object_image_save(IntPtr obj, string file, string key, string flags);
117 [DllImport(Libraries.Evas)]
118 internal static extern void evas_object_image_scale_hint_set(IntPtr obj, ImageScaleHint hint);
120 [DllImport(Libraries.Evas)]
121 internal static extern void evas_object_image_smooth_scale_set(IntPtr obj, bool smoothScale);
123 [DllImport(Libraries.Evas)]
124 internal static extern bool evas_object_image_smooth_scale_get(IntPtr obj);
126 [DllImport(Libraries.Evas)]
127 internal static extern bool evas_object_image_source_set(IntPtr obj, IntPtr src);
129 [DllImport(Libraries.Evas)]
130 internal static extern void evas_object_image_source_visible_set(IntPtr obj, bool visible);
132 [DllImport(Libraries.Evas)]
133 internal static extern bool evas_object_image_source_visible_get(IntPtr obj);
135 [DllImport(Libraries.Evas)]
136 internal static extern void evas_object_image_source_clip_set(IntPtr obj, bool source_clip);
138 [DllImport(Libraries.Evas)]
139 internal static extern bool evas_object_image_source_clip_get(IntPtr obj);
141 [DllImport(Libraries.Evas)]
142 internal static extern LoadError evas_object_image_load_error_get(IntPtr obj);
144 [DllImport(Libraries.Evas)]
145 internal static extern void evas_object_image_native_surface_set(IntPtr obj, IntPtr surface);