120 d->painter.setOpacity(1.0);
121 d->painter.setPen(qRgb(255, 255, 255));
126 font.setPointSize(6);
127 d->painter.setFont(font);
129 for (
int y = 1; y <= 9; y += 1)
132 int xstart = (y * (
d->pxcols - 1)) / 10;
133 int ystart = (y * (
d->pxrows - 1)) / 10;
135 QTextStream(&s) << y;
139 QTextStream(&s) << 10 - y;
144 d->painter.setPen(qRgb(128, 128, 128));
145 d->painter.setOpacity(0.5);
147 for (
int y = 1; y <= 9; y += 1)
149 int xstart = (y * (
d->pxcols - 1)) / 10;
150 int ystart = (y * (
d->pxrows - 1)) / 10;
155 d->painter.setOpacity(1.0);
156 d->painter.setOpacity(1.0);
161 d->needUpdatePixmap =
false;
162 d->pixmap = QPixmap(size() * devicePixelRatioF());
163 d->pixmap.setDevicePixelRatio(devicePixelRatioF());
164 d->curvemap = QPixmap(size() * devicePixelRatioF());
165 d->curvemap.setDevicePixelRatio(devicePixelRatioF());
166 d->pixmap.fill(Qt::black);
167 d->curvemap.fill(Qt::transparent);
169 d->painter.begin(&
d->pixmap);
172 static_cast<int>(
d->pixmap.width() /
d->pixmap.devicePixelRatioF());
174 static_cast<int>(
d->pixmap.height() /
d->pixmap.devicePixelRatioF());
176 d->gridside = (qMin(pixcols, pixrows)) / 512.0;
179 d->pxcols = pixcols -
d->xBias;
180 d->pxrows = pixrows -
d->yBias;
182 d->painter.setBackground(QBrush(qRgb(0, 0, 0)));
185 d->painter.setRenderHint(QPainter::Antialiasing);
186 if (
d->TRCGray &&
d->ToneCurveGray.size()>0){
188 start =
d->ToneCurveGray.at(0);
191 foreach (QPointF Point,
d->ToneCurveGray) {
195 d->painter.setPen(qRgb(255, 255, 255));
196 d->painter.drawPath(path);
197 }
else if (
d->TRCRGB &&
d->ToneCurveRed.size()>0 &&
d->ToneCurveGreen.size()>0 &&
d->ToneCurveBlue.size()>0){
199 d->painter.setCompositionMode(QPainter::CompositionMode_Screen);
201 start =
d->ToneCurveRed.at(0);
204 foreach (QPointF Point,
d->ToneCurveRed) {
208 d->painter.setPen(qRgb(255, 0, 0));
209 d->painter.drawPath(path);
211 start =
d->ToneCurveGreen.at(0);
214 foreach (QPointF Point,
d->ToneCurveGreen) {
218 d->painter.setPen(qRgb(0, 255, 0));
219 d->painter.drawPath(path2);
221 start =
d->ToneCurveBlue.at(0);
224 foreach (QPointF Point,
d->ToneCurveBlue) {
228 d->painter.setPen(qRgb(0, 0, 255));
229 d->painter.drawPath(path3);
230 d->painter.restore();
232 d->painter2.begin(&
d->curvemap);
233 d->painter2.setRenderHint(QPainter::Antialiasing);
236 start =
d->ToneCurveRed.at(0);
239 foreach (QPointF Point,
d->ToneCurveRed) {
243 d->painter2.setPen(qRgb(0, 255, 255));
244 d->painter2.drawPath(path);
246 start =
d->ToneCurveGreen.at(0);
249 foreach (QPointF Point,
d->ToneCurveGreen) {
253 d->painter2.setPen(qRgb(255, 0, 255));
254 d->painter2.drawPath(path2);
256 start =
d->ToneCurveBlue.at(0);
259 foreach (QPointF Point,
d->ToneCurveBlue) {
263 d->painter2.setPen(qRgb(255, 255, 0));
264 d->painter2.drawPath(path3);
266 start =
d->ToneCurveGray.at(0);
269 foreach (QPointF Point,
d->ToneCurveGray) {
273 d->painter2.setPen(qRgb(80, 80, 80));
274 d->painter2.drawPath(path4);
276 d->painter.drawPixmap(
d->xBias, 0,
d->curvemap);
289 p.fillRect(0, 0, width(), height(),
290 palette().color(QPalette::Disabled, QPalette::Window));
292 QPen pen(
palette().color(QPalette::Disabled, QPalette::WindowText));
293 pen.setStyle(Qt::SolidLine);
297 p.drawRect(0, 0, width(), height());
305 if (!
d->profileDataAvailable)
307 p.fillRect(0, 0, width(), height(),
palette().color(QPalette::Active, QPalette::Window));
308 QPen pen(
palette().color(QPalette::Active, QPalette::Text));
309 pen.setStyle(Qt::SolidLine);
313 p.drawRect(0, 0, width(), height());
316 p.drawText(0, 0, width(), height(), Qt::AlignCenter,
317 i18n(
"No tone curve available..."));
323 if (
d->needUpdatePixmap)
329 p.drawPixmap(0, 0,
d->pixmap);