OLD | NEW |
1 /* | 1 /* |
2 Copyright (C) 2007 Rob Buis <buis@kde.org> | 2 Copyright (C) 2007 Rob Buis <buis@kde.org> |
3 | 3 |
4 This library is free software; you can redistribute it and/or | 4 This library is free software; you can redistribute it and/or |
5 modify it under the terms of the GNU Library General Public | 5 modify it under the terms of the GNU Library General Public |
6 License as published by the Free Software Foundation; either | 6 License as published by the Free Software Foundation; either |
7 version 2 of the License, or (at your option) any later version. | 7 version 2 of the License, or (at your option) any later version. |
8 | 8 |
9 This library is distributed in the hope that it will be useful, | 9 This library is distributed in the hope that it will be useful, |
10 but WITHOUT ANY WARRANTY; without even the implied warranty of | 10 but WITHOUT ANY WARRANTY; without even the implied warranty of |
(...skipping 10 matching lines...) Expand all Loading... |
21 #include "core/rendering/PointerEventsHitRules.h" | 21 #include "core/rendering/PointerEventsHitRules.h" |
22 | 22 |
23 namespace WebCore { | 23 namespace WebCore { |
24 | 24 |
25 PointerEventsHitRules::PointerEventsHitRules(EHitTesting hitTesting, const HitTe
stRequest& request, EPointerEvents pointerEvents) | 25 PointerEventsHitRules::PointerEventsHitRules(EHitTesting hitTesting, const HitTe
stRequest& request, EPointerEvents pointerEvents) |
26 : requireVisible(false) | 26 : requireVisible(false) |
27 , requireFill(false) | 27 , requireFill(false) |
28 , requireStroke(false) | 28 , requireStroke(false) |
29 , canHitStroke(false) | 29 , canHitStroke(false) |
30 , canHitFill(false) | 30 , canHitFill(false) |
| 31 , canHitBoundingBox(false) |
31 { | 32 { |
32 if (request.svgClipContent()) | 33 if (request.svgClipContent()) |
33 pointerEvents = PE_FILL; | 34 pointerEvents = PE_FILL; |
34 | 35 |
35 if (hitTesting == SVG_GEOMETRY_HITTESTING) { | 36 if (hitTesting == SVG_GEOMETRY_HITTESTING) { |
36 switch (pointerEvents) | 37 switch (pointerEvents) |
37 { | 38 { |
| 39 case PE_BOUNDINGBOX: |
| 40 canHitBoundingBox = true; |
| 41 break; |
38 case PE_VISIBLE_PAINTED: | 42 case PE_VISIBLE_PAINTED: |
39 case PE_AUTO: // "auto" is like "visiblePainted" when in SVG content | 43 case PE_AUTO: // "auto" is like "visiblePainted" when in SVG content |
40 requireFill = true; | 44 requireFill = true; |
41 requireStroke = true; | 45 requireStroke = true; |
42 case PE_VISIBLE: | 46 case PE_VISIBLE: |
43 requireVisible = true; | 47 requireVisible = true; |
44 canHitFill = true; | 48 canHitFill = true; |
45 canHitStroke = true; | 49 canHitStroke = true; |
46 break; | 50 break; |
47 case PE_VISIBLE_FILL: | 51 case PE_VISIBLE_FILL: |
(...skipping 17 matching lines...) Expand all Loading... |
65 case PE_STROKE: | 69 case PE_STROKE: |
66 canHitStroke = true; | 70 canHitStroke = true; |
67 break; | 71 break; |
68 case PE_NONE: | 72 case PE_NONE: |
69 // nothing to do here, defaults are all false. | 73 // nothing to do here, defaults are all false. |
70 break; | 74 break; |
71 } | 75 } |
72 } else { | 76 } else { |
73 switch (pointerEvents) | 77 switch (pointerEvents) |
74 { | 78 { |
| 79 case PE_BOUNDINGBOX: |
| 80 canHitBoundingBox = true; |
| 81 break; |
75 case PE_VISIBLE_PAINTED: | 82 case PE_VISIBLE_PAINTED: |
76 case PE_AUTO: // "auto" is like "visiblePainted" when in SVG content | 83 case PE_AUTO: // "auto" is like "visiblePainted" when in SVG content |
77 requireVisible = true; | 84 requireVisible = true; |
78 requireFill = true; | 85 requireFill = true; |
79 requireStroke = true; | 86 requireStroke = true; |
80 canHitFill = true; | 87 canHitFill = true; |
81 canHitStroke = true; | 88 canHitStroke = true; |
82 break; | 89 break; |
83 case PE_VISIBLE_FILL: | 90 case PE_VISIBLE_FILL: |
84 case PE_VISIBLE_STROKE: | 91 case PE_VISIBLE_STROKE: |
(...skipping 17 matching lines...) Expand all Loading... |
102 case PE_NONE: | 109 case PE_NONE: |
103 // nothing to do here, defaults are all false. | 110 // nothing to do here, defaults are all false. |
104 break; | 111 break; |
105 } | 112 } |
106 } | 113 } |
107 } | 114 } |
108 | 115 |
109 } | 116 } |
110 | 117 |
111 // vim:ts=4:noet | 118 // vim:ts=4:noet |
OLD | NEW |