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 EvasObject = ElmSharp.EvasObject;
23 /// Overlay map object.
25 /// <since_tizen> 3 </since_tizen>
26 [Obsolete("Deprecated since API11. Might be removed in API13.")]
27 public class Overlay : MapObject, IDisposable
29 internal Interop.OverlayHandle handle;
32 /// Creates a normal overlay map object.
34 /// <since_tizen> 3 </since_tizen>
35 /// <param name="coordinates"></param>
36 /// <param name="objectToContain"></param>
37 /// <exception cref="ArgumentException">Thrown when the input coordinates or objectToContain are invalid.</exception>
38 [Obsolete("Deprecated since API10. Might be removed in API12.")]
39 public Overlay(Geocoordinates coordinates, EvasObject objectToContain)
40 : this(coordinates, objectToContain, Interop.ViewOverlayType.Normal)
44 internal Overlay(Geocoordinates coordinates, EvasObject objectToContain, Interop.ViewOverlayType type)
46 var err = Interop.ErrorCode.InvalidParameter;
47 if (coordinates == null || objectToContain == null)
49 err.ThrowIfFailed("given coordinates or parent evas object is null");
51 handle = new Interop.OverlayHandle(coordinates.handle, objectToContain, type);
55 /// Destroy the Overlay object.
63 /// Gets or sets the visibility of an overlay map object.
65 /// <since_tizen> 3 </since_tizen>
66 [Obsolete("Deprecated since API11. Might be removed in API13.")]
67 public override bool IsVisible
69 get { return handle.IsVisible; }
70 set { handle.IsVisible = value; }
74 /// Gets or sets geographical coordinates for an overlay map object.
76 /// <since_tizen> 3 </since_tizen>
77 [Obsolete("Deprecated since API11. Might be removed in API13.")]
78 public Geocoordinates Coordinates
82 return new Geocoordinates(handle.Coordinates);
86 // Overlay takes ownership of the native handle.
87 handle.Coordinates = value.handle;
88 value.handle.HasOwnership = false;
93 /// Gets or sets minimum zoom level for an overlay map object.
95 /// <since_tizen> 3 </since_tizen>
96 [Obsolete("Deprecated since API10. Might be removed in API12.")]
97 public int MinimumZoomLevel
101 return handle.MinZoomLevel;
105 handle.MinZoomLevel = value;
110 /// Gets or sets maximum zoom lever for an overlay map object.
112 /// <since_tizen> 3 </since_tizen>
113 [Obsolete("Deprecated since API10. Might be removed in API12.")]
114 public int MaximumZoomLevel
118 return handle.MaxZoomLevel;
122 handle.MaxZoomLevel = value;
126 // Overlay object does not support click events
127 internal override void HandleClickedEvent()
129 throw new NotSupportedException("Overlay object does not support click events");
132 internal override void InvalidateMapObject()
137 internal override Interop.ViewObjectHandle GetHandle()
142 #region IDisposable Support
143 private bool _disposedValue = false;
146 /// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
148 /// <param name="disposing">If true, managed and unmanaged resources can be disposed, otherwise only unmanaged resources can be disposed.</param>
149 /// <since_tizen> 3 </since_tizen>
150 [Obsolete("Deprecated since API11. Might be removed in API13.")]
151 protected virtual void Dispose(bool disposing)
156 _disposedValue = true;
161 /// Releases all the resources used by this object.
163 /// <since_tizen> 3 </since_tizen>
164 [Obsolete("Deprecated since API11. Might be removed in API13.")]
165 public void Dispose()
168 GC.SuppressFinalize(this);
174 /// The bubble overlay map object.
176 /// <since_tizen> 3 </since_tizen>
177 [Obsolete("Deprecated since API11. Might be removed in API13.")]
178 public class BubbleOverlay : Overlay
181 /// Creates a bubble overlay.
183 /// <since_tizen> 3 </since_tizen>
184 /// <param name="coordinates">The geographical coordinates to be pointed.</param>
185 /// <param name="objectToContain">The EvasObject to be shown.</param>
186 /// <exception cref="System.NotSupportedException">Thrown when the required feature is not supported.</exception>
187 /// <exception cref="ArgumentException">Thrown when the input coordinates or objectToContain are invalid.</exception>
188 [Obsolete("Deprecated since API11. Might be removed in API13.")]
189 public BubbleOverlay(Geocoordinates coordinates, EvasObject objectToContain)
190 : base(coordinates, objectToContain, Interop.ViewOverlayType.Bubble)
196 /// The box overlay map object.
198 /// <since_tizen> 3 </since_tizen>
199 [Obsolete("Deprecated since API11. Might be removed in API13.")]
200 public class BoxOverlay : Overlay
203 /// Creates a box overlay.
205 /// <since_tizen> 3 </since_tizen>
206 /// <param name="coordinates">The geographical coordinates to be pointed.</param>
207 /// <param name="objectToContain">The EvasObject to be shown.</param>
208 /// <exception cref="System.NotSupportedException">Thrown when the required feature is not supported.</exception>
209 /// <exception cref="ArgumentException">Thrown when the input coordinates or objectToContain are invalid</exception>
210 [Obsolete("Deprecated since API11. Might be removed in API13.")]
211 public BoxOverlay(Geocoordinates coordinates, EvasObject objectToContain)
212 : base(coordinates, objectToContain, Interop.ViewOverlayType.Box)