1// Copyright (c) 2011 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.
4
5#ifndef UI_GFX_SCOPED_NS_GRAPHICS_CONTEXT_SAVE_GSTATE_MAC_H_
6#define UI_GFX_SCOPED_NS_GRAPHICS_CONTEXT_SAVE_GSTATE_MAC_H_
7
8#include "base/basictypes.h"
9#include "ui/gfx/gfx_export.h"
10
11#if defined(__OBJC__)
12@class NSGraphicsContext;
13#else
14class NSGraphicsContext;
15#endif
16
17namespace gfx {
18
19// A class to save/restore the state of the current context.
20class GFX_EXPORT ScopedNSGraphicsContextSaveGState {
21 public:
22  ScopedNSGraphicsContextSaveGState();
23  ~ScopedNSGraphicsContextSaveGState();
24
25 private:
26  NSGraphicsContext* context_;  // weak
27
28  DISALLOW_COPY_AND_ASSIGN(ScopedNSGraphicsContextSaveGState);
29};
30
31}  // namespace gfx
32
33#endif  // UI_GFX_SCOPED_NS_GRAPHICS_CONTEXT_SAVE_GSTATE_MAC_H_
34