SystemGui/Sources/Tower/RGBLedWidget.cpp
2021-04-11 13:18:40 -04:00

63 lines
1.3 KiB
C++

#include "RGBLedWidget.h"
#include <math.h>
#include <QPainter>
#include <QGraphicsSceneMouseEvent>
#include <QGraphicsView>
CRGBLedWidget::CRGBLedWidget(QColor Color, QGraphicsItem *parent)
{
setParentItem(parent);
mLEDColor = Color;
mIsSelected = false;
mLedDiameter = LED_DIAMETER;
}
void CRGBLedWidget::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
{
painter->setPen(Qt::NoPen);
painter->setBrush(QBrush(mLEDColor));
painter->drawEllipse(0,0,mLedDiameter,mLedDiameter);
if(mIsSelected == true)
{
painter->setPen(Qt::black);
painter->setBrush(Qt::NoBrush);
painter->drawRect(0,0,mLedDiameter,mLedDiameter);
}
}
QRectF CRGBLedWidget::boundingRect() const
{
return QRectF(0,0,mLedDiameter,mLedDiameter);
}
void CRGBLedWidget::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
{
mIsSelected = !mIsSelected;
update(boundingRect());
qDebug("LedMouseRelease");
}
void CRGBLedWidget::mousePressEvent(QGraphicsSceneMouseEvent *event)
{
event->accept();
qDebug("LedMousePress");
}
int CRGBLedWidget::SetColor(QColor color)
{
mLEDColor = color;
return 1;
}
int CRGBLedWidget::SetColor(int r, int g, int b)
{
mLEDColor = QColor(r,g,b);
return 1;
}