RenderThemeSafari.h [plain text]
#ifndef RenderThemeSafari_h
#define RenderThemeSafari_h
#if USE(SAFARI_THEME)
#include "RenderTheme.h"
#include <SafariTheme/SafariThemeConstants.h>
#ifndef SafariThemeConstants_h
#include <SafariTheme/SafariTheme.h>
#endif
#if PLATFORM(WIN)
typedef void* HANDLE;
typedef struct HINSTANCE__* HINSTANCE;
typedef HINSTANCE HMODULE;
#endif
namespace WebCore {
using namespace SafariTheme;
class RenderStyle;
class RenderThemeSafari : public RenderTheme {
public:
static PassRefPtr<RenderTheme> create();
virtual int baselinePosition(const RenderObject&) const;
virtual bool controlSupportsTints(const RenderObject&) const;
virtual bool supportsControlTints() const { return true; }
virtual void adjustRepaintRect(const RenderObject&, IntRect&);
virtual bool isControlStyled(const RenderStyle&, const BorderData&,
const FillLayer&, const Color& backgroundColor) const;
virtual Color platformActiveSelectionBackgroundColor() const;
virtual Color platformInactiveSelectionBackgroundColor() const;
virtual Color activeListBoxSelectionBackgroundColor() const;
virtual Color platformFocusRingColor() const;
virtual void systemFont(CSSValueID, FontDescription&) const;
virtual int minimumMenuListSize(RenderStyle&) const;
virtual void adjustSliderThumbSize(RenderStyle&, Element&) const;
virtual void adjustSliderThumbStyle(StyleResolver&, RenderStyle&, Element&) const;
virtual int popupInternalPaddingLeft(RenderStyle&) const;
virtual int popupInternalPaddingRight(RenderStyle&) const;
virtual int popupInternalPaddingTop(RenderStyle&) const;
virtual int popupInternalPaddingBottom(RenderStyle&) const;
protected:
virtual bool paintCheckbox(const RenderObject&, const PaintInfo&, const IntRect&);
virtual void setCheckboxSize(RenderStyle&) const;
virtual bool paintRadio(const RenderObject&, const PaintInfo&, const IntRect&);
virtual void setRadioSize(RenderStyle&) const;
virtual void adjustButtonStyle(StyleResolver&, RenderStyle&, WebCore::Element&) const;
virtual bool paintButton(const RenderObject&, const PaintInfo&, const IntRect&);
virtual void setButtonSize(RenderStyle&) const;
virtual bool paintTextField(const RenderObject&, const PaintInfo&, const IntRect&);
virtual void adjustTextFieldStyle(StyleResolver&, RenderStyle&, Element&) const;
virtual bool paintTextArea(const RenderObject&, const PaintInfo&, const IntRect&);
virtual void adjustTextAreaStyle(StyleResolver&, RenderStyle&, Element&) const;
virtual bool paintMenuList(const RenderObject&, const PaintInfo&, const IntRect&);
virtual void adjustMenuListStyle(StyleResolver&, RenderStyle&, Element&) const;
virtual bool paintMenuListButtonDecorations(const RenderObject&, const PaintInfo&, const FloatRect&);
virtual void adjustMenuListButtonStyle(StyleResolver&, RenderStyle&, Element&) const;
virtual bool paintSliderTrack(const RenderObject&, const PaintInfo&, const IntRect&);
virtual bool paintSliderThumb(const RenderObject&, const PaintInfo&, const IntRect&);
virtual bool paintSearchField(const RenderObject&, const PaintInfo&, const IntRect&);
virtual void adjustSearchFieldStyle(StyleResolver&, RenderStyle&, Element&) const;
virtual void adjustSearchFieldCancelButtonStyle(StyleResolver&, RenderStyle&, Element&) const;
virtual bool paintSearchFieldCancelButton(const RenderObject&, const PaintInfo&, const IntRect&);
virtual void adjustSearchFieldDecorationPartStyle(StyleResolver&, RenderStyle&, Element&) const;
virtual bool paintSearchFieldDecorationPart(const RenderObject&, const PaintInfo&, const IntRect&);
virtual void adjustSearchFieldResultsDecorationPartStyle(StyleResolver&, RenderStyle&, Element&) const;
virtual bool paintSearchFieldResultsDecorationPart(const RenderObject&, const PaintInfo&, const IntRect&);
virtual void adjustSearchFieldResultsButtonStyle(StyleResolver&, RenderStyle&, Element&) const;
virtual bool paintSearchFieldResultsButton(const RenderObject&, const PaintInfo&, const IntRect&);
virtual bool paintCapsLockIndicator(const RenderObject&, const PaintInfo&, const IntRect&);
#if ENABLE(VIDEO)
virtual String mediaControlsStyleSheet() override;
virtual String mediaControlsScript() override;
#endif
#if ENABLE(METER_ELEMENT)
virtual IntSize meterSizeForBounds(const RenderMeter&, const IntRect&) const override;
virtual bool supportsMeter(ControlPart) const override;
virtual void adjustMeterStyle(StyleResolver&, RenderStyle&, Element&) const override;
virtual bool paintMeter(const RenderObject&, const PaintInfo&, const IntRect&) override;
#endif
virtual bool shouldShowPlaceholderWhenFocused() const { return true; }
private:
RenderThemeSafari();
virtual ~RenderThemeSafari();
IntRect inflateRect(const IntRect&, const IntSize&, const int* margins) const;
NSControlSize controlSizeForFont(RenderStyle&) const;
NSControlSize controlSizeForSystemFont(RenderStyle&) const;
void setSizeFromFont(RenderStyle&, const IntSize* sizes) const;
IntSize sizeForFont(RenderStyle&, const IntSize* sizes) const;
IntSize sizeForSystemFont(RenderStyle&, const IntSize* sizes) const;
void setFontFromControlSize(StyleResolver&, RenderStyle&, NSControlSize) const;
const IntSize* checkboxSizes() const;
const int* checkboxMargins(NSControlSize) const;
const IntSize* radioSizes() const;
const int* radioMargins(NSControlSize) const;
void setButtonPaddingFromControlSize(RenderStyle&, NSControlSize) const;
const IntSize* buttonSizes() const;
const int* buttonMargins(NSControlSize) const;
const IntSize* popupButtonSizes() const;
const int* popupButtonMargins(NSControlSize) const;
const int* popupButtonPadding(NSControlSize) const;
void paintMenuListButtonGradients(const RenderObject&, const PaintInfo&, const IntRect&);
const IntSize* menuListSizes() const;
const IntSize* searchFieldSizes() const;
const IntSize* cancelButtonSizes() const;
const IntSize* resultsButtonSizes() const;
void setSearchFieldSize(RenderStyle&) const;
ThemeControlState determineState(const RenderObject&) const;
String m_mediaControlsScript;
String m_mediaControlsStyleSheet;
};
}
#endif // #if USE(SAFARI_THEME)
#endif // RenderThemeSafari_h