diff options
Diffstat (limited to 'src/ElmSharp/Interop/Interop.Evas.cs')
-rwxr-xr-x | src/ElmSharp/Interop/Interop.Evas.cs | 808 |
1 files changed, 808 insertions, 0 deletions
diff --git a/src/ElmSharp/Interop/Interop.Evas.cs b/src/ElmSharp/Interop/Interop.Evas.cs new file mode 100755 index 0000000..f37ae6f --- /dev/null +++ b/src/ElmSharp/Interop/Interop.Evas.cs @@ -0,0 +1,808 @@ +/* + * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved + * + * Licensed under the Apache License, Version 2.0 (the License); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using System; +using System.Runtime.InteropServices; + +internal static partial class Interop +{ + internal static partial class Evas + { + public enum ObjectCallbackType + { + MouseIn, + MouseOut, + MouseDown, + MouseUp, + MouseMove, + MouseWheel, + MultiDown, + MultiUp, + MultiMove, + Free, + KeyDown, + KeyUp, + FocusIn, + FocusOut, + Show, + Hide, + Move, + Resize, + Restack, + Del, + Hold, + ChangedSizeHints, + ImagePreloaded, + CanvasFocusIn, + CanvasFocusOut, + RenderFlushPre, + RenderFlushPost, + CanvasObjectFocusIn, + CanvasObjectFocusOut, + ImageUnloaded, + RenderPre, + RenderPost, + ImageResize, + DeviceChanged, + AxisUpdate, + CanvasViewportResize + } + + public enum LoadError + { + None = 0, /* No error on load */ + Generic = 1, /* A non-specific error occurred */ + DoesNotRxist = 2, /* File (or file path) does not exist */ + PermissionDenied = 3, /* Permission denied to an existing file (or path) */ + ResourceAllocationFailed = 4, /* Allocation of resources failure prevented load */ + CorruptFile = 5, /* File corrupt (but was detected as a known format) */ + UnknownFormat = 6 /* File is not a known format */ + } + + public enum Colorspace + { + Argb8888, /* ARGB 32 bits per pixel, high-byte is Alpha, accessed 1 32bit word at a time */ + Ycbcr422p709pl, /* YCbCr 4:2:2 Planar, ITU.BT-709 specifications. The data pointed to is just an array of row pointer, pointing to the Y rows, then the Cb, then Cr rows */ + Ergb565a5p, /* 16bit rgb565 + Alpha plane at end - 5 bits of the 8 being used per alpha byte */ + Egry8, /* 8bit grayscale */ + Eycbcr422601pl, /* YCbCr 4:2:2, ITU.BT-601 specifications. The data pointed to is just an array of row pointer, pointing to line of Y,Cb,Y,Cr bytes */ + Eycbcr420nv12601pl, /* YCbCr 4:2:0, ITU.BT-601 specification. The data pointed to is just an array of row pointer, pointing to the Y rows, then the Cb,Cr rows. */ + Eycbcr420tm12601pl, /* YCbCr 4:2:0, ITU.BT-601 specification. The data pointed to is just an array of tiled row pointer, pointing to the Y rows, then the Cb,Cr rows. */ + Eagry88, /* AY 8bits Alpha and 8bits Grey, accessed 1 16bits at a time */ + Eetc1, /* OpenGL ETC1 encoding of RGB texture (4 bit per pixel) @since 1.10 */ + Ergb8etc2, /* OpenGL GL_COMPRESSED_RGB8_ETC2 texture compression format (4 bit per pixel) @since 1.10 */ + Ergba8etc2eac, /* OpenGL GL_COMPRESSED_RGBA8_ETC2_EAC texture compression format, supports alpha (8 bit per pixel) @since 1.10 */ + Eetc1alpha, /* ETC1 with alpha support using two planes: ETC1 RGB and ETC1 grey for alpha @since 1.11 */ + } + + public enum ImageScaleHint + { + None = 0, /* No scale hint at all */ + Dynamic = 1, /* Image is being re-scaled over time, thus turning scaling cache @b off for its data */ + Static = 2 /* Image is not being re-scaled over time, thus turning scaling cache @b on for its data */ + } + + public enum RenderOp + { + Blend = 0, /* default op: d = d*(1-sa) + s */ + BlendRel = 1, /* d = d*(1 - sa) + s*da */ + Copy = 2, /* d = s */ + CopyRel = 3, /* d = s*da */ + Add = 4, /* d = d + s */ + AddRel = 5, /* d = d + s*da */ + Sub = 6, /* d = d - s */ + SubRel = 7, /* d = d - s*da */ + Tint = 8, /* d = d*s + d*(1 - sa) + s*(1 - da) */ + TintRel = 9, /* d = d*(1 - sa + s) */ + Mask = 10, /* d = d*sa */ + Mul = 11 /* d = d*s */ + } + + public enum ObjectCallbackPriority + { + After = 100, + Before = -100, + Default = 0 + } + + public enum TableHomogeneousMode + { + None = 0, + Table = 1, + Item = 2 + } + + public enum TextStyleType + { + Plain, /* plain, standard text */ + Shadow, /* text with shadow underneath */ + Outline, /* text with an outline */ + SoftOutline, /* text with a soft outline */ + Glow, /* text with a glow effect */ + OutlineShadow, /* text with both outline and shadow effects */ + FarShadow, /* text with (far) shadow underneath */ + OutlineSoftShadow, /* text with outline and soft shadow effects combined */ + SoftShadow, /* text with(soft) shadow underneath */ + FarSoftShadow, /* text with(far soft) shadow underneath */ + ShadowDirectionBottomRight, /* shadow growing to bottom right */ + ShadowDirectionBottom, /* shadow growing to the bottom */ + ShadowDirectionBottomLeft, /* shadow growing to bottom left */ + ShadowDirectionLeft, /* shadow growing to the left */ + ShadowDirectionTopLeft, /* shadow growing to top left */ + ShadowDirectionTop, /* shadow growing to the top */ + ShadowDirectionTopRight, /* shadow growing to top right */ + ShadowDirectionRight, /* shadow growing to the right */ + } + + //public struct TextBlockStyle + //{ + // string StyleText; + // string DefaultTag; + + // List objects; + // bool DeleteMe; + //} + + //public struct StyleTag + //{ + //} + + internal delegate void EventCallback(IntPtr data, IntPtr evas, IntPtr obj, IntPtr info); + + internal delegate void EvasCallback(IntPtr data, IntPtr evas, IntPtr info); + + [DllImport(Libraries.Evas)] + internal static extern void evas_event_callback_add(IntPtr obj, ObjectCallbackType type, EvasCallback func, IntPtr data); + + [DllImport(Libraries.Evas)] + internal static extern void evas_event_callback_del(IntPtr obj, ObjectCallbackType type, EvasCallback func); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_event_callback_add(IntPtr obj, ObjectCallbackType type, EventCallback func, IntPtr data); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_event_callback_del(IntPtr obj, ObjectCallbackType type, EventCallback func); + + public delegate void SmartCallback(IntPtr data, IntPtr obj, IntPtr info); + + public static readonly string BackKeyName = "XF86Back"; + public static readonly string MenuKeyName = "XF86Menu"; + + public enum ButtonFlags + { + None, DoubleClick, TripleClick + } + + [DllImport(Libraries.Evas)] + internal static extern bool evas_object_key_grab(IntPtr obj, string keyname, ulong modifier, ulong not_modifier, bool exclusive); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_key_ungrab(IntPtr obj, string keyname, ulong modifier, ulong not_modifier); + + [DllImport(Libraries.Evas)] + internal static extern IntPtr evas_object_data_get(IntPtr obj, string keyname); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_data_set(IntPtr obj, string keyname, IntPtr data); + + [DllImport(Libraries.Evas, EntryPoint = "evas_object_type_get", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true, CharSet = CharSet.Ansi)] + internal static extern IntPtr _evas_object_type_get(IntPtr obj); + + internal static string evas_object_type_get(IntPtr obj) + { + var text = _evas_object_type_get(obj); + return Marshal.PtrToStringAnsi(text); + } + + [DllImport(Libraries.Evas)] + internal static extern IntPtr evas_object_evas_get(IntPtr obj); + + [DllImport(Libraries.Evas)] + internal static extern IntPtr evas_object_image_add(IntPtr obj); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_del(IntPtr objectPtr); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_show(IntPtr obj); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_hide(IntPtr obj); + + [DllImport(Libraries.Evas)] + internal static extern bool evas_object_visible_get(IntPtr obj); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_smart_callback_add(IntPtr obj, string eventName, SmartCallback seh, IntPtr data); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_smart_callback_del(IntPtr obj, string eventName, SmartCallback seh); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_size_hint_min_set(IntPtr obj, int w, int h); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_size_hint_min_get(IntPtr obj, out int w, out int h); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_size_hint_min_get(IntPtr obj, IntPtr w, out int h); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_size_hint_min_get(IntPtr obj, out int w, IntPtr h); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_size_hint_max_set(IntPtr obj, int w, int h); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_size_hint_max_get(IntPtr obj, out int w, out int h); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_size_hint_max_get(IntPtr obj, IntPtr w, out int h); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_size_hint_max_get(IntPtr obj, out int w, IntPtr h); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_size_hint_weight_get(IntPtr obj, out double x, out double y); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_size_hint_weight_get(IntPtr obj, out double x, IntPtr y); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_size_hint_weight_get(IntPtr obj, IntPtr x, out double y); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_size_hint_align_get(IntPtr obj, out double x, out double y); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_size_hint_align_get(IntPtr obj, out double x, IntPtr y); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_size_hint_align_get(IntPtr obj, IntPtr x, out double y); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_size_hint_weight_set(IntPtr obj, double x, double y); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_size_hint_align_set(IntPtr obj, double x, double y); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_move(IntPtr obj, int x, int y); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_resize(IntPtr obj, int w, int h); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_geometry_set(IntPtr obj, int x, int y, int w, int h); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_geometry_get(IntPtr obj, out int x, out int y, out int w, out int h); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_geometry_get(IntPtr obj, out int x, IntPtr y, IntPtr w, IntPtr h); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_geometry_get(IntPtr obj, IntPtr x, out int y, IntPtr w, IntPtr h); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_geometry_get(IntPtr obj, IntPtr x, IntPtr y, out int w, IntPtr h); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_geometry_get(IntPtr obj, IntPtr x, IntPtr y, IntPtr w, out int h); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_geometry_get(IntPtr obj, IntPtr x, IntPtr y, out int w, out int h); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_geometry_get(IntPtr obj, out int x, out int y, IntPtr w, IntPtr h); + + [DllImport(Libraries.Evas)] + internal static extern IntPtr evas_object_smart_members_get(IntPtr obj); + + [DllImport(Libraries.Evas)] + internal static extern IntPtr evas_map_new(int count); + + [DllImport(Libraries.Evas)] + internal static extern void evas_map_util_points_populate_from_object_full(IntPtr map, IntPtr obj, int z); + + [DllImport(Libraries.Evas)] + internal static extern void evas_map_util_points_populate_from_geometry(IntPtr map, int x, int y, int w, int h, int z); + + [DllImport(Libraries.Evas)] + internal static extern void evas_map_util_3d_rotate(IntPtr map, double dx, double dy, double dz, int cx, int cy, int cz); + + [DllImport(Libraries.Evas)] + internal static extern void evas_map_util_zoom(IntPtr map, double x, double y, int cx, int cy); + + [DllImport(Libraries.Evas)] + internal static extern void evas_map_point_coord_set(IntPtr map, int idx, int x, int y, int z); + + [DllImport(Libraries.Evas)] + internal static extern void evas_map_point_coord_get(IntPtr map, int idx, out int x, out int y, out int z); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_map_enable_set(IntPtr obj, bool enabled); + + [DllImport(Libraries.Evas)] + internal static extern bool evas_object_map_enable_get(IntPtr obj); + + [DllImport(Libraries.Evas)] + internal static extern void evas_map_util_object_move_sync_set(IntPtr map, bool enabled); + + [DllImport(Libraries.Evas)] + internal static extern bool evas_map_util_object_move_sync_get(IntPtr map); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_map_set(IntPtr obj, IntPtr map); + + [DllImport(Libraries.Evas)] + internal static extern IntPtr evas_object_map_get(IntPtr obj); + + [DllImport(Libraries.Evas)] + internal static extern void evas_map_free(IntPtr map); + + [DllImport(Libraries.Evas)] + internal static extern IntPtr evas_object_polygon_add(IntPtr evas); + + [DllImport(Libraries.Evas)] + internal static extern IntPtr evas_object_polygon_point_add(IntPtr evas, int x, int y); + + [DllImport(Libraries.Evas)] + internal static extern IntPtr evas_object_polygon_points_clear(IntPtr evas); + + [DllImport(Libraries.Evas)] + internal static extern IntPtr evas_object_rectangle_add(IntPtr evas); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_color_set(IntPtr obj, int r, int g, int b, int a); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_color_get(IntPtr obj, out int r, out int g, out int b, out int a); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_color_get(IntPtr obj, IntPtr r, IntPtr g, IntPtr b, out int a); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_clip_set(IntPtr obj, IntPtr clip); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_clip_unset(IntPtr obj); + + [DllImport(Libraries.Evas)] + internal static extern IntPtr evas_object_clip_get(IntPtr obj); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_lower(IntPtr obj); + + [DllImport(Libraries.Evas)] + internal static extern void evas_event_feed_mouse_move(IntPtr obj, int x, int y, int timestamp, IntPtr data); + + [DllImport(Libraries.Evas)] + internal static extern void evas_event_feed_mouse_down(IntPtr obj, int b, ButtonFlags flags, int timestamp, IntPtr data); + + [DllImport(Libraries.Evas)] + internal static extern void evas_event_feed_mouse_up(IntPtr obj, int b, ButtonFlags flags, int timestamp, IntPtr data); + + [DllImport(Libraries.Evas)] + internal static extern void evas_event_feed_key_down(IntPtr obj, string keyname, string key, string str, string compose, int timestamp, IntPtr data); + + [DllImport(Libraries.Evas)] + internal static extern void evas_event_feed_key_up(IntPtr obj, string keyname, string key, string str, string compose, int timestamp, IntPtr data); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_ref(IntPtr obj); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_unref(IntPtr obj); + + [DllImport(Libraries.Evas)] + internal static extern int evas_object_ref_get(IntPtr obj); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_repeat_events_set(IntPtr obj, bool repeat); + + [DllImport(Libraries.Evas)] + [return: MarshalAs(UnmanagedType.U1)] + internal static extern bool evas_object_repeat_events_get(IntPtr obj); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_propagate_events_set(IntPtr obj, bool propagate); + + [DllImport(Libraries.Evas)] + [return: MarshalAs(UnmanagedType.U1)] + internal static extern bool evas_object_propagate_events_get(IntPtr obj); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_pass_events_set(IntPtr obj, bool propagate); + + [DllImport(Libraries.Evas)] + [return: MarshalAs(UnmanagedType.U1)] + internal static extern bool evas_object_pass_events_get(IntPtr obj); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_textblock_size_native_get(IntPtr obj, out int w, out int h); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_textblock_size_formatted_get(IntPtr obj, out int w, out int h); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_smart_changed(IntPtr obj); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_smart_calculate(IntPtr obj); + + [DllImport(Libraries.Evas)] + internal static extern void evas_color_argb_premul(int a, ref int r, ref int g, ref int b); + + [DllImport(Libraries.Evas)] + internal static extern void evas_damage_rectangle_add(IntPtr obj, int x, int y, int w, int h); + + [DllImport(Libraries.Evas)] + internal static extern void evas_data_argb_premul(uint data, uint length); + + [DllImport(Libraries.Evas)] + internal static extern void evas_event_callback_del_full(IntPtr obj, ObjectCallbackType type, EvasCallback func, IntPtr data); + + [DllImport(Libraries.Evas)] + internal static extern void evas_font_path_global_append(string path); + + [DllImport(Libraries.Evas)] + internal static extern void evas_image_cache_flush(IntPtr obj); + + [DllImport(Libraries.Evas)] + internal static extern void evas_image_cache_set(IntPtr obj, int size); + + [DllImport(Libraries.Evas)] + internal static extern string evas_load_error_str(LoadError error); + + [DllImport(Libraries.Evas)] + internal static extern IntPtr evas_object_data_del(IntPtr obj, string key); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_focus_set(IntPtr obj, bool focus); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_freeze_events_set(IntPtr obj, bool freeze); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_image_colorspace_set(IntPtr obj, Colorspace colorSpace); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_image_data_copy_set(IntPtr obj, IntPtr data); + + [DllImport(Libraries.Evas)] + internal static extern IntPtr evas_object_image_data_get(IntPtr obj, bool forWriting); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_image_data_set(IntPtr obj, IntPtr data); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_image_data_update_add(IntPtr obj, int x, int y, int w, int h); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_image_fill_set(IntPtr obj, int x, int y, int w, int h); + + [DllImport(Libraries.Evas)] + internal static extern IntPtr evas_object_image_filled_add(IntPtr obj); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_image_filled_set(IntPtr obj, bool setting); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_image_memfile_set(IntPtr obj, IntPtr data, int size, string format, string key); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_image_pixels_dirty_set(IntPtr obj, bool dirty); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_image_save(IntPtr obj, string file, string key, string flags); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_image_scale_hint_set(IntPtr obj, ImageScaleHint hint); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_image_size_set(IntPtr obj, int w, int h); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_image_smooth_scale_set(IntPtr obj, bool smoothScale); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_image_source_set(IntPtr obj, IntPtr src); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_image_source_visible_set(IntPtr obj, bool visible); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_layer_set(IntPtr obj, int layer); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_raise(IntPtr obj); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_render_op_set(IntPtr obj, RenderOp op); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_size_hint_aspect_set(IntPtr obj, int aspect, int w, int h); + + [DllImport(Libraries.Evas)] + internal static extern IntPtr evas_object_smart_add(IntPtr obj, IntPtr smart); + + [DllImport(Libraries.Evas)] + internal static extern IntPtr evas_object_smart_data_get(IntPtr obj); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_smart_data_set(IntPtr obj, IntPtr data); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_smart_member_add(IntPtr obj, IntPtr smart); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_smart_member_del(IntPtr obj); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_stack_above(IntPtr obj, IntPtr avobe); + + [DllImport(Libraries.Evas)] + internal static extern IntPtr evas_object_text_add(IntPtr obj); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_text_font_set(IntPtr obj, string font, int size); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_text_text_set(IntPtr obj, string text); + + [DllImport(Libraries.Evas)] + internal static extern IntPtr evas_object_textblock_add(IntPtr obj); + + [DllImport(Libraries.Evas)] + internal static extern IntPtr evas_object_textblock_style_set(IntPtr obj, IntPtr textBlockStyle); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_textblock_text_markup_set(IntPtr obj, string text); + + [DllImport(Libraries.Evas)] + internal static extern void evas_obscured_clear(IntPtr obj); + + [DllImport(Libraries.Evas)] + internal static extern IntPtr evas_smart_class_new(IntPtr obj); + + [DllImport(Libraries.Evas)] + internal static extern string evas_device_name_get(IntPtr obj); + + [DllImport(Libraries.Evas)] + internal static extern string evas_font_path_global_clear(); + + [DllImport(Libraries.Evas)] + internal static extern IntPtr evas_object_above_get(IntPtr obj); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_event_callback_priority_add(IntPtr obj, ObjectCallbackType type, ObjectCallbackPriority priority, EventCallback func, IntPtr data); + + [DllImport(Libraries.Evas)] + internal static extern bool evas_object_focus_get(IntPtr obj); + + [DllImport(Libraries.Evas)] + internal static extern bool evas_object_freeze_events_get(IntPtr obj); + + [DllImport(Libraries.Evas)] + internal static extern int evas_object_layer_get(IntPtr obj); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_smart_callback_priority_add(IntPtr obj, string eventName, ObjectCallbackPriority priority, EventCallback func, IntPtr data); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_smart_clipped_smart_set(IntPtr obj); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_table_homogeneous_set(IntPtr obj, TableHomogeneousMode mode); + + [DllImport(Libraries.Evas)] + internal static extern bool evas_object_table_pack(IntPtr obj, IntPtr child, uint col, uint row, uint colspan, uint rowspan); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_table_padding_set(IntPtr obj, int horizontal, int vertical); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_text_filter_program_set(IntPtr obj, string program); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_text_glow_color_set(IntPtr obj, int r, int g, int b, int a); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_text_outline_color_set(IntPtr obj, int r, int g, int b, int a); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_text_shadow_color_set(IntPtr obj, int r, int g, int b, int a); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_text_style_set(IntPtr obj, TextStyleType type); + + [DllImport(Libraries.Evas)] + internal static extern bool evas_object_textblock_line_number_geometry_get(IntPtr obj, int line, out int x, out int y, out int w, out int h); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_textblock_valign_set(IntPtr obj, double align); + + [DllImport(Libraries.Evas)] + internal static extern int evas_string_char_len_get(string str); + + [DllImport(Libraries.Evas)] + internal static extern int evas_textblock_style_free(IntPtr obj); + + [DllImport(Libraries.Evas)] + internal static extern IntPtr evas_textblock_style_new(); + + [DllImport(Libraries.Evas)] + internal static extern void evas_textblock_style_set(IntPtr obj, string text); + + [DllImport(Libraries.Evas)] + internal static extern string evas_textblock_text_markup_to_utf8(IntPtr obj, string text); + + [DllImport(Libraries.Evas)] + internal static extern string evas_textblock_text_utf8_to_markup(IntPtr obj, string text); + + [DllImport(Libraries.Evas)] + internal static extern void evas_obscured_rectangle_add(IntPtr obj, int x, int y, int w, int h); + + [DllImport(Libraries.Evas)] + internal static extern void evas_render(IntPtr obj); + + [DllImport(Libraries.Evas)] + internal static extern void evas_norender(IntPtr obj); + + [DllImport(Libraries.Evas)] + internal static extern int evas_image_cache_get(IntPtr obj); + + [DllImport(Libraries.Evas)] + internal static extern void evas_font_path_global_prepend(string path); + + [DllImport(Libraries.Evas)] + internal static extern void evas_color_argb_unpremul(int a, ref int r, ref int g, ref int b); + + [DllImport(Libraries.Evas)] + internal static extern void evas_color_hsv_to_rgb(int r, int g, int b, out float h, out float s, out float v); + + [DllImport(Libraries.Evas)] + internal static extern void evas_color_rgb_to_hsv(float h, float s, float v, out int r, out int g, out int b); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_stack_below(IntPtr obj, IntPtr below); + + [DllImport(Libraries.Evas)] + internal static extern void evas_object_size_hint_aspect_get(IntPtr obj, out int aspect, out int w, out int h); + + internal static void SetX(IntPtr obj, int x) + { + int y = GetY(obj); + evas_object_move(obj, x, y); + } + + internal static void SetY(IntPtr obj, int y) + { + int x = GetX(obj); + evas_object_move(obj, x, y); + } + + internal static void SetWidth(IntPtr obj, int w) + { + int h = GetHeight(obj); + evas_object_resize(obj, w, h); + } + + internal static void SetHeight(IntPtr obj, int h) + { + int w = GetWidth(obj); + evas_object_resize(obj, w, h); + } + + internal static int GetX(IntPtr obj) + { + int x; + evas_object_geometry_get(obj, out x, IntPtr.Zero, IntPtr.Zero, IntPtr.Zero); + return x; + } + + internal static int GetY(IntPtr obj) + { + int y; + evas_object_geometry_get(obj, IntPtr.Zero, out y, IntPtr.Zero, IntPtr.Zero); + return y; + } + + internal static int GetWidth(IntPtr obj) + { + int w; + evas_object_geometry_get(obj, IntPtr.Zero, IntPtr.Zero, out w, IntPtr.Zero); + return w; + } + + internal static int GetHeight(IntPtr obj) + { + int h; + evas_object_geometry_get(obj, IntPtr.Zero, IntPtr.Zero, IntPtr.Zero, out h); + return h; + } + + internal static double GetAlignX(IntPtr obj) + { + double x; + evas_object_size_hint_align_get(obj, out x, IntPtr.Zero); + return x; + } + + internal static double GetAlignY(IntPtr obj) + { + double y; + evas_object_size_hint_align_get(obj, IntPtr.Zero, out y); + return y; + } + + internal static void SetAlignX(IntPtr obj, double x) + { + double y = GetAlignY(obj); + evas_object_size_hint_align_set(obj, x, y); + } + + internal static void SetAlignY(IntPtr obj, double y) + { + double x = GetAlignX(obj); + evas_object_size_hint_align_set(obj, x, y); + } + + internal static double GetWeightX(IntPtr obj) + { + double x; + evas_object_size_hint_weight_get(obj, out x, IntPtr.Zero); + return x; + } + + internal static double GetWeightY(IntPtr obj) + { + double y; + evas_object_size_hint_weight_get(obj, IntPtr.Zero, out y); + return y; + } + + internal static void SetWeightX(IntPtr obj, double x) + { + double y = GetWeightY(obj); + evas_object_size_hint_weight_set(obj, x, y); + } + + internal static void SetWeightY(IntPtr obj, double y) + { + double x = GetWeightX(obj); + evas_object_size_hint_weight_set(obj, x, y); + } + + internal static int GetAlpha(IntPtr obj) + { + int a; + evas_object_color_get(obj, IntPtr.Zero, IntPtr.Zero, IntPtr.Zero, out a); + return a; + } + + internal static void SetAlpha(IntPtr obj, int a) + { + evas_object_color_set(obj, a, a, a, a); + } + + internal static void SetPremultipliedColor(IntPtr obj, int r, int g, int b, int a) + { + evas_object_color_set(obj, r * a / 255, g * a / 255, b * a / 255, a); + } + } +} |