1 #pragma warning disable CS1591
3 using System.Runtime.InteropServices;
4 using System.Collections.Generic;
6 using System.ComponentModel;
7 namespace Efl { namespace Ui {
8 /// <summary></summary>
9 [ScrollbarNativeInherit]
10 public interface Scrollbar :
11 Efl.Eo.IWrapper, IDisposable
13 /// <summary>Scrollbar visibility policy</summary>
14 /// <param name="hbar">Horizontal scrollbar</param>
15 /// <param name="vbar">Vertical scrollbar</param>
16 /// <returns></returns>
17 void GetBarMode( out Efl.Ui.ScrollbarMode hbar, out Efl.Ui.ScrollbarMode vbar);
18 /// <summary>Scrollbar visibility policy</summary>
19 /// <param name="hbar">Horizontal scrollbar</param>
20 /// <param name="vbar">Vertical scrollbar</param>
21 /// <returns></returns>
22 void SetBarMode( Efl.Ui.ScrollbarMode hbar, Efl.Ui.ScrollbarMode vbar);
23 /// <summary>Scrollbar size. It is calculated based on viewport size-content sizes.</summary>
24 /// <param name="width">Value between 0.0 and 1.0</param>
25 /// <param name="height">Value between 0.0 and 1.0</param>
26 /// <returns></returns>
27 void GetBarSize( out double width, out double height);
28 /// <summary>Scrollbar position. It is calculated based on current position-maximum positions.</summary>
29 /// <param name="posx">Value between 0.0 and 1.0</param>
30 /// <param name="posy">Value between 0.0 and 1.0</param>
31 /// <returns></returns>
32 void GetBarPosition( out double posx, out double posy);
33 /// <summary>Scrollbar position. It is calculated based on current position-maximum positions.</summary>
34 /// <param name="posx">Value between 0.0 and 1.0</param>
35 /// <param name="posy">Value between 0.0 and 1.0</param>
36 /// <returns></returns>
37 void SetBarPosition( double posx, double posy);
38 /// <summary>Update bar visibility.
39 /// The object will call this function whenever the bar need to be shown or hidden.</summary>
40 /// <returns></returns>
41 void UpdateBarVisibility();
42 /// <summary>Called when bar is pressed</summary>
43 event EventHandler<Efl.Ui.ScrollbarBarPressEvt_Args> BarPressEvt;
44 /// <summary>Called when bar is unpressed</summary>
45 event EventHandler<Efl.Ui.ScrollbarBarUnpressEvt_Args> BarUnpressEvt;
46 /// <summary>Called when bar is dragged</summary>
47 event EventHandler<Efl.Ui.ScrollbarBarDragEvt_Args> BarDragEvt;
48 /// <summary>Called when bar size is changed</summary>
49 event EventHandler BarSizeChangedEvt;
50 /// <summary>Called when bar position is changed</summary>
51 event EventHandler BarPosChangedEvt;
52 /// <summary>Callend when bar is shown</summary>
53 event EventHandler<Efl.Ui.ScrollbarBarShowEvt_Args> BarShowEvt;
54 /// <summary>Called when bar is hidden</summary>
55 event EventHandler<Efl.Ui.ScrollbarBarHideEvt_Args> BarHideEvt;
57 ///<summary>Event argument wrapper for event <see cref="Efl.Ui.Scrollbar.BarPressEvt"/>.</summary>
58 public class ScrollbarBarPressEvt_Args : EventArgs {
59 ///<summary>Actual event payload.</summary>
60 public Efl.Ui.ScrollbarDirection arg { get; set; }
62 ///<summary>Event argument wrapper for event <see cref="Efl.Ui.Scrollbar.BarUnpressEvt"/>.</summary>
63 public class ScrollbarBarUnpressEvt_Args : EventArgs {
64 ///<summary>Actual event payload.</summary>
65 public Efl.Ui.ScrollbarDirection arg { get; set; }
67 ///<summary>Event argument wrapper for event <see cref="Efl.Ui.Scrollbar.BarDragEvt"/>.</summary>
68 public class ScrollbarBarDragEvt_Args : EventArgs {
69 ///<summary>Actual event payload.</summary>
70 public Efl.Ui.ScrollbarDirection arg { get; set; }
72 ///<summary>Event argument wrapper for event <see cref="Efl.Ui.Scrollbar.BarShowEvt"/>.</summary>
73 public class ScrollbarBarShowEvt_Args : EventArgs {
74 ///<summary>Actual event payload.</summary>
75 public Efl.Ui.ScrollbarDirection arg { get; set; }
77 ///<summary>Event argument wrapper for event <see cref="Efl.Ui.Scrollbar.BarHideEvt"/>.</summary>
78 public class ScrollbarBarHideEvt_Args : EventArgs {
79 ///<summary>Actual event payload.</summary>
80 public Efl.Ui.ScrollbarDirection arg { get; set; }
82 /// <summary></summary>
83 sealed public class ScrollbarConcrete :
88 ///<summary>Pointer to the native class description.</summary>
89 public System.IntPtr NativeClass {
91 if (((object)this).GetType() == typeof (ScrollbarConcrete))
92 return Efl.Ui.ScrollbarNativeInherit.GetEflClassStatic();
94 return Efl.Eo.ClassRegister.klassFromType[((object)this).GetType()];
97 private EventHandlerList eventHandlers = new EventHandlerList();
98 private System.IntPtr handle;
99 ///<summary>Pointer to the native instance.</summary>
100 public System.IntPtr NativeHandle {
101 get { return handle; }
103 [System.Runtime.InteropServices.DllImport(efl.Libs.Efl)] internal static extern System.IntPtr
104 efl_ui_scrollbar_interface_get();
105 ///<summary>Internal usage: Constructs an instance from a native pointer. This is used when interacting with C code and should not be used directly.</summary>
106 public ScrollbarConcrete(System.IntPtr raw)
109 register_event_proxies();
111 ///<summary>Destructor.</summary>
116 ///<summary>Releases the underlying native instance.</summary>
117 void Dispose(bool disposing)
119 if (handle != System.IntPtr.Zero) {
120 Efl.Eo.Globals.efl_unref(handle);
121 handle = System.IntPtr.Zero;
124 ///<summary>Releases the underlying native instance.</summary>
125 public void Dispose()
128 GC.SuppressFinalize(this);
130 ///<summary>Casts obj into an instance of this type.</summary>
131 public static ScrollbarConcrete static_cast(Efl.Object obj)
134 throw new System.ArgumentNullException("obj");
135 return new ScrollbarConcrete(obj.NativeHandle);
137 ///<summary>Verifies if the given object is equal to this one.</summary>
138 public override bool Equals(object obj)
140 var other = obj as Efl.Object;
143 return this.NativeHandle == other.NativeHandle;
145 ///<summary>Gets the hash code for this object based on the native pointer it points to.</summary>
146 public override int GetHashCode()
148 return this.NativeHandle.ToInt32();
150 ///<summary>Turns the native pointer into a string representation.</summary>
151 public override String ToString()
153 return $"{this.GetType().Name}@[{this.NativeHandle.ToInt32():x}]";
155 private readonly object eventLock = new object();
156 private Dictionary<string, int> event_cb_count = new Dictionary<string, int>();
157 private bool add_cpp_event_handler(string lib, string key, Efl.EventCb evt_delegate) {
159 if (!event_cb_count.TryGetValue(key, out event_count))
160 event_cb_count[key] = event_count;
161 if (event_count == 0) {
162 IntPtr desc = Efl.EventDescription.GetNative(lib, key);
163 if (desc == IntPtr.Zero) {
164 Eina.Log.Error($"Failed to get native event {key}");
167 bool result = Efl.Eo.Globals.efl_event_callback_priority_add(handle, desc, 0, evt_delegate, System.IntPtr.Zero);
169 Eina.Log.Error($"Failed to add event proxy for event {key}");
172 Eina.Error.RaiseIfUnhandledException();
174 event_cb_count[key]++;
177 private bool remove_cpp_event_handler(string key, Efl.EventCb evt_delegate) {
179 if (!event_cb_count.TryGetValue(key, out event_count))
180 event_cb_count[key] = event_count;
181 if (event_count == 1) {
182 IntPtr desc = Efl.EventDescription.GetNative(efl.Libs.Efl, key);
183 if (desc == IntPtr.Zero) {
184 Eina.Log.Error($"Failed to get native event {key}");
187 bool result = Efl.Eo.Globals.efl_event_callback_del(handle, desc, evt_delegate, System.IntPtr.Zero);
189 Eina.Log.Error($"Failed to remove event proxy for event {key}");
192 Eina.Error.RaiseIfUnhandledException();
193 } else if (event_count == 0) {
194 Eina.Log.Error($"Trying to remove proxy for event {key} when there is nothing registered.");
197 event_cb_count[key]--;
200 private static object BarPressEvtKey = new object();
201 /// <summary>Called when bar is pressed</summary>
202 public event EventHandler<Efl.Ui.ScrollbarBarPressEvt_Args> BarPressEvt
206 string key = "_EFL_UI_SCROLLBAR_EVENT_BAR_PRESS";
207 if (add_cpp_event_handler(efl.Libs.Efl, key, this.evt_BarPressEvt_delegate)) {
208 eventHandlers.AddHandler(BarPressEvtKey , value);
210 Eina.Log.Error($"Error adding proxy for event {key}");
215 string key = "_EFL_UI_SCROLLBAR_EVENT_BAR_PRESS";
216 if (remove_cpp_event_handler(key, this.evt_BarPressEvt_delegate)) {
217 eventHandlers.RemoveHandler(BarPressEvtKey , value);
219 Eina.Log.Error($"Error removing proxy for event {key}");
223 ///<summary>Method to raise event BarPressEvt.</summary>
224 public void On_BarPressEvt(Efl.Ui.ScrollbarBarPressEvt_Args e)
226 EventHandler<Efl.Ui.ScrollbarBarPressEvt_Args> evt;
228 evt = (EventHandler<Efl.Ui.ScrollbarBarPressEvt_Args>)eventHandlers[BarPressEvtKey];
230 evt?.Invoke(this, e);
232 Efl.EventCb evt_BarPressEvt_delegate;
233 private void on_BarPressEvt_NativeCallback(System.IntPtr data, ref Efl.Event_StructInternal evt)
235 Efl.Ui.ScrollbarBarPressEvt_Args args = new Efl.Ui.ScrollbarBarPressEvt_Args();
236 args.arg = default(Efl.Ui.ScrollbarDirection);
238 On_BarPressEvt(args);
239 } catch (Exception e) {
240 Eina.Log.Error(e.ToString());
241 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
245 private static object BarUnpressEvtKey = new object();
246 /// <summary>Called when bar is unpressed</summary>
247 public event EventHandler<Efl.Ui.ScrollbarBarUnpressEvt_Args> BarUnpressEvt
251 string key = "_EFL_UI_SCROLLBAR_EVENT_BAR_UNPRESS";
252 if (add_cpp_event_handler(efl.Libs.Efl, key, this.evt_BarUnpressEvt_delegate)) {
253 eventHandlers.AddHandler(BarUnpressEvtKey , value);
255 Eina.Log.Error($"Error adding proxy for event {key}");
260 string key = "_EFL_UI_SCROLLBAR_EVENT_BAR_UNPRESS";
261 if (remove_cpp_event_handler(key, this.evt_BarUnpressEvt_delegate)) {
262 eventHandlers.RemoveHandler(BarUnpressEvtKey , value);
264 Eina.Log.Error($"Error removing proxy for event {key}");
268 ///<summary>Method to raise event BarUnpressEvt.</summary>
269 public void On_BarUnpressEvt(Efl.Ui.ScrollbarBarUnpressEvt_Args e)
271 EventHandler<Efl.Ui.ScrollbarBarUnpressEvt_Args> evt;
273 evt = (EventHandler<Efl.Ui.ScrollbarBarUnpressEvt_Args>)eventHandlers[BarUnpressEvtKey];
275 evt?.Invoke(this, e);
277 Efl.EventCb evt_BarUnpressEvt_delegate;
278 private void on_BarUnpressEvt_NativeCallback(System.IntPtr data, ref Efl.Event_StructInternal evt)
280 Efl.Ui.ScrollbarBarUnpressEvt_Args args = new Efl.Ui.ScrollbarBarUnpressEvt_Args();
281 args.arg = default(Efl.Ui.ScrollbarDirection);
283 On_BarUnpressEvt(args);
284 } catch (Exception e) {
285 Eina.Log.Error(e.ToString());
286 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
290 private static object BarDragEvtKey = new object();
291 /// <summary>Called when bar is dragged</summary>
292 public event EventHandler<Efl.Ui.ScrollbarBarDragEvt_Args> BarDragEvt
296 string key = "_EFL_UI_SCROLLBAR_EVENT_BAR_DRAG";
297 if (add_cpp_event_handler(efl.Libs.Efl, key, this.evt_BarDragEvt_delegate)) {
298 eventHandlers.AddHandler(BarDragEvtKey , value);
300 Eina.Log.Error($"Error adding proxy for event {key}");
305 string key = "_EFL_UI_SCROLLBAR_EVENT_BAR_DRAG";
306 if (remove_cpp_event_handler(key, this.evt_BarDragEvt_delegate)) {
307 eventHandlers.RemoveHandler(BarDragEvtKey , value);
309 Eina.Log.Error($"Error removing proxy for event {key}");
313 ///<summary>Method to raise event BarDragEvt.</summary>
314 public void On_BarDragEvt(Efl.Ui.ScrollbarBarDragEvt_Args e)
316 EventHandler<Efl.Ui.ScrollbarBarDragEvt_Args> evt;
318 evt = (EventHandler<Efl.Ui.ScrollbarBarDragEvt_Args>)eventHandlers[BarDragEvtKey];
320 evt?.Invoke(this, e);
322 Efl.EventCb evt_BarDragEvt_delegate;
323 private void on_BarDragEvt_NativeCallback(System.IntPtr data, ref Efl.Event_StructInternal evt)
325 Efl.Ui.ScrollbarBarDragEvt_Args args = new Efl.Ui.ScrollbarBarDragEvt_Args();
326 args.arg = default(Efl.Ui.ScrollbarDirection);
329 } catch (Exception e) {
330 Eina.Log.Error(e.ToString());
331 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
335 private static object BarSizeChangedEvtKey = new object();
336 /// <summary>Called when bar size is changed</summary>
337 public event EventHandler BarSizeChangedEvt
341 string key = "_EFL_UI_SCROLLBAR_EVENT_BAR_SIZE_CHANGED";
342 if (add_cpp_event_handler(efl.Libs.Efl, key, this.evt_BarSizeChangedEvt_delegate)) {
343 eventHandlers.AddHandler(BarSizeChangedEvtKey , value);
345 Eina.Log.Error($"Error adding proxy for event {key}");
350 string key = "_EFL_UI_SCROLLBAR_EVENT_BAR_SIZE_CHANGED";
351 if (remove_cpp_event_handler(key, this.evt_BarSizeChangedEvt_delegate)) {
352 eventHandlers.RemoveHandler(BarSizeChangedEvtKey , value);
354 Eina.Log.Error($"Error removing proxy for event {key}");
358 ///<summary>Method to raise event BarSizeChangedEvt.</summary>
359 public void On_BarSizeChangedEvt(EventArgs e)
363 evt = (EventHandler)eventHandlers[BarSizeChangedEvtKey];
365 evt?.Invoke(this, e);
367 Efl.EventCb evt_BarSizeChangedEvt_delegate;
368 private void on_BarSizeChangedEvt_NativeCallback(System.IntPtr data, ref Efl.Event_StructInternal evt)
370 EventArgs args = EventArgs.Empty;
372 On_BarSizeChangedEvt(args);
373 } catch (Exception e) {
374 Eina.Log.Error(e.ToString());
375 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
379 private static object BarPosChangedEvtKey = new object();
380 /// <summary>Called when bar position is changed</summary>
381 public event EventHandler BarPosChangedEvt
385 string key = "_EFL_UI_SCROLLBAR_EVENT_BAR_POS_CHANGED";
386 if (add_cpp_event_handler(efl.Libs.Efl, key, this.evt_BarPosChangedEvt_delegate)) {
387 eventHandlers.AddHandler(BarPosChangedEvtKey , value);
389 Eina.Log.Error($"Error adding proxy for event {key}");
394 string key = "_EFL_UI_SCROLLBAR_EVENT_BAR_POS_CHANGED";
395 if (remove_cpp_event_handler(key, this.evt_BarPosChangedEvt_delegate)) {
396 eventHandlers.RemoveHandler(BarPosChangedEvtKey , value);
398 Eina.Log.Error($"Error removing proxy for event {key}");
402 ///<summary>Method to raise event BarPosChangedEvt.</summary>
403 public void On_BarPosChangedEvt(EventArgs e)
407 evt = (EventHandler)eventHandlers[BarPosChangedEvtKey];
409 evt?.Invoke(this, e);
411 Efl.EventCb evt_BarPosChangedEvt_delegate;
412 private void on_BarPosChangedEvt_NativeCallback(System.IntPtr data, ref Efl.Event_StructInternal evt)
414 EventArgs args = EventArgs.Empty;
416 On_BarPosChangedEvt(args);
417 } catch (Exception e) {
418 Eina.Log.Error(e.ToString());
419 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
423 private static object BarShowEvtKey = new object();
424 /// <summary>Callend when bar is shown</summary>
425 public event EventHandler<Efl.Ui.ScrollbarBarShowEvt_Args> BarShowEvt
429 string key = "_EFL_UI_SCROLLBAR_EVENT_BAR_SHOW";
430 if (add_cpp_event_handler(efl.Libs.Efl, key, this.evt_BarShowEvt_delegate)) {
431 eventHandlers.AddHandler(BarShowEvtKey , value);
433 Eina.Log.Error($"Error adding proxy for event {key}");
438 string key = "_EFL_UI_SCROLLBAR_EVENT_BAR_SHOW";
439 if (remove_cpp_event_handler(key, this.evt_BarShowEvt_delegate)) {
440 eventHandlers.RemoveHandler(BarShowEvtKey , value);
442 Eina.Log.Error($"Error removing proxy for event {key}");
446 ///<summary>Method to raise event BarShowEvt.</summary>
447 public void On_BarShowEvt(Efl.Ui.ScrollbarBarShowEvt_Args e)
449 EventHandler<Efl.Ui.ScrollbarBarShowEvt_Args> evt;
451 evt = (EventHandler<Efl.Ui.ScrollbarBarShowEvt_Args>)eventHandlers[BarShowEvtKey];
453 evt?.Invoke(this, e);
455 Efl.EventCb evt_BarShowEvt_delegate;
456 private void on_BarShowEvt_NativeCallback(System.IntPtr data, ref Efl.Event_StructInternal evt)
458 Efl.Ui.ScrollbarBarShowEvt_Args args = new Efl.Ui.ScrollbarBarShowEvt_Args();
459 args.arg = default(Efl.Ui.ScrollbarDirection);
462 } catch (Exception e) {
463 Eina.Log.Error(e.ToString());
464 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
468 private static object BarHideEvtKey = new object();
469 /// <summary>Called when bar is hidden</summary>
470 public event EventHandler<Efl.Ui.ScrollbarBarHideEvt_Args> BarHideEvt
474 string key = "_EFL_UI_SCROLLBAR_EVENT_BAR_HIDE";
475 if (add_cpp_event_handler(efl.Libs.Efl, key, this.evt_BarHideEvt_delegate)) {
476 eventHandlers.AddHandler(BarHideEvtKey , value);
478 Eina.Log.Error($"Error adding proxy for event {key}");
483 string key = "_EFL_UI_SCROLLBAR_EVENT_BAR_HIDE";
484 if (remove_cpp_event_handler(key, this.evt_BarHideEvt_delegate)) {
485 eventHandlers.RemoveHandler(BarHideEvtKey , value);
487 Eina.Log.Error($"Error removing proxy for event {key}");
491 ///<summary>Method to raise event BarHideEvt.</summary>
492 public void On_BarHideEvt(Efl.Ui.ScrollbarBarHideEvt_Args e)
494 EventHandler<Efl.Ui.ScrollbarBarHideEvt_Args> evt;
496 evt = (EventHandler<Efl.Ui.ScrollbarBarHideEvt_Args>)eventHandlers[BarHideEvtKey];
498 evt?.Invoke(this, e);
500 Efl.EventCb evt_BarHideEvt_delegate;
501 private void on_BarHideEvt_NativeCallback(System.IntPtr data, ref Efl.Event_StructInternal evt)
503 Efl.Ui.ScrollbarBarHideEvt_Args args = new Efl.Ui.ScrollbarBarHideEvt_Args();
504 args.arg = default(Efl.Ui.ScrollbarDirection);
507 } catch (Exception e) {
508 Eina.Log.Error(e.ToString());
509 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
513 void register_event_proxies()
515 evt_BarPressEvt_delegate = new Efl.EventCb(on_BarPressEvt_NativeCallback);
516 evt_BarUnpressEvt_delegate = new Efl.EventCb(on_BarUnpressEvt_NativeCallback);
517 evt_BarDragEvt_delegate = new Efl.EventCb(on_BarDragEvt_NativeCallback);
518 evt_BarSizeChangedEvt_delegate = new Efl.EventCb(on_BarSizeChangedEvt_NativeCallback);
519 evt_BarPosChangedEvt_delegate = new Efl.EventCb(on_BarPosChangedEvt_NativeCallback);
520 evt_BarShowEvt_delegate = new Efl.EventCb(on_BarShowEvt_NativeCallback);
521 evt_BarHideEvt_delegate = new Efl.EventCb(on_BarHideEvt_NativeCallback);
523 /// <summary>Scrollbar visibility policy</summary>
524 /// <param name="hbar">Horizontal scrollbar</param>
525 /// <param name="vbar">Vertical scrollbar</param>
526 /// <returns></returns>
527 public void GetBarMode( out Efl.Ui.ScrollbarMode hbar, out Efl.Ui.ScrollbarMode vbar) {
528 Efl.Ui.ScrollbarNativeInherit.efl_ui_scrollbar_bar_mode_get_ptr.Value.Delegate(this.NativeHandle, out hbar, out vbar);
529 Eina.Error.RaiseIfUnhandledException();
531 /// <summary>Scrollbar visibility policy</summary>
532 /// <param name="hbar">Horizontal scrollbar</param>
533 /// <param name="vbar">Vertical scrollbar</param>
534 /// <returns></returns>
535 public void SetBarMode( Efl.Ui.ScrollbarMode hbar, Efl.Ui.ScrollbarMode vbar) {
536 Efl.Ui.ScrollbarNativeInherit.efl_ui_scrollbar_bar_mode_set_ptr.Value.Delegate(this.NativeHandle, hbar, vbar);
537 Eina.Error.RaiseIfUnhandledException();
539 /// <summary>Scrollbar size. It is calculated based on viewport size-content sizes.</summary>
540 /// <param name="width">Value between 0.0 and 1.0</param>
541 /// <param name="height">Value between 0.0 and 1.0</param>
542 /// <returns></returns>
543 public void GetBarSize( out double width, out double height) {
544 Efl.Ui.ScrollbarNativeInherit.efl_ui_scrollbar_bar_size_get_ptr.Value.Delegate(this.NativeHandle, out width, out height);
545 Eina.Error.RaiseIfUnhandledException();
547 /// <summary>Scrollbar position. It is calculated based on current position-maximum positions.</summary>
548 /// <param name="posx">Value between 0.0 and 1.0</param>
549 /// <param name="posy">Value between 0.0 and 1.0</param>
550 /// <returns></returns>
551 public void GetBarPosition( out double posx, out double posy) {
552 Efl.Ui.ScrollbarNativeInherit.efl_ui_scrollbar_bar_position_get_ptr.Value.Delegate(this.NativeHandle, out posx, out posy);
553 Eina.Error.RaiseIfUnhandledException();
555 /// <summary>Scrollbar position. It is calculated based on current position-maximum positions.</summary>
556 /// <param name="posx">Value between 0.0 and 1.0</param>
557 /// <param name="posy">Value between 0.0 and 1.0</param>
558 /// <returns></returns>
559 public void SetBarPosition( double posx, double posy) {
560 Efl.Ui.ScrollbarNativeInherit.efl_ui_scrollbar_bar_position_set_ptr.Value.Delegate(this.NativeHandle, posx, posy);
561 Eina.Error.RaiseIfUnhandledException();
563 /// <summary>Update bar visibility.
564 /// The object will call this function whenever the bar need to be shown or hidden.</summary>
565 /// <returns></returns>
566 public void UpdateBarVisibility() {
567 Efl.Ui.ScrollbarNativeInherit.efl_ui_scrollbar_bar_visibility_update_ptr.Value.Delegate(this.NativeHandle);
568 Eina.Error.RaiseIfUnhandledException();
571 public class ScrollbarNativeInherit : Efl.Eo.NativeClass{
572 public static Efl.Eo.NativeModule _Module = new Efl.Eo.NativeModule(efl.Libs.Efl);
573 public override System.Collections.Generic.List<Efl_Op_Description> GetEoOps(System.Type type)
575 var descs = new System.Collections.Generic.List<Efl_Op_Description>();
576 if (efl_ui_scrollbar_bar_mode_get_static_delegate == null)
577 efl_ui_scrollbar_bar_mode_get_static_delegate = new efl_ui_scrollbar_bar_mode_get_delegate(bar_mode_get);
578 descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(_Module.Module, "efl_ui_scrollbar_bar_mode_get"), func = Marshal.GetFunctionPointerForDelegate(efl_ui_scrollbar_bar_mode_get_static_delegate)});
579 if (efl_ui_scrollbar_bar_mode_set_static_delegate == null)
580 efl_ui_scrollbar_bar_mode_set_static_delegate = new efl_ui_scrollbar_bar_mode_set_delegate(bar_mode_set);
581 descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(_Module.Module, "efl_ui_scrollbar_bar_mode_set"), func = Marshal.GetFunctionPointerForDelegate(efl_ui_scrollbar_bar_mode_set_static_delegate)});
582 if (efl_ui_scrollbar_bar_size_get_static_delegate == null)
583 efl_ui_scrollbar_bar_size_get_static_delegate = new efl_ui_scrollbar_bar_size_get_delegate(bar_size_get);
584 descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(_Module.Module, "efl_ui_scrollbar_bar_size_get"), func = Marshal.GetFunctionPointerForDelegate(efl_ui_scrollbar_bar_size_get_static_delegate)});
585 if (efl_ui_scrollbar_bar_position_get_static_delegate == null)
586 efl_ui_scrollbar_bar_position_get_static_delegate = new efl_ui_scrollbar_bar_position_get_delegate(bar_position_get);
587 descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(_Module.Module, "efl_ui_scrollbar_bar_position_get"), func = Marshal.GetFunctionPointerForDelegate(efl_ui_scrollbar_bar_position_get_static_delegate)});
588 if (efl_ui_scrollbar_bar_position_set_static_delegate == null)
589 efl_ui_scrollbar_bar_position_set_static_delegate = new efl_ui_scrollbar_bar_position_set_delegate(bar_position_set);
590 descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(_Module.Module, "efl_ui_scrollbar_bar_position_set"), func = Marshal.GetFunctionPointerForDelegate(efl_ui_scrollbar_bar_position_set_static_delegate)});
591 if (efl_ui_scrollbar_bar_visibility_update_static_delegate == null)
592 efl_ui_scrollbar_bar_visibility_update_static_delegate = new efl_ui_scrollbar_bar_visibility_update_delegate(bar_visibility_update);
593 descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(_Module.Module, "efl_ui_scrollbar_bar_visibility_update"), func = Marshal.GetFunctionPointerForDelegate(efl_ui_scrollbar_bar_visibility_update_static_delegate)});
596 public override IntPtr GetEflClass()
598 return Efl.Ui.ScrollbarConcrete.efl_ui_scrollbar_interface_get();
600 public static IntPtr GetEflClassStatic()
602 return Efl.Ui.ScrollbarConcrete.efl_ui_scrollbar_interface_get();
606 private delegate void efl_ui_scrollbar_bar_mode_get_delegate(System.IntPtr obj, System.IntPtr pd, out Efl.Ui.ScrollbarMode hbar, out Efl.Ui.ScrollbarMode vbar);
609 public delegate void efl_ui_scrollbar_bar_mode_get_api_delegate(System.IntPtr obj, out Efl.Ui.ScrollbarMode hbar, out Efl.Ui.ScrollbarMode vbar);
610 public static Efl.Eo.FunctionWrapper<efl_ui_scrollbar_bar_mode_get_api_delegate> efl_ui_scrollbar_bar_mode_get_ptr = new Efl.Eo.FunctionWrapper<efl_ui_scrollbar_bar_mode_get_api_delegate>(_Module, "efl_ui_scrollbar_bar_mode_get");
611 private static void bar_mode_get(System.IntPtr obj, System.IntPtr pd, out Efl.Ui.ScrollbarMode hbar, out Efl.Ui.ScrollbarMode vbar)
613 Eina.Log.Debug("function efl_ui_scrollbar_bar_mode_get was called");
614 Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.data_get(pd);
615 if(wrapper != null) {
616 hbar = default(Efl.Ui.ScrollbarMode); vbar = default(Efl.Ui.ScrollbarMode);
618 ((Scrollbar)wrapper).GetBarMode( out hbar, out vbar);
619 } catch (Exception e) {
620 Eina.Log.Warning($"Callback error: {e.ToString()}");
621 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
624 efl_ui_scrollbar_bar_mode_get_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)), out hbar, out vbar);
627 private static efl_ui_scrollbar_bar_mode_get_delegate efl_ui_scrollbar_bar_mode_get_static_delegate;
630 private delegate void efl_ui_scrollbar_bar_mode_set_delegate(System.IntPtr obj, System.IntPtr pd, Efl.Ui.ScrollbarMode hbar, Efl.Ui.ScrollbarMode vbar);
633 public delegate void efl_ui_scrollbar_bar_mode_set_api_delegate(System.IntPtr obj, Efl.Ui.ScrollbarMode hbar, Efl.Ui.ScrollbarMode vbar);
634 public static Efl.Eo.FunctionWrapper<efl_ui_scrollbar_bar_mode_set_api_delegate> efl_ui_scrollbar_bar_mode_set_ptr = new Efl.Eo.FunctionWrapper<efl_ui_scrollbar_bar_mode_set_api_delegate>(_Module, "efl_ui_scrollbar_bar_mode_set");
635 private static void bar_mode_set(System.IntPtr obj, System.IntPtr pd, Efl.Ui.ScrollbarMode hbar, Efl.Ui.ScrollbarMode vbar)
637 Eina.Log.Debug("function efl_ui_scrollbar_bar_mode_set was called");
638 Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.data_get(pd);
639 if(wrapper != null) {
642 ((Scrollbar)wrapper).SetBarMode( hbar, vbar);
643 } catch (Exception e) {
644 Eina.Log.Warning($"Callback error: {e.ToString()}");
645 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
648 efl_ui_scrollbar_bar_mode_set_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)), hbar, vbar);
651 private static efl_ui_scrollbar_bar_mode_set_delegate efl_ui_scrollbar_bar_mode_set_static_delegate;
654 private delegate void efl_ui_scrollbar_bar_size_get_delegate(System.IntPtr obj, System.IntPtr pd, out double width, out double height);
657 public delegate void efl_ui_scrollbar_bar_size_get_api_delegate(System.IntPtr obj, out double width, out double height);
658 public static Efl.Eo.FunctionWrapper<efl_ui_scrollbar_bar_size_get_api_delegate> efl_ui_scrollbar_bar_size_get_ptr = new Efl.Eo.FunctionWrapper<efl_ui_scrollbar_bar_size_get_api_delegate>(_Module, "efl_ui_scrollbar_bar_size_get");
659 private static void bar_size_get(System.IntPtr obj, System.IntPtr pd, out double width, out double height)
661 Eina.Log.Debug("function efl_ui_scrollbar_bar_size_get was called");
662 Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.data_get(pd);
663 if(wrapper != null) {
664 width = default(double); height = default(double);
666 ((Scrollbar)wrapper).GetBarSize( out width, out height);
667 } catch (Exception e) {
668 Eina.Log.Warning($"Callback error: {e.ToString()}");
669 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
672 efl_ui_scrollbar_bar_size_get_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)), out width, out height);
675 private static efl_ui_scrollbar_bar_size_get_delegate efl_ui_scrollbar_bar_size_get_static_delegate;
678 private delegate void efl_ui_scrollbar_bar_position_get_delegate(System.IntPtr obj, System.IntPtr pd, out double posx, out double posy);
681 public delegate void efl_ui_scrollbar_bar_position_get_api_delegate(System.IntPtr obj, out double posx, out double posy);
682 public static Efl.Eo.FunctionWrapper<efl_ui_scrollbar_bar_position_get_api_delegate> efl_ui_scrollbar_bar_position_get_ptr = new Efl.Eo.FunctionWrapper<efl_ui_scrollbar_bar_position_get_api_delegate>(_Module, "efl_ui_scrollbar_bar_position_get");
683 private static void bar_position_get(System.IntPtr obj, System.IntPtr pd, out double posx, out double posy)
685 Eina.Log.Debug("function efl_ui_scrollbar_bar_position_get was called");
686 Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.data_get(pd);
687 if(wrapper != null) {
688 posx = default(double); posy = default(double);
690 ((Scrollbar)wrapper).GetBarPosition( out posx, out posy);
691 } catch (Exception e) {
692 Eina.Log.Warning($"Callback error: {e.ToString()}");
693 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
696 efl_ui_scrollbar_bar_position_get_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)), out posx, out posy);
699 private static efl_ui_scrollbar_bar_position_get_delegate efl_ui_scrollbar_bar_position_get_static_delegate;
702 private delegate void efl_ui_scrollbar_bar_position_set_delegate(System.IntPtr obj, System.IntPtr pd, double posx, double posy);
705 public delegate void efl_ui_scrollbar_bar_position_set_api_delegate(System.IntPtr obj, double posx, double posy);
706 public static Efl.Eo.FunctionWrapper<efl_ui_scrollbar_bar_position_set_api_delegate> efl_ui_scrollbar_bar_position_set_ptr = new Efl.Eo.FunctionWrapper<efl_ui_scrollbar_bar_position_set_api_delegate>(_Module, "efl_ui_scrollbar_bar_position_set");
707 private static void bar_position_set(System.IntPtr obj, System.IntPtr pd, double posx, double posy)
709 Eina.Log.Debug("function efl_ui_scrollbar_bar_position_set was called");
710 Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.data_get(pd);
711 if(wrapper != null) {
714 ((Scrollbar)wrapper).SetBarPosition( posx, posy);
715 } catch (Exception e) {
716 Eina.Log.Warning($"Callback error: {e.ToString()}");
717 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
720 efl_ui_scrollbar_bar_position_set_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)), posx, posy);
723 private static efl_ui_scrollbar_bar_position_set_delegate efl_ui_scrollbar_bar_position_set_static_delegate;
726 private delegate void efl_ui_scrollbar_bar_visibility_update_delegate(System.IntPtr obj, System.IntPtr pd);
729 public delegate void efl_ui_scrollbar_bar_visibility_update_api_delegate(System.IntPtr obj);
730 public static Efl.Eo.FunctionWrapper<efl_ui_scrollbar_bar_visibility_update_api_delegate> efl_ui_scrollbar_bar_visibility_update_ptr = new Efl.Eo.FunctionWrapper<efl_ui_scrollbar_bar_visibility_update_api_delegate>(_Module, "efl_ui_scrollbar_bar_visibility_update");
731 private static void bar_visibility_update(System.IntPtr obj, System.IntPtr pd)
733 Eina.Log.Debug("function efl_ui_scrollbar_bar_visibility_update was called");
734 Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.data_get(pd);
735 if(wrapper != null) {
738 ((Scrollbar)wrapper).UpdateBarVisibility();
739 } catch (Exception e) {
740 Eina.Log.Warning($"Callback error: {e.ToString()}");
741 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
744 efl_ui_scrollbar_bar_visibility_update_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)));
747 private static efl_ui_scrollbar_bar_visibility_update_delegate efl_ui_scrollbar_bar_visibility_update_static_delegate;
750 namespace Efl { namespace Ui {
751 /// <summary></summary>
752 public enum ScrollbarMode
754 /// <summary>Visible if necessary</summary>
756 /// <summary>Always visible</summary>
758 /// <summary>Always invisible</summary>
760 /// <summary>For internal use only</summary>
764 namespace Efl { namespace Ui {
765 /// <summary></summary>
766 public enum ScrollbarDirection
768 /// <summary></summary>
770 /// <summary></summary>
772 /// <summary></summary>