summaryrefslogtreecommitdiffstats
path: root/src/widgets/styles/qandroidstyle_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/widgets/styles/qandroidstyle_p.h')
-rw-r--r--src/widgets/styles/qandroidstyle_p.h395
1 files changed, 0 insertions, 395 deletions
diff --git a/src/widgets/styles/qandroidstyle_p.h b/src/widgets/styles/qandroidstyle_p.h
deleted file mode 100644
index caff0afada..0000000000
--- a/src/widgets/styles/qandroidstyle_p.h
+++ /dev/null
@@ -1,395 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 BogDan Vatra <bogdan@kde.org>
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtWidgets module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QANDROIDSTYLE_P_H
-#define QANDROIDSTYLE_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists for the convenience
-// of qstylefactory.cpp. This header may change from version to version
-// without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtWidgets/private/qtwidgetsglobal_p.h>
-#include <QtCore/QList>
-#include <QtCore/QMargins>
-#include <QtCore/QHash>
-#include <QtCore/QVariantMap>
-#include "qfusionstyle_p.h"
-
-QT_BEGIN_NAMESPACE
-
-#if QT_CONFIG(style_android)
-
-class Q_WIDGETS_EXPORT QAndroidStyle : public QFusionStyle
-{
- Q_OBJECT
-
-public:
- enum ItemType
- {
- QC_UnknownType = -1,
- QC_View,
- QC_GroupBox,
- QC_Button,
- QC_Checkbox,
- QC_RadioButton,
- QC_Slider,
- QC_Switch,
- QC_EditText,
- QC_Combobox,
- QC_BusyIndicator,
- QC_ProgressBar,
- QC_Tab,
- QC_TabButton,
- QC_RatingIndicator,
- QC_SearchBox,
- QC_CustomControl=0xf00,
- QC_ControlMask=0xfff
- };
-
- struct Android9PatchChunk
- {
- QVector<int> xDivs;
- QVector<int> yDivs;
- QVector<int> colors;
- };
-
- struct AndroidItemStateInfo
- {
- AndroidItemStateInfo():state(0){}
- int state;
- QByteArray filePath;
- QByteArray hashKey;
- Android9PatchChunk chunkData;
- QSize size;
- QMargins padding;
- };
-
- enum AndroidDrawableType
- {
- Color,
- Image,
- Clip,
- NinePatch,
- Gradient,
- State,
- Layer
- };
-
- class AndroidDrawable
- {
- public:
- AndroidDrawable(const QVariantMap &drawable, ItemType itemType);
- virtual ~AndroidDrawable();
- virtual void initPadding(const QVariantMap &drawable);
- virtual AndroidDrawableType type() const = 0;
- virtual void draw(QPainter *painter,const QStyleOption *opt) const = 0;
- const QMargins &padding() const;
- virtual QSize size() const;
- static AndroidDrawable *fromMap(const QVariantMap &drawable, ItemType itemType);
- static QMargins extractMargins(const QVariantMap &value);
- virtual void setPaddingLeftToSizeWidth();
- protected:
- ItemType m_itemType;
- QMargins m_padding;
- };
-
- class AndroidColorDrawable: public AndroidDrawable
- {
- public:
- AndroidColorDrawable(const QVariantMap &drawable, ItemType itemType);
- virtual AndroidDrawableType type() const;
- virtual void draw(QPainter *painter,const QStyleOption *opt) const;
-
- protected:
- QColor m_color;
- };
-
- class AndroidImageDrawable: public AndroidDrawable
- {
- public:
- AndroidImageDrawable(const QVariantMap &drawable, ItemType itemType);
- virtual AndroidDrawableType type() const;
- virtual void draw(QPainter *painter,const QStyleOption *opt) const;
- virtual QSize size() const;
-
- protected:
- QString m_filePath;
- mutable QString m_hashKey;
- QSize m_size;
- };
-
- class Android9PatchDrawable: public AndroidImageDrawable
- {
- public:
- Android9PatchDrawable(const QVariantMap &drawable, ItemType itemType);
- virtual AndroidDrawableType type() const;
- virtual void draw(QPainter *painter, const QStyleOption *opt) const;
- private:
- static int calculateStretch(int boundsLimit, int startingPoint,
- int srcSpace, int numStrechyPixelsRemaining,
- int numFixedPixelsRemaining);
- void extractIntArray(const QVariantList &values, QVector<int> &array);
- private:
- Android9PatchChunk m_chunkData;
- };
-
- class AndroidGradientDrawable: public AndroidDrawable
- {
- public:
- enum GradientOrientation
- {
- TOP_BOTTOM,
- TR_BL,
- RIGHT_LEFT,
- BR_TL,
- BOTTOM_TOP,
- BL_TR,
- LEFT_RIGHT,
- TL_BR
- };
-
- public:
- AndroidGradientDrawable(const QVariantMap &drawable, ItemType itemType);
- virtual AndroidDrawableType type() const;
- virtual void draw(QPainter *painter, const QStyleOption *opt) const;
- QSize size() const;
- private:
- mutable QLinearGradient m_gradient;
- GradientOrientation m_orientation;
- int m_radius;
- };
-
- class AndroidClipDrawable: public AndroidDrawable
- {
- public:
- AndroidClipDrawable(const QVariantMap &drawable, ItemType itemType);
- ~AndroidClipDrawable();
- virtual AndroidDrawableType type() const;
- virtual void setFactor(double factor, Qt::Orientation orientation);
- virtual void draw(QPainter *painter, const QStyleOption *opt) const;
-
- private:
- double m_factor;
- Qt::Orientation m_orientation;
- const AndroidDrawable *m_drawable;
- };
-
- class AndroidStateDrawable: public AndroidDrawable
- {
- public:
- AndroidStateDrawable(const QVariantMap &drawable, ItemType itemType);
- ~AndroidStateDrawable();
- virtual AndroidDrawableType type() const;
- virtual void draw(QPainter *painter, const QStyleOption *opt) const;
- inline const AndroidDrawable *bestAndroidStateMatch(const QStyleOption *opt) const;
- static int extractState(const QVariantMap &value);
- virtual void setPaddingLeftToSizeWidth();
- QSize sizeImage(const QStyleOption *opt) const;
- private:
- typedef QPair<int, const AndroidDrawable *> StateType;
- QList<StateType> m_states;
- };
-
- class AndroidLayerDrawable: public AndroidDrawable
- {
- public:
- AndroidLayerDrawable(const QVariantMap &drawable, QAndroidStyle::ItemType itemType);
- ~AndroidLayerDrawable();
- virtual AndroidDrawableType type() const;
- virtual void setFactor(int id, double factor, Qt::Orientation orientation);
- virtual void draw(QPainter *painter, const QStyleOption *opt) const;
- AndroidDrawable *layer(int id) const;
- QSize size() const;
- private:
- typedef QPair<int, AndroidDrawable *> LayerType;
- QList<LayerType> m_layers;
- int m_id;
- double m_factor;
- Qt::Orientation m_orientation;
- };
-
- class AndroidControl
- {
- public:
- AndroidControl(const QVariantMap &control, ItemType itemType);
- virtual ~AndroidControl();
- virtual void drawControl(const QStyleOption *opt, QPainter *p, const QWidget *w);
- virtual QRect subElementRect(SubElement subElement,
- const QStyleOption *option,
- const QWidget *widget = 0) const;
- virtual QRect subControlRect(const QStyleOptionComplex *option,
- SubControl sc,
- const QWidget *widget = 0) const;
- virtual QSize sizeFromContents(const QStyleOption *opt,
- const QSize &contentsSize,
- const QWidget *w) const;
- virtual QMargins padding();
- virtual QSize size(const QStyleOption *option);
- protected:
- virtual const AndroidDrawable * backgroundDrawable() const;
- const AndroidDrawable *m_background;
- QSize m_minSize;
- QSize m_maxSize;
- };
-
- class AndroidCompoundButtonControl : public AndroidControl
- {
- public:
- AndroidCompoundButtonControl(const QVariantMap &control, ItemType itemType);
- virtual ~AndroidCompoundButtonControl();
- virtual void drawControl(const QStyleOption *opt, QPainter *p, const QWidget *w);
- virtual QMargins padding();
- virtual QSize size(const QStyleOption *option);
- protected:
- virtual const AndroidDrawable * backgroundDrawable() const;
- const AndroidDrawable *m_button;
- };
-
- class AndroidProgressBarControl : public AndroidControl
- {
- public:
- AndroidProgressBarControl(const QVariantMap &control, ItemType itemType);
- virtual ~AndroidProgressBarControl();
- virtual void drawControl(const QStyleOption *option, QPainter *p, const QWidget *w);
- virtual QRect subElementRect(SubElement subElement,
- const QStyleOption *option,
- const QWidget *widget = 0) const;
-
- QSize sizeFromContents(const QStyleOption *opt,
- const QSize &contentsSize,
- const QWidget *w) const;
- protected:
- AndroidDrawable *m_progressDrawable;
- AndroidDrawable *m_indeterminateDrawable;
- int m_secondaryProgress_id;
- int m_progressId;
- };
-
- class AndroidSeekBarControl : public AndroidProgressBarControl
- {
- public:
- AndroidSeekBarControl(const QVariantMap &control, ItemType itemType);
- virtual ~AndroidSeekBarControl();
- virtual void drawControl(const QStyleOption *option, QPainter *p, const QWidget *w);
- QSize sizeFromContents(const QStyleOption *opt,
- const QSize &contentsSize, const QWidget *w) const;
- QRect subControlRect(const QStyleOptionComplex *option, SubControl sc,
- const QWidget *widget = 0) const;
- private:
- AndroidDrawable *m_seekBarThumb;
- };
-
- class AndroidSpinnerControl : public AndroidControl
- {
- public:
- AndroidSpinnerControl(const QVariantMap &control, ItemType itemType);
- virtual ~AndroidSpinnerControl(){}
- virtual QRect subControlRect(const QStyleOptionComplex *option,
- SubControl sc,
- const QWidget *widget = 0) const;
- };
-
- typedef QList<AndroidItemStateInfo *> AndroidItemStateInfoList;
-
-public:
- QAndroidStyle();
- ~QAndroidStyle();
-
- virtual void drawPrimitive(PrimitiveElement pe, const QStyleOption *opt, QPainter *p,
- const QWidget *w = 0) const;
-
- virtual void drawControl(QStyle::ControlElement element, const QStyleOption *opt, QPainter *p,
- const QWidget *w = 0) const;
-
- virtual QRect subElementRect(SubElement subElement, const QStyleOption *option,
- const QWidget *widget = 0) const;
- virtual void drawComplexControl(ComplexControl cc, const QStyleOptionComplex *opt, QPainter *p,
- const QWidget *widget = 0) const;
- virtual SubControl hitTestComplexControl(ComplexControl cc, const QStyleOptionComplex *opt,
- const QPoint &pt, const QWidget *widget = 0) const;
- virtual QRect subControlRect(ComplexControl cc, const QStyleOptionComplex *opt,
- SubControl sc, const QWidget *widget = 0) const;
-
- virtual int pixelMetric(PixelMetric metric, const QStyleOption *option = 0,
- const QWidget *widget = 0) const;
-
- virtual QSize sizeFromContents(ContentsType ct, const QStyleOption *opt,
- const QSize &contentsSize, const QWidget *w = 0) const;
-
- virtual QPixmap standardPixmap(StandardPixmap standardPixmap, const QStyleOption *opt = 0,
- const QWidget *widget = 0) const;
-
- virtual QPixmap generatedIconPixmap(QIcon::Mode iconMode, const QPixmap &pixmap,
- const QStyleOption *opt) const;
-
- int styleHint(StyleHint hint, const QStyleOption *option = 0, const QWidget *widget = 0,
- QStyleHintReturn *returnData = 0) const;
-
- virtual QPalette standardPalette() const;
- void polish(QWidget *widget);
- void unpolish(QWidget *widget);
-
-private:
- Q_DISABLE_COPY(QAndroidStyle)
- static ItemType qtControl(QStyle::ComplexControl control);
- static ItemType qtControl(QStyle::ContentsType contentsType);
- static ItemType qtControl(QStyle::ControlElement controlElement);
- static ItemType qtControl(QStyle::PrimitiveElement primitiveElement);
- static ItemType qtControl(QStyle::SubElement subElement);
- static ItemType qtControl(const QString &android);
-
-private:
- typedef QHash<int, AndroidControl *> AndroidControlsHash;
- AndroidControlsHash m_androidControlsHash;
- QPalette m_standardPalette;
- AndroidCompoundButtonControl *checkBoxControl;
-};
-
-#endif // style_android
-
-QT_END_NAMESPACE
-
-#endif // QANDROIDSTYLE_P_H