internal IntPtr ToNative(PinCollection pinCollection, ref NativeTypes.FABRIC_SCALING_POLICY scalingPolicy) { if (ScalingMechanism != null && ScalingTrigger != null) { ScalingMechanism.ToNative(pinCollection, ref scalingPolicy.ScalingPolicyMechanism); ScalingTrigger.ToNative(pinCollection, ref scalingPolicy.ScalingPolicyTrigger); return(pinCollection.AddBlittable(scalingPolicy)); } else { return(IntPtr.Zero); } }
internal Tuple <uint, IntPtr> ToNativeScalingPolicies(PinCollection pin) { if (this.ScalingPolicies == null || this.ScalingPolicies.Count == 0) { return(Tuple.Create((uint)0, IntPtr.Zero)); } var scalingArray = new NativeTypes.FABRIC_SCALING_POLICY[this.ScalingPolicies.Count]; for (int i = 0; i < this.ScalingPolicies.Count; i++) { this.ScalingPolicies[i].ToNative(pin, ref scalingArray[i]); } return(Tuple.Create((uint)this.ScalingPolicies.Count, pin.AddBlittable(scalingArray))); }