blob: 3d0779aedd401987862bb126a25b88c51c8bf670 [file] [log] [blame]
// Copyright 2024 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef PDF_DRAW_UTILS_PAGE_BOUNDARY_INTERSECT_H_
#define PDF_DRAW_UTILS_PAGE_BOUNDARY_INTERSECT_H_
#include "ui/gfx/geometry/point_f.h"
namespace gfx {
class Rect;
} // namespace gfx
namespace chrome_pdf {
// Given:
// - `page_rect` must be non-empty.
// - `inside_point` must be inside of `page_rect`.
// - `outside_point` must be outside of `page_rect`.
//
// A straight line from `inside_point` to `outside_point` must intersect the
// boundary of `page_rect`. Return that intersection point.
gfx::PointF CalculatePageBoundaryIntersectPoint(
const gfx::Rect& page_rect,
const gfx::PointF& inside_point,
const gfx::PointF& outside_point);
} // namespace chrome_pdf
#endif // PDF_DRAW_UTILS_PAGE_BOUNDARY_INTERSECT_H_