Ejemplo n.º 1
0
        public Boolean Validate(IMediaFeature feature, IRenderDevice renderDevice)
        {
            var defaultValue = new Length(1.0, Length.Unit.None);
            var converter    = feature.IsMinimum || feature.IsMaximum ? NaturalIntegerConverter : NaturalIntegerConverter.Option(defaultValue);
            var index        = converter.Convert(feature.Value);

            if (index != null)
            {
                var desired   = index.AsInt32();
                var available = renderDevice.MonochromeBits;

                if (feature.IsMaximum)
                {
                    return(available <= desired);
                }
                else if (feature.IsMinimum)
                {
                    return(available >= desired);
                }

                return(desired == available);
            }

            return(false);
        }
Ejemplo n.º 2
0
        public Boolean Validate(IMediaFeature feature, IRenderDevice device)
        {
            var converter = feature.IsMinimum || feature.IsMaximum ? NaturalIntegerConverter : NaturalIntegerConverter.Option(1);
            var index     = converter.Convert(feature.Value);

            if (index != null)
            {
                var desired   = index.AsInteger();
                var available = device.ColorBits;

                if (feature.IsMaximum)
                {
                    return(available <= desired);
                }
                else if (feature.IsMinimum)
                {
                    return(available >= desired);
                }

                return(desired == available);
            }

            return(false);
        }