37 lines
1.1 KiB
Swift
37 lines
1.1 KiB
Swift
//
|
|
// ScrollRectEvent.swift
|
|
// ScrollingContentViewController
|
|
//
|
|
// Created by Drew Olbrich on 1/26/19.
|
|
// Copyright 2019 Oath Inc.
|
|
//
|
|
// Licensed under the terms of the MIT License. See the file LICENSE for the full terms.
|
|
//
|
|
|
|
import Foundation
|
|
|
|
/// An event encapsulating a deferred call to `scrollRectToVisible(_:animated:)`.
|
|
internal struct ScrollRectEvent {
|
|
|
|
enum ContentArea {
|
|
/// The content view should be scrolled to make visible a rectangle in the
|
|
/// coordinate space of the scroll view's content area.
|
|
case scrollViewRect(_ rect: CGRect)
|
|
|
|
/// The content view should be scrolled to make visible a rectangle in the
|
|
/// coordinate space of the bounds of a descendant view of the content view.
|
|
/// If `rect` is nil, the bounds of the descendant view is made visible.
|
|
case descendantViewRect(_ rect: CGRect?, descendantView: UIView)
|
|
}
|
|
|
|
/// The area of the scroll view's content to make visible.
|
|
var contentArea: ContentArea
|
|
|
|
/// `true` if the scrolling should be animated.
|
|
var animated: Bool
|
|
|
|
/// A margin that should be added to the content area.
|
|
var margin: CGFloat
|
|
|
|
}
|