Krita Source Code Documentation
Loading...
Searching...
No Matches
KoHistogramProducer Class Referenceabstract

#include <KoHistogramProducer.h>

+ Inheritance diagram for KoHistogramProducer:

Public Member Functions

virtual void addRegionToBin (const quint8 *pixels, const quint8 *selectionMask, quint32 nPixels, const KoColorSpace *colorSpace)=0
 
virtual QList< KoChannelInfo * > channels ()=0
 
virtual void clear ()=0
 
virtual qint32 count ()=0
 
virtual qint32 getBinAt (qint32 channel, qint32 position)=0
 
virtual const KoIDid () const =0
 
 KoHistogramProducer ()
 
virtual qreal maximalZoom () const =0
 
virtual qint32 numberOfBins ()=0
 
virtual qint32 outOfViewLeft (qint32 channel)=0
 
virtual qint32 outOfViewRight (qint32 channel)=0
 
virtual QString positionToString (qreal pos) const =0
 
virtual void setSkipTransparent (bool set)
 
virtual void setSkipUnselected (bool set)
 
virtual void setView (qreal from, qreal width)=0
 
virtual qreal viewFrom () const =0
 
virtual qreal viewWidth () const =0
 
virtual ~KoHistogramProducer ()
 

Protected Attributes

bool m_skipTransparent
 
bool m_skipUnselected
 

Detailed Description

This class is an interface used in the generation of a histogram. It is a container of data, all mathematically interesting things will calculated by an histogram.

The default view will be the entire range each color can be in. And don't let the numberOfBins return anything else then 256 unless you have a very good reason for it.

About the views: a view is a zoom combined with a start level: the entire range of a channel is 0.0 - 1.0: this is the position. Combined with a zoom, we can calculate what part of a channel will fall in a bin. This gives us an interface to that the views that is not dependent of the actual colorspace of the histogram. The 'size' value is the size, again from 0.0 to 1.0 of the displayed range.

For comfort of the GUI, and because it is logical, channels are accessed in the order in which they are found in the channels() method. This is potentially different from the order in which they are internally ordered!

Definition at line 38 of file KoHistogramProducer.h.

Constructor & Destructor Documentation

◆ KoHistogramProducer()

KoHistogramProducer::KoHistogramProducer ( )
inline

Definition at line 41 of file KoHistogramProducer.h.

◆ ~KoHistogramProducer()

virtual KoHistogramProducer::~KoHistogramProducer ( )
inlinevirtual

Definition at line 42 of file KoHistogramProducer.h.

42{}

Member Function Documentation

◆ addRegionToBin()

virtual void KoHistogramProducer::addRegionToBin ( const quint8 * pixels,
const quint8 * selectionMask,
quint32 nPixels,
const KoColorSpace * colorSpace )
pure virtual

Adds the values from the specified array of pixels to the bins – does not reset anything.

Parameters
pixelsA pointer an array of pixeldata in the given colorspace
selectionMaska pointer to an array of bytes, where 0 is unselected and 1-255 is degree of selectedness. The array must be just as long as the array of pixels.
nPixelsThe number of pixels
colorSpacethe colorspace that can decode the pixel data.

Implemented in KoBasicU8HistogramProducer, KoBasicU16HistogramProducer, KoBasicF32HistogramProducer, KoGenericRGBHistogramProducer, and KoGenericLabHistogramProducer.

◆ channels()

virtual QList< KoChannelInfo * > KoHistogramProducer::channels ( )
pure virtual

◆ clear()

virtual void KoHistogramProducer::clear ( )
pure virtual

Clears the data in this producer, but keeps its other settings

Implemented in KoBasicHistogramProducer.

◆ count()

virtual qint32 KoHistogramProducer::count ( )
pure virtual

Implemented in KoBasicHistogramProducer.

◆ getBinAt()

virtual qint32 KoHistogramProducer::getBinAt ( qint32 channel,
qint32 position )
pure virtual

◆ id()

virtual const KoID & KoHistogramProducer::id ( ) const
pure virtual

Implemented in KoBasicHistogramProducer.

◆ maximalZoom()

virtual qreal KoHistogramProducer::maximalZoom ( ) const
pure virtual

◆ numberOfBins()

virtual qint32 KoHistogramProducer::numberOfBins ( )
pure virtual

Implemented in KoBasicHistogramProducer.

◆ outOfViewLeft()

virtual qint32 KoHistogramProducer::outOfViewLeft ( qint32 channel)
pure virtual

◆ outOfViewRight()

virtual qint32 KoHistogramProducer::outOfViewRight ( qint32 channel)
pure virtual

◆ positionToString()

virtual QString KoHistogramProducer::positionToString ( qreal pos) const
pure virtual

◆ setSkipTransparent()

virtual void KoHistogramProducer::setSkipTransparent ( bool set)
inlinevirtual

Definition at line 63 of file KoHistogramProducer.h.

63 {
65 }

◆ setSkipUnselected()

virtual void KoHistogramProducer::setSkipUnselected ( bool set)
inlinevirtual

Definition at line 66 of file KoHistogramProducer.h.

66 {
67 m_skipUnselected = set;
68 }

◆ setView()

virtual void KoHistogramProducer::setView ( qreal from,
qreal width )
pure virtual

Implemented in KoBasicHistogramProducer.

◆ viewFrom()

virtual qreal KoHistogramProducer::viewFrom ( ) const
pure virtual

Implemented in KoBasicHistogramProducer.

◆ viewWidth()

virtual qreal KoHistogramProducer::viewWidth ( ) const
pure virtual

Implemented in KoBasicHistogramProducer.

Member Data Documentation

◆ m_skipTransparent

bool KoHistogramProducer::m_skipTransparent
protected

Definition at line 85 of file KoHistogramProducer.h.

◆ m_skipUnselected

bool KoHistogramProducer::m_skipUnselected
protected

Definition at line 86 of file KoHistogramProducer.h.


The documentation for this class was generated from the following file: