diff options
author | Kangho Hur <kangho.hur@samsung.com> | 2016-12-12 21:06:08 +0900 |
---|---|---|
committer | Kangho Hur <kangho.hur@samsung.com> | 2016-12-13 10:38:05 +0900 |
commit | a206b44f4245d63d29d048b2897d17d442a0e3e5 (patch) | |
tree | 660e4720b7a442ba6cf8641c9ba31e663d65ca04 /ElmSharp | |
parent | e31d4d977df743249eb3fb986672a0f5eb3ee252 (diff) | |
download | elm-sharp-a206b44f4245d63d29d048b2897d17d442a0e3e5.tar.gz elm-sharp-a206b44f4245d63d29d048b2897d17d442a0e3e5.tar.bz2 elm-sharp-a206b44f4245d63d29d048b2897d17d442a0e3e5.zip |
Support Image.BackgroundColor
Change-Id: I4cd5296f2849bf6f4abeeea7997ce2703d835547
Diffstat (limited to 'ElmSharp')
-rw-r--r-- | ElmSharp/ElmSharp/Image.cs | 108 |
1 files changed, 65 insertions, 43 deletions
diff --git a/ElmSharp/ElmSharp/Image.cs b/ElmSharp/ElmSharp/Image.cs index 9268c1b..2c99bcb 100644 --- a/ElmSharp/ElmSharp/Image.cs +++ b/ElmSharp/ElmSharp/Image.cs @@ -41,7 +41,7 @@ namespace ElmSharp { get { - return Interop.Elementary.elm_image_file_get(Handle); + return Interop.Elementary.elm_image_file_get(RealHandle); } } @@ -49,11 +49,11 @@ namespace ElmSharp { get { - return Interop.Elementary.elm_image_smooth_get(Handle); + return Interop.Elementary.elm_image_smooth_get(RealHandle); } set { - Interop.Elementary.elm_image_smooth_set(Handle, value); + Interop.Elementary.elm_image_smooth_set(RealHandle, value); } } @@ -61,11 +61,11 @@ namespace ElmSharp { get { - return !Interop.Elementary.elm_image_no_scale_get(Handle); + return !Interop.Elementary.elm_image_no_scale_get(RealHandle); } set { - Interop.Elementary.elm_image_no_scale_set(Handle, !value); + Interop.Elementary.elm_image_no_scale_set(RealHandle, !value); } } @@ -78,7 +78,7 @@ namespace ElmSharp set { _canScaleDown = value; - Interop.Elementary.elm_image_resizable_set(Handle, _canScaleUp, _canScaleDown); + Interop.Elementary.elm_image_resizable_set(RealHandle, _canScaleUp, _canScaleDown); } } @@ -91,7 +91,7 @@ namespace ElmSharp set { _canScaleUp = value; - Interop.Elementary.elm_image_resizable_set(Handle, _canScaleUp, _canScaleDown); + Interop.Elementary.elm_image_resizable_set(RealHandle, _canScaleUp, _canScaleDown); } } @@ -99,11 +99,11 @@ namespace ElmSharp { get { - return Interop.Elementary.elm_image_fill_outside_get(Handle); + return Interop.Elementary.elm_image_fill_outside_get(RealHandle); } set { - Interop.Elementary.elm_image_fill_outside_set(Handle, value); + Interop.Elementary.elm_image_fill_outside_set(RealHandle, value); } } @@ -111,11 +111,11 @@ namespace ElmSharp { get { - return Interop.Elementary.elm_image_prescale_get(Handle); + return Interop.Elementary.elm_image_prescale_get(RealHandle); } set { - Interop.Elementary.elm_image_prescale_set(Handle, value); + Interop.Elementary.elm_image_prescale_set(RealHandle, value); } } @@ -123,11 +123,11 @@ namespace ElmSharp { get { - return Interop.Elementary.elm_image_aspect_fixed_get(Handle); + return Interop.Elementary.elm_image_aspect_fixed_get(RealHandle); } set { - Interop.Elementary.elm_image_aspect_fixed_set(Handle, value); + Interop.Elementary.elm_image_aspect_fixed_set(RealHandle, value); } } @@ -135,11 +135,11 @@ namespace ElmSharp { get { - return Interop.Elementary.elm_image_animated_get(Handle); + return Interop.Elementary.elm_image_animated_get(RealHandle); } set { - Interop.Elementary.elm_image_animated_set(Handle, value); + Interop.Elementary.elm_image_animated_set(RealHandle, value); } } @@ -147,7 +147,7 @@ namespace ElmSharp { get { - return Interop.Elementary.elm_image_animated_available_get(Handle); + return Interop.Elementary.elm_image_animated_available_get(RealHandle); } } @@ -155,11 +155,11 @@ namespace ElmSharp { get { - return Interop.Elementary.elm_image_animated_play_get(Handle); + return Interop.Elementary.elm_image_animated_play_get(RealHandle); } set { - Interop.Elementary.elm_image_animated_play_set(Handle, value); + Interop.Elementary.elm_image_animated_play_set(RealHandle, value); } } @@ -167,11 +167,11 @@ namespace ElmSharp { get { - return Interop.Elementary.elm_image_editable_get(Handle); + return Interop.Elementary.elm_image_editable_get(RealHandle); } set { - Interop.Elementary.elm_image_editable_set(Handle, value); + Interop.Elementary.elm_image_editable_set(RealHandle, value); } } @@ -180,7 +180,7 @@ namespace ElmSharp get { int w, h; - Interop.Elementary.elm_image_object_size_get(Handle, out w, out h); + Interop.Elementary.elm_image_object_size_get(RealHandle, out w, out h); return new Size(w, h); } } @@ -189,7 +189,7 @@ namespace ElmSharp { get { - IntPtr evasObj = Interop.Elementary.elm_image_object_get(Handle); + IntPtr evasObj = Interop.Elementary.elm_image_object_get(RealHandle); if (evasObj != IntPtr.Zero) { return !Interop.Evas.evas_object_image_alpha_get(evasObj); @@ -198,7 +198,7 @@ namespace ElmSharp } set { - IntPtr evasObj = Interop.Elementary.elm_image_object_get(Handle); + IntPtr evasObj = Interop.Elementary.elm_image_object_get(RealHandle); if (evasObj != IntPtr.Zero) { Interop.Evas.evas_object_image_alpha_set(evasObj, !value); @@ -210,11 +210,11 @@ namespace ElmSharp { get { - return (ImageOrientation)Interop.Elementary.elm_image_orient_get(Handle); + return (ImageOrientation)Interop.Elementary.elm_image_orient_get(RealHandle); } set { - Interop.Elementary.elm_image_orient_set(Handle, (int)value); + Interop.Elementary.elm_image_orient_set(RealHandle, (int)value); } } @@ -223,7 +223,7 @@ namespace ElmSharp get { int r = 255, g = 255, b = 255, a = 255; - IntPtr evasObj = Interop.Elementary.elm_image_object_get(Handle); + IntPtr evasObj = Interop.Elementary.elm_image_object_get(RealHandle); if (evasObj != IntPtr.Zero) { Interop.Evas.evas_object_color_get(evasObj, out r, out g, out b, out a); @@ -232,7 +232,7 @@ namespace ElmSharp } set { - IntPtr evasObj = Interop.Elementary.elm_image_object_get(Handle); + IntPtr evasObj = Interop.Elementary.elm_image_object_get(RealHandle); if (evasObj != IntPtr.Zero) { Interop.Evas.evas_object_color_set(evasObj, value.R, value.G, value.B, value.A); @@ -240,14 +240,30 @@ namespace ElmSharp } } + public override Color BackgroundColor + { + set + { + if (value.IsDefault) + { + SetPartColor("bg", Color.Transparent); + } + else + { + SetPartColor("bg", value); + } + _backgroundColor = value; + } + } + public bool Load(string file) { if (file == null) throw new ArgumentNullException("file"); - Interop.Elementary.elm_image_async_open_set(Handle, false); - Interop.Elementary.elm_image_preload_disabled_set(Handle, true); - return Interop.Elementary.elm_image_file_set(Handle, file, null); + Interop.Elementary.elm_image_async_open_set(RealHandle, false); + Interop.Elementary.elm_image_preload_disabled_set(RealHandle, true); + return Interop.Elementary.elm_image_file_set(RealHandle, file, null); } public bool Load(Uri uri) @@ -265,9 +281,9 @@ namespace ElmSharp if (img == null) throw new ArgumentNullException("img"); - Interop.Elementary.elm_image_async_open_set(Handle, false); - Interop.Elementary.elm_image_preload_disabled_set(Handle, true); - return Interop.Elementary.elm_image_memfile_set(Handle, img, size, IntPtr.Zero, IntPtr.Zero); + Interop.Elementary.elm_image_async_open_set(RealHandle, false); + Interop.Elementary.elm_image_preload_disabled_set(RealHandle, true); + return Interop.Elementary.elm_image_memfile_set(RealHandle, img, size, IntPtr.Zero, IntPtr.Zero); } public bool Load(Stream stream) @@ -275,8 +291,8 @@ namespace ElmSharp if (stream == null) throw new ArgumentNullException("stream"); - Interop.Elementary.elm_image_async_open_set(Handle, false); - Interop.Elementary.elm_image_preload_disabled_set(Handle, true); + Interop.Elementary.elm_image_async_open_set(RealHandle, false); + Interop.Elementary.elm_image_preload_disabled_set(RealHandle, true); MemoryStream memstream = new MemoryStream(); stream.CopyTo(memstream); unsafe @@ -284,7 +300,7 @@ namespace ElmSharp byte[] dataArr = memstream.ToArray(); fixed (byte* data = &dataArr[0]) { - return Interop.Elementary.elm_image_memfile_set(Handle, data, dataArr.Length, IntPtr.Zero, IntPtr.Zero); + return Interop.Elementary.elm_image_memfile_set(RealHandle, data, dataArr.Length, IntPtr.Zero, IntPtr.Zero); } } } @@ -294,8 +310,8 @@ namespace ElmSharp if (file == null) throw new ArgumentNullException("file"); - Interop.Elementary.elm_image_async_open_set(Handle, true); - Interop.Elementary.elm_image_preload_disabled_set(Handle, false); + Interop.Elementary.elm_image_async_open_set(RealHandle, true); + Interop.Elementary.elm_image_preload_disabled_set(RealHandle, false); var tcs = new TaskCompletionSource<bool>(); @@ -329,7 +345,7 @@ namespace ElmSharp } }; - bool ret = Interop.Elementary.elm_image_file_set(Handle, file, null); + bool ret = Interop.Elementary.elm_image_file_set(RealHandle, file, null); if (!ret) { throw new InvalidOperationException("Failed to set file to Image"); @@ -351,8 +367,8 @@ namespace ElmSharp if (stream == null) throw new ArgumentNullException("stream"); - Interop.Elementary.elm_image_async_open_set(Handle, true); - Interop.Elementary.elm_image_preload_disabled_set(Handle, false); + Interop.Elementary.elm_image_async_open_set(RealHandle, true); + Interop.Elementary.elm_image_preload_disabled_set(RealHandle, false); var tcs = new TaskCompletionSource<bool>(); @@ -394,7 +410,7 @@ namespace ElmSharp byte[] dataArr = memstream.ToArray(); fixed (byte* data = &dataArr[0]) { - bool ret = Interop.Elementary.elm_image_memfile_set(Handle, data, dataArr.Length, IntPtr.Zero, IntPtr.Zero); + bool ret = Interop.Elementary.elm_image_memfile_set(RealHandle, data, dataArr.Length, IntPtr.Zero, IntPtr.Zero); if (!ret) { return false; @@ -407,7 +423,13 @@ namespace ElmSharp protected override IntPtr CreateHandle(EvasObject parent) { - return Interop.Elementary.elm_image_add(parent.Handle); + IntPtr handle = Interop.Elementary.elm_layout_add(parent); + Interop.Elementary.elm_layout_theme_set(handle, "layout", "background", "default"); + + RealHandle = Interop.Elementary.elm_image_add(handle); + Interop.Elementary.elm_object_part_content_set(handle, "elm.swallow.content", RealHandle); + + return handle; } } |