Pin Chrome's shortcut to the Win10 Start menu on install and OS upgrade.
[chromium-blink-merge.git] / ui / compositor / compositing_recorder.h
blob729ddb9d5816f62a0972158e683eade9a42f2c86
1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef UI_COMPOSITOR_COMPOSITING_RECORDER_H_
6 #define UI_COMPOSITOR_COMPOSITING_RECORDER_H_
8 #include "base/basictypes.h"
9 #include "base/macros.h"
10 #include "ui/compositor/compositor_export.h"
12 namespace ui {
13 class PaintContext;
15 // A class to provide scoped compositing filters (eg opacity) of painting to a
16 // DisplayItemList. The filters provided will be applied to any
17 // DisplayItems added to the DisplayItemList while this object is alive. In
18 // other words, any nested PaintRecorders or other such Recorders will
19 // be filtered by the effect.
20 class COMPOSITOR_EXPORT CompositingRecorder {
21 public:
22 // |alpha| is a value between 0 and 255, where 0 is transparent and 255 is
23 // opaque.
24 CompositingRecorder(const PaintContext& context, uint8_t alpha);
25 ~CompositingRecorder();
27 private:
28 const PaintContext& context_;
29 bool saved_;
31 DISALLOW_COPY_AND_ASSIGN(CompositingRecorder);
34 } // namespace ui
36 #endif // UI_COMPOSITOR_CLIP_TRANSFORM_RECORDER_H_