iconutils.cpp 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. #include "iconutils.h"
  2. #include "qmath.h"
  3. #include <math.h>
  4. namespace IconUtils {
  5. QIcon createSettingsIcon()
  6. {
  7. QPixmap pixmap(24, 24);
  8. pixmap.fill(Qt::transparent);
  9. QPainter painter(&pixmap);
  10. painter.setRenderHint(QPainter::Antialiasing);
  11. painter.setPen(QPen(Qt::black, 2));
  12. painter.drawEllipse(8, 8, 8, 8);
  13. for (int i = 0; i < 8; ++i) {
  14. painter.drawLine(12 + 6 * qCos(i * M_PI / 4), 12 + 6 * qSin(i * M_PI / 4),
  15. 12 + 8 * qCos(i * M_PI / 4), 12 + 8 * qSin(i * M_PI / 4));
  16. }
  17. return QIcon(pixmap);
  18. }
  19. QIcon createSearchIcon()
  20. {
  21. QPixmap pixmap(24, 24);
  22. pixmap.fill(Qt::transparent);
  23. QPainter painter(&pixmap);
  24. painter.setRenderHint(QPainter::Antialiasing);
  25. painter.setPen(QPen(Qt::black, 2));
  26. painter.drawEllipse(6, 6, 10, 10);
  27. painter.drawLine(14, 14, 18, 18);
  28. return QIcon(pixmap);
  29. }
  30. QIcon createUserIcon()
  31. {
  32. QPixmap pixmap(24, 24);
  33. pixmap.fill(Qt::transparent);
  34. QPainter painter(&pixmap);
  35. painter.setRenderHint(QPainter::Antialiasing);
  36. painter.setPen(QPen(Qt::black, 2));
  37. painter.drawEllipse(8, 4, 8, 8);
  38. painter.drawArc(4, 12, 16, 12, 0, 180 * 16);
  39. return QIcon(pixmap);
  40. }
  41. QIcon createAudioDeviceIcon()
  42. {
  43. QPixmap pixmap(24, 24);
  44. pixmap.fill(Qt::transparent);
  45. QPainter painter(&pixmap);
  46. painter.setRenderHint(QPainter::Antialiasing);
  47. painter.setPen(QPen(Qt::black, 2));
  48. painter.drawRect(8, 6, 8, 12);
  49. painter.drawLine(6, 10, 8, 10);
  50. painter.drawLine(6, 14, 8, 14);
  51. painter.drawLine(16, 10, 18, 10);
  52. painter.drawLine(16, 14, 18, 14);
  53. return QIcon(pixmap);
  54. }
  55. QIcon createStreamIcon()
  56. {
  57. QPixmap pixmap(24, 24);
  58. pixmap.fill(Qt::transparent);
  59. QPainter painter(&pixmap);
  60. painter.setRenderHint(QPainter::Antialiasing);
  61. painter.setPen(QPen(Qt::black, 2));
  62. QPolygon triangle;
  63. triangle << QPoint(6, 6) << QPoint(18, 12) << QPoint(6, 18);
  64. painter.drawPolygon(triangle);
  65. return QIcon(pixmap);
  66. }
  67. QIcon createChatIcon()
  68. {
  69. QPixmap pixmap(24, 24);
  70. pixmap.fill(Qt::transparent);
  71. QPainter painter(&pixmap);
  72. painter.setRenderHint(QPainter::Antialiasing);
  73. painter.setPen(QPen(Qt::black, 2));
  74. painter.drawRoundedRect(4, 4, 16, 12, 2, 2);
  75. QPolygon tail;
  76. tail << QPoint(8, 16) << QPoint(12, 20) << QPoint(12, 16);
  77. painter.drawPolygon(tail);
  78. return QIcon(pixmap);
  79. }
  80. QIcon createRecordIcon()
  81. {
  82. QPixmap pixmap(24, 24);
  83. pixmap.fill(Qt::transparent);
  84. QPainter painter(&pixmap);
  85. painter.setRenderHint(QPainter::Antialiasing);
  86. painter.setPen(QPen(Qt::red, 2));
  87. painter.setBrush(QBrush(Qt::red));
  88. painter.drawEllipse(6, 6, 12, 12);
  89. return QIcon(pixmap);
  90. }
  91. } // namespace IconUtils