#include "third_party/blink/renderer/core/page/print_context.h"
#include <utility>
#include "third_party/blink/public/web/web_print_page_description.h"
#include "third_party/blink/renderer/core/css/properties/computed_style_utils.h"
#include "third_party/blink/renderer/core/frame/local_frame.h"
#include "third_party/blink/renderer/core/frame/local_frame_view.h"
#include "third_party/blink/renderer/core/frame/settings.h"
#include "third_party/blink/renderer/core/layout/layout_view.h"
#include "third_party/blink/renderer/core/layout/pagination_utils.h"
#include "third_party/blink/renderer/core/layout/physical_box_fragment.h"
#include "third_party/blink/renderer/core/layout/physical_fragment_link.h"
#include "third_party/blink/renderer/core/paint/paint_layer_scrollable_area.h"
#include "third_party/blink/renderer/platform/graphics/graphics_context.h"
#include "third_party/blink/renderer/platform/graphics/paint/drawing_recorder.h"
#include "third_party/blink/renderer/platform/graphics/paint/scoped_paint_chunk_properties.h"
#include "ui/gfx/geometry/size_f.h"
namespace blink {
namespace {
LayoutBoxModelObject* EnclosingBoxModelObject(LayoutObject* object) { … }
bool IsCoordinateInPage(int top, int left, const gfx::Rect& page) { … }
}
PrintContext::PrintContext(LocalFrame* frame)
: … { … }
PrintContext::~PrintContext() { … }
wtf_size_t PrintContext::PageCount() const { … }
gfx::Rect PrintContext::PageRect(wtf_size_t page_index) const { … }
void PrintContext::BeginPrintMode(const WebPrintParams& print_params) { … }
void PrintContext::EndPrintMode() { … }
int PrintContext::PageNumberForElement(Element* element,
const gfx::SizeF& page_size_in_pixels) { … }
void PrintContext::CollectLinkedDestinations(Node* node) { … }
void PrintContext::OutputLinkedDestinations(
GraphicsContext& context,
const PropertyTreeStateOrAlias& property_tree_state,
const gfx::Rect& page_rect) { … }
int PrintContext::NumberOfPages(LocalFrame* frame,
const gfx::SizeF& page_size_in_pixels) { … }
bool PrintContext::IsFrameValid() const { … }
void PrintContext::Trace(Visitor* visitor) const { … }
ScopedPrintContext::ScopedPrintContext(LocalFrame* frame)
: … { … }
ScopedPrintContext::~ScopedPrintContext() { … }
}