OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
4 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights
reserved. | 4 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights
reserved. |
5 * | 5 * |
6 * This library is free software; you can redistribute it and/or | 6 * This library is free software; you can redistribute it and/or |
7 * modify it under the terms of the GNU Library General Public | 7 * modify it under the terms of the GNU Library General Public |
8 * License as published by the Free Software Foundation; either | 8 * License as published by the Free Software Foundation; either |
9 * version 2 of the License, or (at your option) any later version. | 9 * version 2 of the License, or (at your option) any later version. |
10 * | 10 * |
(...skipping 810 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
821 return false; | 821 return false; |
822 | 822 |
823 HitTestLocation tmpLocation(locationInContainer, -toLayoutSize(accumulatedOf
fset)); | 823 HitTestLocation tmpLocation(locationInContainer, -toLayoutSize(accumulatedOf
fset)); |
824 | 824 |
825 Region regionResult; | 825 Region regionResult; |
826 HitTestCulledInlinesGeneratorContext context(regionResult, tmpLocation); | 826 HitTestCulledInlinesGeneratorContext context(regionResult, tmpLocation); |
827 generateCulledLineBoxRects(context, this); | 827 generateCulledLineBoxRects(context, this); |
828 | 828 |
829 if (context.intersected()) { | 829 if (context.intersected()) { |
830 updateHitTestResult(result, tmpLocation.point()); | 830 updateHitTestResult(result, tmpLocation.point()); |
831 // We can not use addNodeToRectBasedTestResult to determine if we fully
enclose the hit-test area | 831 // We can not use addNodeToListBasedTestResult to determine if we fully
enclose the hit-test area |
832 // because it can only handle rectangular targets. | 832 // because it can only handle rectangular targets. |
833 result.addNodeToRectBasedTestResult(node(), request, locationInContainer
); | 833 result.addNodeToListBasedTestResult(node(), request, locationInContainer
); |
834 return regionResult.contains(tmpLocation.boundingBox()); | 834 return regionResult.contains(tmpLocation.boundingBox()); |
835 } | 835 } |
836 return false; | 836 return false; |
837 } | 837 } |
838 | 838 |
839 PositionWithAffinity RenderInline::positionForPoint(const LayoutPoint& point) | 839 PositionWithAffinity RenderInline::positionForPoint(const LayoutPoint& point) |
840 { | 840 { |
841 // FIXME: Does not deal with relative positioned inlines (should it?) | 841 // FIXME: Does not deal with relative positioned inlines (should it?) |
842 RenderBlock* cb = containingBlock(); | 842 RenderBlock* cb = containingBlock(); |
843 if (firstLineBox()) { | 843 if (firstLineBox()) { |
(...skipping 606 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1450 container = this; | 1450 container = this; |
1451 | 1451 |
1452 FloatPoint absPos = container->localToAbsolute(); | 1452 FloatPoint absPos = container->localToAbsolute(); |
1453 region.bounds.setX(absPos.x() + region.bounds.x()); | 1453 region.bounds.setX(absPos.x() + region.bounds.x()); |
1454 region.bounds.setY(absPos.y() + region.bounds.y()); | 1454 region.bounds.setY(absPos.y() + region.bounds.y()); |
1455 | 1455 |
1456 regions.append(region); | 1456 regions.append(region); |
1457 } | 1457 } |
1458 | 1458 |
1459 } // namespace blink | 1459 } // namespace blink |
OLD | NEW |