qtmaterialavatar.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. #ifndef QTMATERIALAVATAR_H
  2. #define QTMATERIALAVATAR_H
  3. #include <QtWidgets/QWidget>
  4. #include "lib/qtmaterialtheme.h"
  5. class QtMaterialAvatarPrivate;
  6. class QtMaterialAvatar : public QWidget
  7. {
  8. Q_OBJECT
  9. public:
  10. explicit QtMaterialAvatar(QWidget *parent = 0);
  11. explicit QtMaterialAvatar(const QIcon &icon, QWidget *parent = 0);
  12. explicit QtMaterialAvatar(const QChar &letter, QWidget *parent = 0);
  13. explicit QtMaterialAvatar(const QImage &image, QWidget *parent = 0);
  14. ~QtMaterialAvatar();
  15. void setUseThemeColors(bool value);
  16. bool useThemeColors() const;
  17. void setTextColor(const QColor &color);
  18. QColor textColor() const;
  19. void setBackgroundColor(const QColor &color);
  20. QColor backgroundColor() const;
  21. QSize sizeHint() const Q_DECL_OVERRIDE;
  22. void setSize(int size);
  23. int size() const;
  24. void setLetter(const QChar &letter);
  25. void setImage(const QImage &image);
  26. void setIcon(const QIcon &icon);
  27. Material::AvatarType type() const;
  28. protected:
  29. void paintEvent(QPaintEvent *event) Q_DECL_OVERRIDE;
  30. const QScopedPointer<QtMaterialAvatarPrivate> d_ptr;
  31. private:
  32. Q_DISABLE_COPY(QtMaterialAvatar)
  33. Q_DECLARE_PRIVATE(QtMaterialAvatar)
  34. };
  35. #endif // QTMATERIALAVATAR_H