OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2012 Apple Inc. All rights reserved. | 2 * Copyright (C) 2012 Apple Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
6 * are met: | 6 * are met: |
7 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
43 | 43 |
44 // Can be used while walking the Renderer tree to cache data about offsets and t
ransforms. | 44 // Can be used while walking the Renderer tree to cache data about offsets and t
ransforms. |
45 class RenderGeometryMap { | 45 class RenderGeometryMap { |
46 WTF_MAKE_NONCOPYABLE(RenderGeometryMap); | 46 WTF_MAKE_NONCOPYABLE(RenderGeometryMap); |
47 public: | 47 public: |
48 RenderGeometryMap(MapCoordinatesFlags = UseTransforms); | 48 RenderGeometryMap(MapCoordinatesFlags = UseTransforms); |
49 ~RenderGeometryMap(); | 49 ~RenderGeometryMap(); |
50 | 50 |
51 MapCoordinatesFlags mapCoordinatesFlags() const { return m_mapCoordinatesFla
gs; } | 51 MapCoordinatesFlags mapCoordinatesFlags() const { return m_mapCoordinatesFla
gs; } |
52 | 52 |
53 FloatPoint absolutePoint(const FloatPoint& p) const | |
54 { | |
55 return mapToContainer(p, 0); | |
56 } | |
57 | |
58 FloatRect absoluteRect(const FloatRect& rect) const | 53 FloatRect absoluteRect(const FloatRect& rect) const |
59 { | 54 { |
60 return mapToContainer(rect, 0).boundingBox(); | 55 return mapToContainer(rect, 0).boundingBox(); |
61 } | 56 } |
62 | 57 |
63 // Map to a container. Will assert that the container has been pushed onto t
his map. | 58 // Map to a container. Will assert that the container has been pushed onto t
his map. |
64 // A null container maps through the RenderView (including its scale transfo
rm, if any). | 59 // A null container maps through the RenderView (including its scale transfo
rm, if any). |
65 // If the container is the RenderView, the scroll offset is applied, but not
the scale. | 60 // If the container is the RenderView, the scroll offset is applied, but not
the scale. |
66 FloatPoint mapToContainer(const FloatPoint&, const RenderLayerModelObject*)
const; | 61 FloatPoint mapToContainer(const FloatPoint&, const RenderLayerModelObject*)
const; |
67 FloatQuad mapToContainer(const FloatRect&, const RenderLayerModelObject*) co
nst; | 62 FloatQuad mapToContainer(const FloatRect&, const RenderLayerModelObject*) co
nst; |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
104 int m_transformedStepsCount; | 99 int m_transformedStepsCount; |
105 int m_fixedStepsCount; | 100 int m_fixedStepsCount; |
106 RenderGeometryMapSteps m_mapping; | 101 RenderGeometryMapSteps m_mapping; |
107 LayoutSize m_accumulatedOffset; | 102 LayoutSize m_accumulatedOffset; |
108 MapCoordinatesFlags m_mapCoordinatesFlags; | 103 MapCoordinatesFlags m_mapCoordinatesFlags; |
109 }; | 104 }; |
110 | 105 |
111 } // namespace blink | 106 } // namespace blink |
112 | 107 |
113 #endif // RenderGeometryMap_h | 108 #endif // RenderGeometryMap_h |
OLD | NEW |