Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
QuartzUtils.h
Go to the documentation of this file.
1 // @(#)root/graf2d:$Id$
2 // Author: Timur Pocheptsov, 11/06/2012
3 
4 /*************************************************************************
5  * Copyright (C) 1995-2011, Rene Brun and Fons Rademakers. *
6  * All rights reserved. *
7  * *
8  * For the licensing terms see $ROOTSYS/LICENSE. *
9  * For the list of contributors see $ROOTSYS/README/CREDITS. *
10  *************************************************************************/
11 
12 #ifndef ROOT_QuartzUtils
13 #define ROOT_QuartzUtils
14 
15 #include <ApplicationServices/ApplicationServices.h>
16 
17 #include "CocoaUtils.h"
18 
19 namespace ROOT {
20 namespace Quartz {
21 
22 //Scope guard class for CGContextRef.
23 class CGStateGuard {
24 public:
25  explicit CGStateGuard(MacOSX::Util::CFScopeGuard<CGContextRef> &ctx);
26  explicit CGStateGuard(CGContextRef ctx);
27  ~CGStateGuard();
28 
29 private:
30  CGContextRef fCtx;
31 
32  CGStateGuard(const CGStateGuard &rhs);
33  CGStateGuard &operator = (const CGStateGuard &rhs);
34 };
35 
36 //Scope guard for AA flag (due to some reason it's not
37 //saved/restored as a part of a context state).
38 class CGAAStateGuard {
39 public:
40  CGAAStateGuard(CGContextRef ctx, bool enable);
41  ~CGAAStateGuard();
42 
43 private:
44  CGContextRef fCtx;
45  bool fEnable;
46 
47  CGAAStateGuard(const CGAAStateGuard &rhs);
48  CGAAStateGuard &operator = (const CGAAStateGuard &rhs);
49 
50 };
51 
52 }
53 }
54 
55 #endif