HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
OCIO_NAMESPACE::MixingSlider Class Referenceabstract

#include <OpenColorAppHelpers.h>

Public Member Functions

virtual void setSliderMinEdge (float sliderMixingMinEdge) noexcept=0
 Set the minimum edge of a UI slider for conversion to mixing space. More...
 
virtual float getSliderMinEdge () const noexcept=0
 Minimum edge of a UI slider for conversion to mixing space. More...
 
virtual void setSliderMaxEdge (float sliderMixingMaxEdge) noexcept=0
 Set the maximum edge of a UI slider for conversion to mixing space. More...
 
virtual float getSliderMaxEdge () const noexcept=0
 Maximum edge of a UI slider for conversion to mixing space. More...
 
virtual float sliderToMixing (float sliderUnits) const noexcept=0
 Convert from units in distance along the slider to mixing space units. More...
 
virtual float mixingToSlider (float mixingUnits) const noexcept=0
 Convert from mixing space units to distance along the slider. More...
 
 MixingSlider (const MixingSlider &)=delete
 
MixingSlideroperator= (const MixingSlider &)=delete
 
virtual ~MixingSlider ()=default
 Do not use (needed only for pybind11). More...
 

Protected Member Functions

 MixingSlider ()=default
 

Detailed Description

The MixingSlider and MixingColorSpaceManager classes are to help applications implement correct color pickers. The term "color mixing" is used here to describe what is done in a typical application "color picker" user interface.

A user may want to mix colors in different color spaces. The two most common mixing space options are a scene-linear working space or the display space.

Since scene-linear color spaces are not perceptually uniform, it is necessary to compensate UI widgets such as sliders. For example, it is nice if mid-gray falls near the center of mixing controls rather than way over near the black end. This may be done by using a mapping from linear into an approximately perceptually uniform space.

Also note that a color picking/mixing UI may want to present a given color space in several different encodings. The most common two encodings for color mixing are RGB and HSV.

Note that these helpers anticipate that a user may want to mix colors using values that extend outside the typical [0,1] domain.

Definition at line 442 of file OpenColorAppHelpers.h.

Constructor & Destructor Documentation

OCIO_NAMESPACE::MixingSlider::MixingSlider ( const MixingSlider )
delete
virtual OCIO_NAMESPACE::MixingSlider::~MixingSlider ( )
virtualdefault

Do not use (needed only for pybind11).

OCIO_NAMESPACE::MixingSlider::MixingSlider ( )
protecteddefault

Member Function Documentation

virtual float OCIO_NAMESPACE::MixingSlider::getSliderMaxEdge ( ) const
pure virtualnoexcept

Maximum edge of a UI slider for conversion to mixing space.

virtual float OCIO_NAMESPACE::MixingSlider::getSliderMinEdge ( ) const
pure virtualnoexcept

Minimum edge of a UI slider for conversion to mixing space.

virtual float OCIO_NAMESPACE::MixingSlider::mixingToSlider ( float  mixingUnits) const
pure virtualnoexcept

Convert from mixing space units to distance along the slider.

MixingSlider& OCIO_NAMESPACE::MixingSlider::operator= ( const MixingSlider )
delete
virtual void OCIO_NAMESPACE::MixingSlider::setSliderMaxEdge ( float  sliderMixingMaxEdge)
pure virtualnoexcept

Set the maximum edge of a UI slider for conversion to mixing space.

virtual void OCIO_NAMESPACE::MixingSlider::setSliderMinEdge ( float  sliderMixingMinEdge)
pure virtualnoexcept

Set the minimum edge of a UI slider for conversion to mixing space.

virtual float OCIO_NAMESPACE::MixingSlider::sliderToMixing ( float  sliderUnits) const
pure virtualnoexcept

Convert from units in distance along the slider to mixing space units.


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