blob: 81c5a96585857e88dfc22c8f9716dad20bec1601 [file] [log] [blame]
// 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.
#include "ui/compositor/transform_recorder.h"
#include "cc/paint/display_item_list.h"
#include "cc/paint/transform_display_item.h"
#include "ui/compositor/paint_context.h"
namespace ui {
TransformRecorder::TransformRecorder(const PaintContext& context)
: context_(context), transformed_(false) {}
TransformRecorder::~TransformRecorder() {
if (transformed_)
context_.list_->CreateAndAppendPairedEndItem<cc::EndTransformDisplayItem>();
}
void TransformRecorder::Transform(const gfx::Transform& transform) {
DCHECK(!transformed_);
context_.list_->CreateAndAppendPairedBeginItem<cc::TransformDisplayItem>(
transform);
transformed_ = true;
}
} // namespace ui