blob: 3dbce12e5323570c892415da1549ffc54bb13aba [file]
// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CC_PLAYBACK_DRAW_IMAGE_H_
#define CC_PLAYBACK_DRAW_IMAGE_H_
#include "third_party/skia/include/core/SkFilterQuality.h"
#include "third_party/skia/include/core/SkImage.h"
#include "third_party/skia/include/core/SkMatrix.h"
namespace cc {
class DrawImage {
public:
DrawImage() : image_(nullptr), filter_quality_(kNone_SkFilterQuality) {}
DrawImage(const SkImage* image,
const SkSize& scale,
SkFilterQuality filter_quality)
: image_(image), scale_(scale), filter_quality_(filter_quality) {}
const SkImage* image() const { return image_; }
const SkSize& scale() const { return scale_; }
SkFilterQuality filter_quality() const { return filter_quality_; }
DrawImage ApplyScale(float scale) const {
return DrawImage(
image_, SkSize::Make(scale_.width() * scale, scale_.height() * scale),
filter_quality_);
}
private:
const SkImage* image_;
SkSize scale_;
SkFilterQuality filter_quality_;
};
} // namespace cc
#endif // CC_PLAYBACK_DRAW_IMAGE_H_