예제 #1
0
        public void IntersectsWith()
        {
            PdfRectangle rectangle  = new PdfRectangle(10, 10, 20, 20);
            PdfRectangle rectangle1 = new PdfRectangle(149.95376d, 687.13456d, 451.73539d, 1478.4997d);

            Assert.False(rectangle.IntersectsWith(rectangle1));
            Assert.True(rectangle1.IntersectsWith(rectangle1));

            PdfRectangle rectangle2 = new PdfRectangle(50, 687.13456d, 350, 1478.4997d);

            Assert.True(rectangle1.IntersectsWith(rectangle2));

            PdfRectangle rectangle3 = new PdfRectangle(200, 800, 350, 1200);

            Assert.True(rectangle1.IntersectsWith(rectangle3));

            PdfRectangle rectangle4 = new PdfRectangle(5, 7, 10, 25);

            Assert.False(rectangle1.IntersectsWith(rectangle4)); // special case where they share one border
        }
 public static IEnumerable <Letter> GetLettersInside(PdfRectangle bound, IEnumerable <Letter> letters)
 {
     return(letters.Where(l => bound.IntersectsWith(l.GlyphRectangle)));
 }