use zoom_box_dimensions constant for color picker preview window
This commit is contained in:
parent
1d596023c6
commit
ab6aa01973
1 changed files with 6 additions and 6 deletions
|
@ -3,7 +3,7 @@
|
||||||
|
|
||||||
#include <QtWidgets>
|
#include <QtWidgets>
|
||||||
|
|
||||||
const int zoom_box_dimensions = 7;
|
const int zoom_box_dimensions = 15;
|
||||||
|
|
||||||
ColorPicker::ColorPicker(QWidget *parent) :
|
ColorPicker::ColorPicker(QWidget *parent) :
|
||||||
QDialog(parent),
|
QDialog(parent),
|
||||||
|
@ -48,23 +48,23 @@ void ColorPicker::hover(int mouseX, int mouseY) {
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// 15 X 15 box with 8x magnification = 120px square)
|
// 15 X 15 box with 8x magnification = 120px square)
|
||||||
QRect zoomRect(mouseX - 7, mouseY - 7, 15, 15);
|
QRect zoomRect(mouseX - zoom_box_dimensions / 2, mouseY - zoom_box_dimensions / 2, zoom_box_dimensions, zoom_box_dimensions);
|
||||||
QPixmap grab = screen->grabWindow(0, mouseX - 7, mouseY - 7, 15, 15);
|
QPixmap grab = screen->grabWindow(0, mouseX - zoom_box_dimensions / 2, mouseY - zoom_box_dimensions / 2, zoom_box_dimensions, zoom_box_dimensions);
|
||||||
int pixelRatio = grab.devicePixelRatio();
|
int pixelRatio = grab.devicePixelRatio();
|
||||||
|
|
||||||
// TODO: investigate for high dpi displays why text is too high res
|
// TODO: investigate for high dpi displays why text is too high res
|
||||||
grab.setDevicePixelRatio(1);
|
grab.setDevicePixelRatio(1);
|
||||||
QPixmap magnified = grab.scaled(120, 120, Qt::KeepAspectRatio);
|
QPixmap magnified = grab.scaled(zoom_box_dimensions * 8, zoom_box_dimensions * 8, Qt::KeepAspectRatio);
|
||||||
|
|
||||||
QPainter painter(&magnified);
|
QPainter painter(&magnified);
|
||||||
painter.setRenderHint(QPainter::Antialiasing, false);
|
painter.setRenderHint(QPainter::Antialiasing, false);
|
||||||
QRectF rect(55, 55, 9, 9);
|
QRectF rect(zoom_box_dimensions / 2 * 8 - 1, zoom_box_dimensions / 2 * 8 - 1, zoom_box_dimensions / 2 + 2, zoom_box_dimensions / 2 + 2);
|
||||||
painter.drawRect(rect);
|
painter.drawRect(rect);
|
||||||
painter.end();
|
painter.end();
|
||||||
|
|
||||||
// TODO: bounds checking?
|
// TODO: bounds checking?
|
||||||
|
|
||||||
this->color = grab.toImage().pixelColor(7 * pixelRatio, 7 * pixelRatio);
|
this->color = grab.toImage().pixelColor(zoom_box_dimensions / 2 * pixelRatio, zoom_box_dimensions / 2 * pixelRatio);
|
||||||
int r = this->color.red();
|
int r = this->color.red();
|
||||||
int g = this->color.green();
|
int g = this->color.green();
|
||||||
int b = this->color.blue();
|
int b = this->color.blue();
|
||||||
|
|
Loading…
Reference in a new issue