示例#1
0
        protected virtual void Dispose(bool disposing)
        {
            if (disposed)
            {
                return;
            }
            if (disposing)
            {
                ClearWindowGesture();

                BorderWindow.InterceptTouchEvent -= OnWinInterceptedTouch;

                borderPanGestureDetector?.Dispose();
                borderPinchGestureDetector?.Dispose();
                backgroundColor?.Dispose();
                minimalizeIcon?.Dispose();
                maximalizeIcon?.Dispose();
                closeIcon?.Dispose();
                leftCornerIcon?.Dispose();
                rightCornerIcon?.Dispose();
                timer?.Dispose();
                windowView?.Dispose();
                borderView?.Dispose();
                rootView?.Dispose();
            }
            disposed = true;
        }
示例#2
0
        protected override void Dispose(DisposeTypes type)
        {
            if (disposed)
            {
                return;
            }

            propertyMap?.Dispose();
            Color?.Dispose();
            Offset?.Dispose();

            base.Dispose();
        }
示例#3
0
 protected virtual void Dispose(bool disposing)
 {
     if (disposed)
     {
         return;
     }
     if (disposing)
     {
         propertyMap?.Dispose();
         Color?.Dispose();
         Offset?.Dispose();
     }
     disposed = true;
 }
示例#4
0
 protected virtual void Dispose(bool disposing)
 {
     if (disposed)
     {
         return;
     }
     if (disposing)
     {
         _commonlyUsedMap?.Dispose();
         _mixColor?.Dispose();
         _outputVisualMap?.Dispose();
         _shader?.Dispose();
         _visualOffset?.Dispose();
         _visualOffsetPolicy?.Dispose();
         _visualSize?.Dispose();
         _visualSizePolicy?.Dispose();
         _visualTransformMap?.Dispose();
     }
     disposed = true;
 }
示例#5
0
        protected override void Dispose(DisposeTypes type)
        {
            if (disposed)
            {
                return;
            }

            _commonlyUsedMap.Dispose();
            _mixColor.Dispose();
            _outputVisualMap.Dispose();
            _shader.Dispose();
            _visualOffset.Dispose();
            _visualOffsetPolicy.Dispose();
            _visualSize.Dispose();
            _visualSizePolicy.Dispose();
            _visualTransformMap.Dispose();
            Parent.Dispose();

            base.Dispose();
        }
示例#6
0
        /// <summary>
        /// Sets a property value on a view.
        /// </summary>
        private void SetPropertyValue(IntPtr refObjectPtr, string propertyName, IntPtr propertyValuePtr)
        {
            // Get the C# control that maps to the C++ control
            NUILog.Debug("SetPropertyValue   refObjectPtr = {0:X}" + refObjectPtr);

            PropertyValue propValue = new PropertyValue(propertyValuePtr, false);

            // Get the C# control that maps to the C++ control
            View view = Registry.GetManagedBaseHandleFromRefObject(refObjectPtr) as View;

            if (view != null)
            {
                System.Reflection.PropertyInfo propertyInfo = view.GetType().GetProperty(propertyName);
                // We know the property name, we know it's type, we just need to convert from a DALi property value to native C# type
                System.Type type = propertyInfo.PropertyType;
                bool        ok   = false;

                if (type.Equals(typeof(Int32)))
                {
                    int value = 0;
                    ok = propValue.Get(out value);
                    if (ok)
                    {
                        propertyInfo.SetValue(view, value);
                    }
                }
                else if (type.Equals(typeof(bool)))
                {
                    bool value = false;
                    ok = propValue.Get(out value);
                    if (ok)
                    {
                        propertyInfo.SetValue(view, value);
                    }
                }
                else if (type.Equals(typeof(float)))
                {
                    float value = 0;
                    ok = propValue.Get(out value);
                    if (ok)
                    {
                        propertyInfo.SetValue(view, value);
                    }
                }
                else if (type.Equals(typeof(string)))
                {
                    string value = "";
                    ok = propValue.Get(out value);
                    if (ok)
                    {
                        propertyInfo.SetValue(view, value);
                    }
                }
                else if (type.Equals(typeof(Vector2)))
                {
                    Vector2 value = new Vector2();
                    ok = propValue.Get(value);
                    if (ok)
                    {
                        propertyInfo.SetValue(view, value);
                    }
                    value.Dispose();
                }
                else if (type.Equals(typeof(Vector3)))
                {
                    Vector3 value = new Vector3();
                    ok = propValue.Get(value);
                    if (ok)
                    {
                        propertyInfo.SetValue(view, value);
                    }
                    value.Dispose();
                }
                else if (type.Equals(typeof(Vector4)))
                {
                    Vector4 value = new Vector4();
                    ok = propValue.Get(value);

                    if (ok)
                    {
                        propertyInfo.SetValue(view, value);
                    }
                    value.Dispose();
                }
                else if (type.Equals(typeof(Position)))
                {
                    Position value = new Position();
                    ok = propValue.Get(value);
                    if (ok)
                    {
                        propertyInfo.SetValue(view, value);
                    }
                    value.Dispose();
                }
                else if (type.Equals(typeof(Size)))
                {
                    Size value = new Size();
                    ok = propValue.Get(value);
                    if (ok)
                    {
                        Size sz = new Size(value.Width, value.Height, value.Depth);
                        propertyInfo.SetValue(view, sz);
                        sz.Dispose();
                    }
                    ;
                    value.Dispose();
                }
                else if (type.Equals(typeof(Color)))
                {
                    // Colors are stored as Vector4's in DALi
                    Color value = new Color();
                    ok = propValue.Get(value);
                    if (ok)
                    {
                        propertyInfo.SetValue(view, (Color)value);
                    }
                    ;
                    value.Dispose();
                }
                else if (type.Equals(typeof(PropertyMap)))
                {
                    PropertyMap map = new PropertyMap();
                    ok = propValue.Get(map);
                    if (ok)
                    {
                        propertyInfo.SetValue(view, map);
                    }
                    map.Dispose();
                }
                else if (type.Equals(typeof(PropertyArray)))
                {
                    PropertyArray array = new PropertyArray();
                    ok = propValue.Get(array);
                    if (ok)
                    {
                        propertyInfo.SetValue(view, array);
                    }
                    array.Dispose();
                }
                else
                {
                    throw new global::System.InvalidOperationException("SetPropertyValue Unimplemented type for Property Value for " + type.FullName);
                }
                if (!ok)
                {
                    throw new global::System.InvalidOperationException("SetPropertyValue propValue.Get failed");
                }
            }
            else
            {
                throw new global::System.InvalidOperationException("failed to find the control to write a property to: cptr = " + refObjectPtr);
            }
            propValue.Dispose();
        }