コード例 #1
0
        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);
            }
        }
コード例 #2
0
        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)));
        }