/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #ifndef nsNativeBasicThemeWin_h #define nsNativeBasicThemeWin_h #include "nsNativeBasicTheme.h" class nsNativeBasicThemeWin : public nsNativeBasicTheme { public: nsNativeBasicThemeWin() = default; Transparency GetWidgetTransparency(nsIFrame* aFrame, StyleAppearance aAppearance) override; protected: virtual ~nsNativeBasicThemeWin() = default; std::pair ComputeCheckboxColors( const EventStates& aState, StyleAppearance aAppearance) override; sRGBColor ComputeCheckmarkColor(const EventStates& aState) override; std::pair ComputeRadioCheckmarkColors( const EventStates& aState) override; sRGBColor ComputeBorderColor(const EventStates& aState) override; std::pair ComputeButtonColors( const EventStates& aState, nsIFrame* aFrame = nullptr) override; std::pair ComputeTextfieldColors( const EventStates& aState) override; std::pair ComputeRangeProgressColors( const EventStates& aState) override; std::pair ComputeRangeTrackColors( const EventStates& aState) override; std::pair ComputeRangeThumbColors( const EventStates& aState) override; std::pair ComputeProgressColors() override; std::pair ComputeProgressTrackColors() override; std::pair ComputeMeterchunkColors( const EventStates& aMeterState) override; std::pair ComputeMeterTrackColors() override; sRGBColor ComputeMenulistArrowButtonColor(const EventStates& aState) override; std::array ComputeFocusRectColors() override; std::pair ComputeScrollbarColors( nsIFrame* aFrame, const ComputedStyle& aStyle, const EventStates& aDocumentState, bool aIsRoot) override; sRGBColor ComputeScrollbarThumbColor( nsIFrame* aFrame, const ComputedStyle& aStyle, const EventStates& aElementState, const EventStates& aDocumentState) override; std::array ComputeScrollbarButtonColors( nsIFrame* aFrame, StyleAppearance aAppearance, const ComputedStyle& aStyle, const EventStates& aElementState, const EventStates& aDocumentState) override; }; #endif