//------------------------------------------------------------------------------ // // // This file was automatically generated by SWIG (http://www.swig.org). // Version 3.0.9 // // Do not make changes to this file unless you know what you are doing--modify // the SWIG interface file instead. //------------------------------------------------------------------------------ namespace Dali { using System; using System.Runtime.InteropServices; public class StyleManager : BaseHandle { private global::System.Runtime.InteropServices.HandleRef swigCPtr; internal StyleManager(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.StyleManager_SWIGUpcast(cPtr), cMemoryOwn) { swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr); } internal static global::System.Runtime.InteropServices.HandleRef getCPtr(StyleManager obj) { return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr; } ~StyleManager() { Dispose(); } public override void Dispose() { lock(this) { if (swigCPtr.Handle != global::System.IntPtr.Zero) { if (swigCMemOwn) { swigCMemOwn = false; NDalicPINVOKE.delete_StyleManager(swigCPtr); } swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero); } global::System.GC.SuppressFinalize(this); base.Dispose(); } } /** * @brief Event arguments that passed via StyleChanged signal * */ public class StyleChangedEventArgs : EventArgs { private StyleManager _styleManager; private Dali.StyleChangeType _styleChange; /** * @brief StyleManager - is the StyleManager that informs applications of system theme change, * and supports application theme change at runtime. * */ public StyleManager StyleManager { get { return _styleManager; } set { _styleManager = value; } } /** * @brief StyleChange - contains Style change information (default font changed or * default font size changed or theme has changed) * */ public Dali.StyleChangeType StyleChange { get { return _styleChange; } set { _styleChange = value; } } } [UnmanagedFunctionPointer(CallingConvention.StdCall)] private delegate void StyleChangedCallbackDelegate(IntPtr styleManager, Dali.StyleChangeType styleChange); private DaliEventHandler _styleManagerStyleChangedEventHandler; private StyleChangedCallbackDelegate _styleManagerStyleChangedCallbackDelegate; /** * @brief Event for StyleChanged signal which can be used to subscribe/unsubscribe the * event handler (in the type of StyleChangedEventHandler-DaliEventHandler) * provided by the user. StyleChanged signal is is emitted after the style (e.g. theme/font change) has changed * and the controls have been informed. */ public event DaliEventHandler StyleChanged { add { lock(this) { // Restricted to only one listener if (_styleManagerStyleChangedEventHandler == null) { _styleManagerStyleChangedEventHandler += value; _styleManagerStyleChangedCallbackDelegate = new StyleChangedCallbackDelegate(OnStyleChanged); this.StyleChangedSignal().Connect(_styleManagerStyleChangedCallbackDelegate); } } } remove { lock(this) { if (_styleManagerStyleChangedEventHandler != null) { this.StyleChangedSignal().Disconnect(_styleManagerStyleChangedCallbackDelegate); } _styleManagerStyleChangedEventHandler -= value; } } } // Callback for StyleManager StyleChangedsignal private void OnStyleChanged(IntPtr styleManager, Dali.StyleChangeType styleChange) { StyleChangedEventArgs e = new StyleChangedEventArgs(); // Populate all members of "e" (StyleChangedEventArgs) with real data e.StyleManager = StyleManager.GetStyleManagerFromPtr( styleManager ); e.StyleChange = styleChange; if (_styleManagerStyleChangedEventHandler != null) { //here we send all data to user event handlers _styleManagerStyleChangedEventHandler(this, e); } } public static StyleManager GetStyleManagerFromPtr(global::System.IntPtr cPtr) { StyleManager ret = new StyleManager(cPtr, false); if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); return ret; } public StyleManager() : this(NDalicPINVOKE.new_StyleManager(), true) { if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); } public static StyleManager Get() { StyleManager ret = new StyleManager(NDalicPINVOKE.StyleManager_Get(), true); if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); return ret; } public void ApplyTheme(string themeFile) { NDalicPINVOKE.StyleManager_ApplyTheme(swigCPtr, themeFile); if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); } public void ApplyDefaultTheme() { NDalicPINVOKE.StyleManager_ApplyDefaultTheme(swigCPtr); if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); } public void SetStyleConstant(string key, Property.Value value) { NDalicPINVOKE.StyleManager_SetStyleConstant(swigCPtr, key, Property.Value.getCPtr(value)); if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); } public bool GetStyleConstant(string key, Property.Value valueOut) { bool ret = NDalicPINVOKE.StyleManager_GetStyleConstant(swigCPtr, key, Property.Value.getCPtr(valueOut)); if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); return ret; } public void ApplyStyle(View control, string jsonFileName, string styleName) { NDalicPINVOKE.StyleManager_ApplyStyle(swigCPtr, View.getCPtr(control), jsonFileName, styleName); if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); } public StyleChangedSignal StyleChangedSignal() { StyleChangedSignal ret = new StyleChangedSignal(NDalicPINVOKE.StyleManager_StyleChangedSignal(swigCPtr), false); if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); return ret; } } }