• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • krita API Reference
  • KDE Home
  • Contact Us
 

KritaWidgets

  • sources
  • kfour-appscomplete
  • krita
  • libs
  • widgets
KoColorPatch.cpp
Go to the documentation of this file.
1 
6 #include "KoColorPatch.h"
7 
8 #include <QPainter>
9 
10 KoColorPatch::KoColorPatch( QWidget *parent ) : QFrame( parent )
11 {
12  m_displayRenderer = KoDumbColorDisplayRenderer::instance();
13  connect(m_displayRenderer, SIGNAL(displayConfigurationChanged()),
14  SLOT(update()), Qt::UniqueConnection);
15  setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
16 }
17 
18 KoColorPatch::~KoColorPatch()
19 {
20 }
21 
22 QSize KoColorPatch::sizeHint() const
23 {
24  return QSize(12,12);
25 }
26 
27 void KoColorPatch::setColor(const KoColor& c)
28 {
29  m_color = c;
30 
31  update();
32 }
33 void KoColorPatch::setDisplayRenderer(const KoColorDisplayRendererInterface *displayRenderer)
34 {
35  if (displayRenderer) {
36  if (m_displayRenderer) {
37  m_displayRenderer->disconnect(this);
38  }
39  m_displayRenderer = displayRenderer;
40  } else {
41  m_displayRenderer = KoDumbColorDisplayRenderer::instance();
42  }
43  connect(m_displayRenderer, SIGNAL(displayConfigurationChanged()),
44  SLOT(update()), Qt::UniqueConnection);
45 
46 }
47 
48 QColor KoColorPatch::getColorFromDisplayRenderer(KoColor c)
49 {
50  QColor col;
51  if (m_displayRenderer) {
52  c.convertTo(m_displayRenderer->getPaintingColorSpace());
53  col = m_displayRenderer->toQColor(c);
54  } else {
55  col = c.toQColor();
56  }
57  return col;
58 }
59 
60 KoColor KoColorPatch::color() const
61 {
62  return m_color;
63 }
64 
65 void KoColorPatch::mousePressEvent (QMouseEvent *e )
66 {
67  Q_UNUSED( e );
68 
69  emit triggered(this);
70 }
71 
72 void KoColorPatch::paintEvent(QPaintEvent *pe)
73 {
74  QColor qc = getColorFromDisplayRenderer(m_color);
75  QFrame::paintEvent(pe);
76  QPainter painter( this );
77  painter.setPen(QPen(qc, 0));
78  painter.setBrush(QBrush(qc));
79  painter.drawRect(contentsRect());
80 }
KoColorPatch::mousePressEvent
void mousePressEvent(QMouseEvent *e) override
reimplemented from QFrame
Definition: KoColorPatch.cpp:65
QColor
QPainter::setPen
void setPen(const QColor &color)
QFrame
QWidget::setSizePolicy
void setSizePolicy(QSizePolicy)
KoColorPatch::paintEvent
void paintEvent(QPaintEvent *e) override
reimplemented from QFrame
Definition: KoColorPatch.cpp:72
QPainter::drawRect
void drawRect(const QRectF &rectangle)
QWidget::update
void update()
QWidget
QSize
QPainter
QObject::connect
bool connect(const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
KoColorPatch::setColor
void setColor(const KoColor &c)
Set the color of this color patch.
Definition: KoColorPatch.cpp:27
QPen
QMouseEvent
KoColorPatch::setDisplayRenderer
void setDisplayRenderer(const KoColorDisplayRendererInterface *displayRenderer)
setDisplayRenderer Set the display renderer of this object.
Definition: KoColorPatch.cpp:33
KoColorPatch::triggered
void triggered(KoColorPatch *widget)
Emitted when the mouse is released.
KoColorPatch::~KoColorPatch
~KoColorPatch() override
Definition: KoColorPatch.cpp:18
KoColorPatch::KoColorPatch
KoColorPatch(QWidget *parent)
SPDX-FileCopyrightText: 2006 C.
Definition: KoColorPatch.cpp:10
QBrush
QPainter::setBrush
void setBrush(const QBrush &brush)
KoColorPatch::sizeHint
QSize sizeHint() const override
reimplemented from QFrame
Definition: KoColorPatch.cpp:22
QFrame::paintEvent
virtual void paintEvent(QPaintEvent *)
QPaintEvent
QColor::convertTo
QColor convertTo(Spec colorSpec) const
KoColorPatch::getColorFromDisplayRenderer
QColor getColorFromDisplayRenderer(KoColor c)
getColorFromDisplayRenderer Get QColor from the display renderers
Definition: KoColorPatch.cpp:48
KoColorPatch.h
QWidget::contentsRect
QRect contentsRect() const
KoColorPatch::color
KoColor color() const
Definition: KoColorPatch.cpp:60
This file is part of the KDE documentation.
Documentation copyright © 1996-2021 The KDE developers.
Generated on Sat Jan 23 2021 11:48:22 by doxygen 1.8.16 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

KritaWidgets

Skip menu "KritaWidgets"
  • Main Page
  • Namespace List
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

krita API Reference

Skip menu "krita API Reference"
  • libs
  •   KritaBasicFlakes
  •   brush
  •   KritaUndo2
  •   KritaFlake
  •   image
  •   KritaPlugin
  •   Krita
  •   KritaPigment
  •   KritaResources
  •   KritaStore
  •   ui
  •   KritaWidgets
  •   KritaWidgetUtils
  • plugins
  •   Assitants
  •   Extensions
  •   Filters
  •   Generators
  •   Formats
  •           src
  •   PaintOps
  •     libpaintop

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal