Example #1
0
        /// <summary>
        /// Parses a
        /// <see cref="System.String"/>
        /// into a list of
        /// <see cref="MediaExpression"/>
        /// values.
        /// </summary>
        /// <param name="mediaExpressionsStr">
        /// the media expressions in the form of a
        /// <see cref="System.String"/>
        /// </param>
        /// <param name="shallStartWithAnd">indicates if the media expression shall start with "and"</param>
        /// <returns>
        /// the resulting list of
        /// <see cref="MediaExpression"/>
        /// values
        /// </returns>
        private static IList <MediaExpression> ParseMediaExpressions(String mediaExpressionsStr, bool shallStartWithAnd
                                                                     )
        {
            mediaExpressionsStr = mediaExpressionsStr.Trim();
            bool startsWithEnd   = mediaExpressionsStr.StartsWith(MediaRuleConstants.AND);
            bool firstExpression = true;

            String[] mediaExpressionStrs        = iText.IO.Util.StringUtil.Split(mediaExpressionsStr, MediaRuleConstants.AND);
            IList <MediaExpression> expressions = new List <MediaExpression>();

            foreach (String mediaExpressionStr in mediaExpressionStrs)
            {
                MediaExpression expression = ParseMediaExpression(mediaExpressionStr);
                if (expression != null)
                {
                    if (firstExpression)
                    {
                        if (shallStartWithAnd && !startsWithEnd)
                        {
                            throw new InvalidOperationException("Expected 'and' while parsing media expression");
                        }
                    }
                    firstExpression = false;
                    expressions.Add(expression);
                }
            }
            return(expressions);
        }
Example #2
0
        public virtual void MediaExpressionTestTest03()
        {
            MediaExpression        orientation       = new MediaExpression("orientation", "landscape");
            MediaExpression        resolution        = new MediaExpression("resolution", "150dpi");
            MediaExpression        grid              = new MediaExpression("grid", "0");
            MediaExpression        colorIndex        = new MediaExpression("max-color-index", "15000");
            MediaExpression        monochrome        = new MediaExpression("monochrome", "0");
            MediaExpression        scan              = new MediaExpression("scan", "interlace");
            MediaExpression        color             = new MediaExpression("color", "15000");
            MediaExpression        minAspectRatio    = new MediaExpression("max-aspect-ratio", "8/5");
            MediaDeviceDescription deviceDescription = new MediaDeviceDescription("all");

            deviceDescription.SetOrientation("landscape");
            deviceDescription.SetResolution(150);
            deviceDescription.SetGrid(false);
            deviceDescription.SetColorIndex(15000);
            deviceDescription.SetMonochrome(0);
            deviceDescription.SetScan("interlace");
            deviceDescription.SetBitsPerComponent(15000);
            deviceDescription.SetWidth(32);
            deviceDescription.SetHeight(20);
            NUnit.Framework.Assert.IsTrue(resolution.Matches(deviceDescription));
            NUnit.Framework.Assert.IsTrue(orientation.Matches(deviceDescription));
            NUnit.Framework.Assert.IsTrue(grid.Matches(deviceDescription));
            NUnit.Framework.Assert.IsTrue(colorIndex.Matches(deviceDescription));
            NUnit.Framework.Assert.IsTrue(monochrome.Matches(deviceDescription));
            NUnit.Framework.Assert.IsTrue(scan.Matches(deviceDescription));
            NUnit.Framework.Assert.IsTrue(color.Matches(deviceDescription));
            NUnit.Framework.Assert.IsTrue(minAspectRatio.Matches(deviceDescription));
        }
Example #3
0
        public virtual void MediaExpressionTestTest06()
        {
            MediaExpression        minColorIndex     = new MediaExpression("min-color-index", null);
            MediaExpression        minColor          = new MediaExpression("min-color", null);
            MediaExpression        colorIndex        = new MediaExpression("color-index", "1500");
            MediaExpression        minMonochrome     = new MediaExpression("min-monochrome", "0");
            MediaExpression        resolution        = new MediaExpression("resolution", "150dpi");
            MediaExpression        defaultExpression = new MediaExpression("none", "none");
            MediaExpression        aspectRatio       = new MediaExpression("aspect-ratio", "8/8");
            MediaDeviceDescription deviceDescription = new MediaDeviceDescription("all");

            deviceDescription.SetColorIndex(15000);
            deviceDescription.SetBitsPerComponent(8);
            deviceDescription.SetMonochrome(0);
            deviceDescription.SetWidth(1.99999999f);
            deviceDescription.SetHeight(2.00000000f);
            deviceDescription.SetColorIndex(15000);
            NUnit.Framework.Assert.IsTrue(aspectRatio.Matches(deviceDescription));
            NUnit.Framework.Assert.IsTrue(minMonochrome.Matches(deviceDescription));
            NUnit.Framework.Assert.IsFalse(minColorIndex.Matches(deviceDescription));
            NUnit.Framework.Assert.IsFalse(minColor.Matches(deviceDescription));
            NUnit.Framework.Assert.IsFalse(resolution.Matches(deviceDescription));
            NUnit.Framework.Assert.IsFalse(defaultExpression.Matches(deviceDescription));
            NUnit.Framework.Assert.IsFalse(colorIndex.Matches(deviceDescription));
        }
Example #4
0
        public virtual void MediaExpressionTestTest02()
        {
            MediaExpression        maxWidth          = new MediaExpression("max-width", "600px");
            MediaExpression        maxHeight         = new MediaExpression("max-height", "600px");
            MediaDeviceDescription deviceDescription = new MediaDeviceDescription("all");

            deviceDescription.SetWidth(450);
            deviceDescription.SetHeight(450);
            NUnit.Framework.Assert.IsTrue(maxHeight.Matches(deviceDescription));
            NUnit.Framework.Assert.IsTrue(maxWidth.Matches(deviceDescription));
        }
Example #5
0
        public virtual void MediaExpressionTestTest04()
        {
            MediaExpression        minColorIndex     = new MediaExpression("min-color-index", "15000");
            MediaExpression        minResolution     = new MediaExpression("min-resolution", "150dpi");
            MediaExpression        minColor          = new MediaExpression("min-color", "8");
            MediaExpression        minAspectRatio    = new MediaExpression("min-aspect-ratio", "8/5");
            MediaDeviceDescription deviceDescription = new MediaDeviceDescription("all");

            deviceDescription.SetColorIndex(15000);
            deviceDescription.SetBitsPerComponent(8);
            deviceDescription.SetResolution(150);
            deviceDescription.SetWidth(32);
            deviceDescription.SetHeight(20);
            NUnit.Framework.Assert.IsTrue(minAspectRatio.Matches(deviceDescription));
            NUnit.Framework.Assert.IsTrue(minColorIndex.Matches(deviceDescription));
            NUnit.Framework.Assert.IsTrue(minColor.Matches(deviceDescription));
            NUnit.Framework.Assert.IsTrue(minResolution.Matches(deviceDescription));
        }
Example #6
0
        public virtual void MediaExpressionTestTest05()
        {
            MediaExpression        maxColorIndex     = new MediaExpression("max-color-index", null);
            MediaExpression        maxColor          = new MediaExpression("max-color", null);
            MediaExpression        maxWidth          = new MediaExpression("width", "600ex");
            MediaExpression        maxHeight         = new MediaExpression("height", "600ex");
            MediaExpression        maxMonochrome     = new MediaExpression("max-monochrome", "0");
            MediaExpression        maxResolution     = new MediaExpression("max-resolution", "150dpi");
            MediaDeviceDescription deviceDescription = new MediaDeviceDescription("all");

            deviceDescription.SetHeight(450);
            deviceDescription.SetWidth(450);
            deviceDescription.SetColorIndex(15000);
            deviceDescription.SetBitsPerComponent(8);
            deviceDescription.SetMonochrome(0);
            deviceDescription.SetResolution(150);
            NUnit.Framework.Assert.IsTrue(maxMonochrome.Matches(deviceDescription));
            NUnit.Framework.Assert.IsTrue(maxHeight.Matches(deviceDescription));
            NUnit.Framework.Assert.IsTrue(maxWidth.Matches(deviceDescription));
            NUnit.Framework.Assert.IsFalse(maxColorIndex.Matches(deviceDescription));
            NUnit.Framework.Assert.IsFalse(maxColor.Matches(deviceDescription));
            NUnit.Framework.Assert.IsTrue(maxResolution.Matches(deviceDescription));
        }