private PropertyValue GetTransformMap() { var transformMap = new PropertyMap(); if (!noOffset.Equals(Offset)) { var temp = new Vector2((int)VisualTransformPolicyType.Absolute, (int)VisualTransformPolicyType.Absolute); transformMap[(int)VisualTransformPropertyType.OffsetPolicy] = new PropertyValue(temp); transformMap[(int)VisualTransformPropertyType.Offset] = PropertyValue.CreateWithGuard(Offset); temp.Dispose(); } if (!noExtents.Equals(Extents)) { transformMap[(int)VisualTransformPropertyType.ExtraSize] = PropertyValue.CreateWithGuard(Extents); } transformMap[(int)VisualTransformPropertyType.Origin] = new PropertyValue((int)Visual.AlignType.Center); transformMap[(int)VisualTransformPropertyType.AnchorPoint] = new PropertyValue((int)Visual.AlignType.Center); var ret = new PropertyValue(transformMap); transformMap.Dispose(); return(ret); }
private void DirectorOnRelayout(global::System.IntPtr size, global::System.IntPtr container) { var vector2 = new Vector2(size, false); var relayoutContainer = new RelayoutContainer(container, false); OnRelayout(vector2, relayoutContainer); vector2.Dispose(); relayoutContainer.Dispose(); }
/// <summary> /// Entry point into the C# Layouting that starts the Processing /// </summary> private void Process(int id) { Vector2 windowSize = window.GetSize(); float width = windowSize.Width; float height = windowSize.Height; window.LayersChildren?.ForEach(layer => { layer?.Children?.ForEach(view => { FindRootLayouts(view, width, height); }); }); windowSize.Dispose(); windowSize = null; }
/// <summary> /// Entry point into the C# Layouting that starts the Processing /// </summary> public void Process(object source, EventArgs e) { Vector2 windowSize = window.GetSize(); float width = windowSize.Width; float height = windowSize.Height; window.LayersChildren?.ForEach(layer => { layer?.Children?.ForEach(view => { if (view != null) { FindRootLayouts(view, width, height); } }); }); windowSize.Dispose(); windowSize = null; }
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; }
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(); }
/// <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(); }