// Copyright 2015 The Chromium Authors // 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_FRAME_ROTATION_VIEWPORT_ANCHOR_H_ #define THIRD_PARTY_BLINK_RENDERER_CORE_FRAME_ROTATION_VIEWPORT_ANCHOR_H_ #include "third_party/blink/renderer/core/core_export.h" #include "third_party/blink/renderer/core/layout/geometry/physical_rect.h" #include "third_party/blink/renderer/platform/wtf/allocator/allocator.h" #include "ui/gfx/geometry/point.h" #include "ui/gfx/geometry/point_f.h" #include "ui/gfx/geometry/size_f.h" #include "ui/gfx/geometry/vector2d_f.h" namespace blink { class LocalFrameView; class Node; class PageScaleConstraintsSet; class ScrollableArea; class VisualViewport; // The rotation anchor provides a way to anchor a viewport origin to a DOM node. // In particular, the user supplies an anchor point (in view coordinates, e.g., // (0, 0) == viewport origin, (0.5, 0) == viewport top center). The anchor point // tracks the underlying DOM node; as the node moves or the view is resized, the // viewport anchor maintains its orientation relative to the node, and the // viewport origin maintains its orientation relative to the anchor. If there is // no node or it is lost during the resize, we fall back to the resize anchor // logic. class CORE_EXPORT RotationViewportAnchor { … }; } // namespace blink #endif // THIRD_PARTY_BLINK_RENDERER_CORE_FRAME_ROTATION_VIEWPORT_ANCHOR_H_