#ifndef ThemeMac_h
#define ThemeMac_h
#include "ThemeCocoa.h"
@interface NSFont(WebCoreTheme)
- (NSString*)webCoreFamilyName;
@end
namespace WebCore {
class ThemeMac : public ThemeCocoa {
WTF_MAKE_FAST_ALLOCATED;
public:
ThemeMac() { }
virtual ~ThemeMac() { }
int baselinePositionAdjustment(ControlPart) const override;
Optional<FontCascadeDescription> controlFont(ControlPart, const FontCascade&, float zoomFactor) const override;
LengthSize controlSize(ControlPart, const FontCascade&, const LengthSize&, float zoomFactor) const override;
LengthSize minimumControlSize(ControlPart, const FontCascade&, float zoomFactor) const override;
LengthBox controlPadding(ControlPart, const FontCascade&, const LengthBox& zoomedBox, float zoomFactor) const override;
LengthBox controlBorder(ControlPart, const FontCascade&, const LengthBox& zoomedBox, float zoomFactor) const override;
bool controlRequiresPreWhiteSpace(ControlPart part) const override { return part == PushButtonPart; }
void paint(ControlPart, ControlStates&, GraphicsContext&, const FloatRect&, float zoomFactor, ScrollView*, float deviceScaleFactor, float pageScaleFactor) override;
void inflateControlPaintRect(ControlPart, const ControlStates&, FloatRect&, float zoomFactor) const override;
static NSView* ensuredView(ScrollView*, const ControlStates&, bool useUnparentedView = false);
static void setFocusRingClipRect(const FloatRect&);
static bool drawCellOrFocusRingWithViewIntoContext(NSCell*, GraphicsContext&, const FloatRect&, NSView*, bool , bool , bool , float );
};
}
#endif // ThemeMac_h