| // Copyright 2016 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef THIRD_PARTY_BLINK_RENDERER_CORE_LAYOUT_MAP_COORDINATES_FLAGS_H_ |
| #define THIRD_PARTY_BLINK_RENDERER_CORE_LAYOUT_MAP_COORDINATES_FLAGS_H_ |
| |
| namespace blink { |
| |
| enum MapCoordinatesMode { |
| kIsFixed = 1 << 0, |
| kUseTransforms = 1 << 1, |
| |
| // When walking up the containing block chain, applies a container flip for |
| // the first element found, if any, for which isFlippedBlocksWritingMode is |
| // true. This option should generally be used when mapping a source rect in |
| // the "physical coordinates with flipped block-flow" coordinate space (see |
| // LayoutBoxModelObject.h) to one in a physical destination space. |
| kApplyContainerFlip = 1 << 2, |
| kTraverseDocumentBoundaries = 1 << 3, |
| |
| // Ignore offset adjustments caused by position:sticky calculations when |
| // walking the chain. |
| kIgnoreStickyOffset = 1 << 4, |
| |
| // Ignore scroll offset from container, i.e. scrolling has no effect on mapped |
| // position. |
| kIgnoreScrollOffset = 1 << 5, |
| }; |
| typedef unsigned MapCoordinatesFlags; |
| |
| } // namespace blink |
| |
| #endif // THIRD_PARTY_BLINK_RENDERER_CORE_LAYOUT_MAP_COORDINATES_FLAGS_H_ |