| // 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_ |