OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2006 Apple Computer, Inc. | 2 * Copyright (C) 2006 Apple Computer, Inc. |
3 * Copyright (C) 2006 Alexander Kellett <lypanov@kde.org> | 3 * Copyright (C) 2006 Alexander Kellett <lypanov@kde.org> |
4 * Copyright (C) 2006 Oliver Hunt <ojh16@student.canterbury.ac.nz> | 4 * Copyright (C) 2006 Oliver Hunt <ojh16@student.canterbury.ac.nz> |
5 * Copyright (C) 2007 Nikolas Zimmermann <zimmermann@kde.org> | 5 * Copyright (C) 2007 Nikolas Zimmermann <zimmermann@kde.org> |
6 * Copyright (C) 2008 Rob Buis <buis@kde.org> | 6 * Copyright (C) 2008 Rob Buis <buis@kde.org> |
7 * Copyright (C) 2009 Dirk Schulze <krit@webkit.org> | 7 * Copyright (C) 2009 Dirk Schulze <krit@webkit.org> |
8 * Copyright (C) Research In Motion Limited 2010-2012. All rights reserved. | 8 * Copyright (C) Research In Motion Limited 2010-2012. All rights reserved. |
9 * Copyright (C) 2012 Google Inc. | 9 * Copyright (C) 2012 Google Inc. |
10 * | 10 * |
(...skipping 396 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
407 clearNeedsLayout(); | 407 clearNeedsLayout(); |
408 } | 408 } |
409 | 409 |
410 RootInlineBox* LayoutSVGText::createRootInlineBox() | 410 RootInlineBox* LayoutSVGText::createRootInlineBox() |
411 { | 411 { |
412 RootInlineBox* box = new SVGRootInlineBox(*this); | 412 RootInlineBox* box = new SVGRootInlineBox(*this); |
413 box->setHasVirtualLogicalHeight(); | 413 box->setHasVirtualLogicalHeight(); |
414 return box; | 414 return box; |
415 } | 415 } |
416 | 416 |
417 bool LayoutSVGText::nodeAtFloatPoint(const HitTestRequest& request, HitTestResul
t& result, const FloatPoint& pointInParent, HitTestAction hitTestAction) | 417 bool LayoutSVGText::nodeAtFloatPoint(HitTestResult& result, const FloatPoint& po
intInParent, HitTestAction hitTestAction) |
418 { | 418 { |
419 PointerEventsHitRules hitRules(PointerEventsHitRules::SVG_TEXT_HITTESTING, r
equest, style()->pointerEvents()); | 419 PointerEventsHitRules hitRules(PointerEventsHitRules::SVG_TEXT_HITTESTING, r
esult.hitTestRequest(), style()->pointerEvents()); |
420 bool isVisible = (style()->visibility() == VISIBLE); | 420 bool isVisible = (style()->visibility() == VISIBLE); |
421 if (isVisible || !hitRules.requireVisible) { | 421 if (isVisible || !hitRules.requireVisible) { |
422 if ((hitRules.canHitBoundingBox && !objectBoundingBox().isEmpty()) | 422 if ((hitRules.canHitBoundingBox && !objectBoundingBox().isEmpty()) |
423 || (hitRules.canHitStroke && (style()->svgStyle().hasStroke() || !hi
tRules.requireStroke)) | 423 || (hitRules.canHitStroke && (style()->svgStyle().hasStroke() || !hi
tRules.requireStroke)) |
424 || (hitRules.canHitFill && (style()->svgStyle().hasFill() || !hitRul
es.requireFill))) { | 424 || (hitRules.canHitFill && (style()->svgStyle().hasFill() || !hitRul
es.requireFill))) { |
425 FloatPoint localPoint; | 425 FloatPoint localPoint; |
426 if (!SVGLayoutSupport::transformToUserSpaceAndCheckClipping(this, lo
calToParentTransform(), pointInParent, localPoint)) | 426 if (!SVGLayoutSupport::transformToUserSpaceAndCheckClipping(this, lo
calToParentTransform(), pointInParent, localPoint)) |
427 return false; | 427 return false; |
428 | 428 |
429 if (hitRules.canHitBoundingBox && !objectBoundingBox().contains(loca
lPoint)) | 429 if (hitRules.canHitBoundingBox && !objectBoundingBox().contains(loca
lPoint)) |
430 return false; | 430 return false; |
431 | 431 |
432 HitTestLocation hitTestLocation(LayoutPoint(flooredIntPoint(localPoi
nt))); | 432 HitTestLocation hitTestLocation(LayoutPoint(flooredIntPoint(localPoi
nt))); |
433 return LayoutBlock::nodeAtPoint(request, result, hitTestLocation, La
youtPoint(), hitTestAction); | 433 return LayoutBlock::nodeAtPoint(result, hitTestLocation, LayoutPoint
(), hitTestAction); |
434 } | 434 } |
435 } | 435 } |
436 | 436 |
437 return false; | 437 return false; |
438 } | 438 } |
439 | 439 |
440 PositionWithAffinity LayoutSVGText::positionForPoint(const LayoutPoint& pointInC
ontents) | 440 PositionWithAffinity LayoutSVGText::positionForPoint(const LayoutPoint& pointInC
ontents) |
441 { | 441 { |
442 RootInlineBox* rootBox = firstRootBox(); | 442 RootInlineBox* rootBox = firstRootBox(); |
443 if (!rootBox) | 443 if (!rootBox) |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
501 SVGResourcesCache::clientWillBeRemovedFromTree(child); | 501 SVGResourcesCache::clientWillBeRemovedFromTree(child); |
502 | 502 |
503 Vector<SVGTextLayoutAttributes*, 2> affectedAttributes; | 503 Vector<SVGTextLayoutAttributes*, 2> affectedAttributes; |
504 FontCachePurgePreventer fontCachePurgePreventer; | 504 FontCachePurgePreventer fontCachePurgePreventer; |
505 subtreeChildWillBeRemoved(child, affectedAttributes); | 505 subtreeChildWillBeRemoved(child, affectedAttributes); |
506 LayoutSVGBlock::removeChild(child); | 506 LayoutSVGBlock::removeChild(child); |
507 subtreeChildWasRemoved(affectedAttributes); | 507 subtreeChildWasRemoved(affectedAttributes); |
508 } | 508 } |
509 | 509 |
510 } | 510 } |
OLD | NEW |