blob: 1b49116c1a033ddd3ead374ba2b7a69b08519515 [file]
// Copyright 2020 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "pdf/paint_ready_rect.h"
#include <utility>
#include "base/check.h"
#include "base/feature_list.h"
#include "pdf/pdf_features.h"
#include "third_party/skia/include/core/SkImage.h"
#include "third_party/skia/include/core/SkRefCnt.h"
#include "ui/gfx/geometry/rect.h"
namespace chrome_pdf {
PaintReadyRect::PaintReadyRect(const gfx::Rect& rect, sk_sp<SkImage> image)
: PaintReadyRect(rect, std::move(image), /*flush_now=*/false) {}
PaintReadyRect::PaintReadyRect(const gfx::Rect& rect,
sk_sp<SkImage> image,
bool flush_now)
: rect_(rect), image_(std::move(image)), flush_now_(flush_now) {
CHECK(image_ ||
base::FeatureList::IsEnabled(features::kPdfBufferedPaintManager));
}
PaintReadyRect::PaintReadyRect(PaintReadyRect&&) noexcept = default;
PaintReadyRect& PaintReadyRect::operator=(PaintReadyRect&&) noexcept = default;
PaintReadyRect::PaintReadyRect(const PaintReadyRect& other) = default;
PaintReadyRect& PaintReadyRect::operator=(const PaintReadyRect& other) =
default;
PaintReadyRect::~PaintReadyRect() = default;
} // namespace chrome_pdf