| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org) |
| 3 * (C) 2000 Antti Koivisto (koivisto@kde.org) | 3 * (C) 2000 Antti Koivisto (koivisto@kde.org) |
| 4 * (C) 2000 Dirk Mueller (mueller@kde.org) | 4 * (C) 2000 Dirk Mueller (mueller@kde.org) |
| 5 * (C) 2004 Allan Sandfeld Jensen (kde@carewolf.com) | 5 * (C) 2004 Allan Sandfeld Jensen (kde@carewolf.com) |
| 6 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2012 Apple Inc. All r
ights reserved. | 6 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2012 Apple Inc. All r
ights reserved. |
| 7 * Copyright (C) 2009 Google Inc. All rights reserved. | 7 * Copyright (C) 2009 Google Inc. All rights reserved. |
| 8 * | 8 * |
| 9 * This library is free software; you can redistribute it and/or | 9 * This library is free software; you can redistribute it and/or |
| 10 * modify it under the terms of the GNU Library General Public | 10 * modify it under the terms of the GNU Library General Public |
| (...skipping 409 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 420 NotInsideFlowThread = 0, | 420 NotInsideFlowThread = 0, |
| 421 InsideOutOfFlowThread = 1, | 421 InsideOutOfFlowThread = 1, |
| 422 InsideInFlowThread = 2, | 422 InsideInFlowThread = 2, |
| 423 }; | 423 }; |
| 424 | 424 |
| 425 void setFlowThreadStateIncludingDescendants(FlowThreadState); | 425 void setFlowThreadStateIncludingDescendants(FlowThreadState); |
| 426 | 426 |
| 427 FlowThreadState flowThreadState() const { return m_bitfields.flowThreadState
(); } | 427 FlowThreadState flowThreadState() const { return m_bitfields.flowThreadState
(); } |
| 428 void setFlowThreadState(FlowThreadState state) { m_bitfields.setFlowThreadSt
ate(state); } | 428 void setFlowThreadState(FlowThreadState state) { m_bitfields.setFlowThreadSt
ate(state); } |
| 429 | 429 |
| 430 // FIXME: Until all SVG renders can be subclasses of RenderSVGModelObject we
have | 430 // FIXME: Until all SVG renderers are subclasses of RenderSVGModelObject, we
have to |
| 431 // to add SVG renderer methods to RenderObject with an ASSERT_NOT_REACHED()
default implementation. | 431 // maintain this parallel type system in RenderObject. |
| 432 virtual bool isSVGRoot() const { return false; } | 432 // Note: All updates to the SVG renderer hierarchy must update the enum belo
w. |
| 433 virtual bool isSVGContainer() const { return false; } | 433 enum SVGType { |
| 434 virtual bool isSVGTransformableContainer() const { return false; } | 434 IsNotSVG = 0, |
| 435 virtual bool isSVGViewportContainer() const { return false; } | 435 IsSVGRoot = 1, |
| 436 virtual bool isSVGGradientStop() const { return false; } | 436 IsSVGContainer = 1 << 1, |
| 437 virtual bool isSVGHiddenContainer() const { return false; } | 437 IsSVGTransformableContainer = 1 << 2 | IsSVGContainer, |
| 438 virtual bool isSVGPath() const { return false; } | 438 IsSVGViewportContainer = 1 << 3 | IsSVGContainer, |
| 439 virtual bool isSVGShape() const { return false; } | 439 IsSVGGradientStop = 1 << 4, |
| 440 virtual bool isSVGText() const { return false; } | 440 IsSVGHiddenContainer = 1 << 5 | IsSVGContainer, |
| 441 virtual bool isSVGTextPath() const { return false; } | 441 IsSVGShape = 1 << 6, |
| 442 virtual bool isSVGInline() const { return false; } | 442 IsSVGPath = 1 << 7 | IsSVGShape, |
| 443 virtual bool isSVGInlineText() const { return false; } | 443 IsSVGText = 1 << 8, |
| 444 virtual bool isSVGImage() const { return false; } | 444 IsSVGInline = 1 << 9, |
| 445 virtual bool isSVGForeignObject() const { return false; } | 445 IsSVGTextPath = 1 << 10 | IsSVGInline, |
| 446 virtual bool isSVGResourceContainer() const { return false; } | 446 IsSVGInlineText = 1 << 11, |
| 447 virtual bool isSVGResourceFilter() const { return false; } | 447 IsSVGImage = 1 << 12, |
| 448 virtual bool isSVGResourceFilterPrimitive() const { return false; } | 448 IsSVGForeignObject = 1 << 13, |
| 449 IsSVGResourceContainer = 1 << 14 | IsSVGHiddenContainer, |
| 450 IsSVGResourceFilter = 1 << 15 | IsSVGResourceContainer, |
| 451 IsSVGResourceFilterPrimitive = 1 << 16 | IsSVGHiddenContainer |
| 452 }; |
| 453 bool hasSVGType(SVGType mask) const { return mask == (mask & getSVGType());
} |
| 454 bool isSVG() const { return getSVGType(); } |
| 455 bool isSVGRoot() const { return hasSVGType(IsSVGRoot); } |
| 456 bool isSVGContainer() const { return hasSVGType(IsSVGContainer); } |
| 457 bool isSVGTransformableContainer() const { return hasSVGType(IsSVGTransforma
bleContainer); } |
| 458 bool isSVGViewportContainer() const { return hasSVGType(IsSVGViewportContain
er); } |
| 459 bool isSVGGradientStop() const { return hasSVGType(IsSVGGradientStop); } |
| 460 bool isSVGHiddenContainer() const { return hasSVGType(IsSVGHiddenContainer);
} |
| 461 bool isSVGPath() const { return hasSVGType(IsSVGPath); } |
| 462 bool isSVGShape() const { return hasSVGType(IsSVGShape); } |
| 463 bool isSVGText() const { return hasSVGType(IsSVGText); } |
| 464 bool isSVGTextPath() const { return hasSVGType(IsSVGTextPath); } |
| 465 bool isSVGInline() const { return hasSVGType(IsSVGInline); } |
| 466 bool isSVGInlineText() const { return hasSVGType(IsSVGInlineText); } |
| 467 bool isSVGImage() const { return hasSVGType(IsSVGImage); } |
| 468 bool isSVGForeignObject() const { return hasSVGType(IsSVGForeignObject); } |
| 469 bool isSVGResourceContainer() const { return hasSVGType(IsSVGResourceContain
er); } |
| 470 bool isSVGResourceFilter() const { return hasSVGType(IsSVGResourceFilter); } |
| 471 bool isSVGResourceFilterPrimitive() const { return hasSVGType(IsSVGResourceF
ilterPrimitive); } |
| 449 | 472 |
| 450 // FIXME: Those belong into a SVG specific base-class for all renderers (see
above) | 473 // FIXME: Those belong into a SVG specific base-class for all renderers (see
above) |
| 451 // Unfortunately we don't have such a class yet, because it's not possible f
or all renderers | 474 // Unfortunately we don't have such a class yet, because it's not possible f
or all renderers |
| 452 // to inherit from RenderSVGObject -> RenderObject (some need RenderBlock in
heritance for instance) | 475 // to inherit from RenderSVGObject -> RenderObject (some need RenderBlock in
heritance for instance) |
| 453 virtual void setNeedsTransformUpdate() { } | 476 virtual void setNeedsTransformUpdate() { } |
| 454 virtual void setNeedsBoundariesUpdate(); | 477 virtual void setNeedsBoundariesUpdate(); |
| 455 virtual bool needsBoundariesUpdate() { return false; } | 478 virtual bool needsBoundariesUpdate() { return false; } |
| 456 | 479 |
| 457 // Per SVG 1.1 objectBoundingBox ignores clipping, masking, filter effects,
opacity and stroke-width. | 480 // Per SVG 1.1 objectBoundingBox ignores clipping, masking, filter effects,
opacity and stroke-width. |
| 458 // This is used for all computation of objectBoundingBox relative units and
by SVGLocatable::getBBox(). | 481 // This is used for all computation of objectBoundingBox relative units and
by SVGLocatable::getBBox(). |
| (...skipping 590 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1049 // container, so callers should provide only the offset of the container wit
hin it's layer. | 1072 // container, so callers should provide only the offset of the container wit
hin it's layer. |
| 1050 // containerRect is a rect that has already been added for the currentLayer
which is likely to | 1073 // containerRect is a rect that has already been added for the currentLayer
which is likely to |
| 1051 // be a container for child elements. Any rect wholly contained by container
Rect can be | 1074 // be a container for child elements. Any rect wholly contained by container
Rect can be |
| 1052 // skipped. | 1075 // skipped. |
| 1053 virtual void addLayerHitTestRects(LayerHitTestRects&, const RenderLayer* cur
rentLayer, const LayoutPoint& layerOffset, const LayoutRect& containerRect) cons
t; | 1076 virtual void addLayerHitTestRects(LayerHitTestRects&, const RenderLayer* cur
rentLayer, const LayoutPoint& layerOffset, const LayoutRect& containerRect) cons
t; |
| 1054 | 1077 |
| 1055 // Add hit-test rects for this renderer only to the provided list. layerOffs
et is the offset | 1078 // Add hit-test rects for this renderer only to the provided list. layerOffs
et is the offset |
| 1056 // of this renderer within the current layer that should be used for each re
sult. | 1079 // of this renderer within the current layer that should be used for each re
sult. |
| 1057 virtual void computeSelfHitTestRects(Vector<LayoutRect>&, const LayoutPoint&
layerOffset) const { }; | 1080 virtual void computeSelfHitTestRects(Vector<LayoutRect>&, const LayoutPoint&
layerOffset) const { }; |
| 1058 | 1081 |
| 1082 virtual SVGType getSVGType() const { return IsNotSVG; } |
| 1083 |
| 1059 private: | 1084 private: |
| 1060 RenderBlock* containerForFixedPosition(const RenderLayerModelObject* repaint
Container = 0, bool* repaintContainerSkipped = 0) const; | 1085 RenderBlock* containerForFixedPosition(const RenderLayerModelObject* repaint
Container = 0, bool* repaintContainerSkipped = 0) const; |
| 1061 | 1086 |
| 1062 RenderFlowThread* locateFlowThreadContainingBlock() const; | 1087 RenderFlowThread* locateFlowThreadContainingBlock() const; |
| 1063 void removeFromRenderFlowThread(); | 1088 void removeFromRenderFlowThread(); |
| 1064 void removeFromRenderFlowThreadRecursive(RenderFlowThread*); | 1089 void removeFromRenderFlowThreadRecursive(RenderFlowThread*); |
| 1065 | 1090 |
| 1066 bool shouldRepaintForStyleDifference(StyleDifference) const; | 1091 bool shouldRepaintForStyleDifference(StyleDifference) const; |
| 1067 bool hasImmediateNonWhitespaceTextChildOrPropertiesDependentOnColor() const; | 1092 bool hasImmediateNonWhitespaceTextChildOrPropertiesDependentOnColor() const; |
| 1068 | 1093 |
| (...skipping 353 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1422 void showTree(const WebCore::RenderObject*); | 1447 void showTree(const WebCore::RenderObject*); |
| 1423 void showLineTree(const WebCore::RenderObject*); | 1448 void showLineTree(const WebCore::RenderObject*); |
| 1424 void showRenderTree(const WebCore::RenderObject* object1); | 1449 void showRenderTree(const WebCore::RenderObject* object1); |
| 1425 // We don't make object2 an optional parameter so that showRenderTree | 1450 // We don't make object2 an optional parameter so that showRenderTree |
| 1426 // can be called from gdb easily. | 1451 // can be called from gdb easily. |
| 1427 void showRenderTree(const WebCore::RenderObject* object1, const WebCore::RenderO
bject* object2); | 1452 void showRenderTree(const WebCore::RenderObject* object1, const WebCore::RenderO
bject* object2); |
| 1428 | 1453 |
| 1429 #endif | 1454 #endif |
| 1430 | 1455 |
| 1431 #endif // RenderObject_h | 1456 #endif // RenderObject_h |
| OLD | NEW |