FontAntialiasingStateSaver.h [plain text]
#ifndef FontAntialiasingStateSaver_h
#define FontAntialiasingStateSaver_h
#if PLATFORM(IOS)
#import "CoreGraphicsSPI.h"
namespace WebCore {
class FontAntialiasingStateSaver {
public:
FontAntialiasingStateSaver(CGContextRef context, bool useOrientationDependentFontAntialiasing)
#if !PLATFORM(IOS_SIMULATOR)
: m_context(context)
, m_useOrientationDependentFontAntialiasing(useOrientationDependentFontAntialiasing)
#endif
{
#if PLATFORM(IOS_SIMULATOR)
UNUSED_PARAM(context);
UNUSED_PARAM(useOrientationDependentFontAntialiasing);
#endif
}
void setup(bool isLandscapeOrientation)
{
#if !PLATFORM(IOS_SIMULATOR)
m_oldAntialiasingStyle = CGContextGetFontAntialiasingStyle(m_context);
if (m_useOrientationDependentFontAntialiasing)
CGContextSetFontAntialiasingStyle(m_context, isLandscapeOrientation ? kCGFontAntialiasingStyleFilterLight : kCGFontAntialiasingStyleUnfiltered);
#else
UNUSED_PARAM(isLandscapeOrientation);
#endif
}
void restore()
{
#if !PLATFORM(IOS_SIMULATOR)
if (m_useOrientationDependentFontAntialiasing)
CGContextSetFontAntialiasingStyle(m_context, m_oldAntialiasingStyle);
#endif
}
private:
#if !PLATFORM(IOS_SIMULATOR)
CGContextRef m_context;
bool m_useOrientationDependentFontAntialiasing;
CGFontAntialiasingStyle m_oldAntialiasingStyle;
#endif
};
}
#endif
#endif // FontAntialiasingStateSaver_h