libCZI
Reading and Writing CZI documents made easy
libCZI::IChannelDisplaySetting Class Referenceabstract

The display-settings for a channel. More...

#include <libCZI_Metadata.h>

Public Member Functions

virtual bool GetIsEnabled () const =0
 
virtual float GetWeight () const =0
 
virtual bool TryGetTintingColorRgb8 (libCZI::Rgb8Color *pColor) const =0
 
virtual void GetBlackWhitePoint (float *pBlack, float *pWhite) const =0
 
virtual IDisplaySettings::GradationCurveMode GetGradationCurveMode () const =0
 
virtual bool TryGetGamma (float *gamma) const =0
 
virtual bool TryGetSplineControlPoints (std::vector< libCZI::IDisplaySettings::SplineControlPoint > *ctrlPts) const =0
 
virtual bool TryGetSplineData (std::vector< libCZI::IDisplaySettings::SplineData > *data) const =0
 

Static Public Member Functions

static void Clone (const IChannelDisplaySetting *disp, ChannelDisplaySettingsPOD &pod)
 

Detailed Description

The display-settings for a channel.

Member Function Documentation

◆ Clone()

static void libCZI::IChannelDisplaySetting::Clone ( const IChannelDisplaySetting disp,
ChannelDisplaySettingsPOD pod 
)
static

Makes a deep copy of the information in this object and store the information in the POD.

Parameters
dispThe channel-display-settings object.
[in,out]podThe POD-channel-display-settings object to store the information in.

◆ GetBlackWhitePoint()

virtual void libCZI::IChannelDisplaySetting::GetBlackWhitePoint ( float *  pBlack,
float *  pWhite 
) const
pure virtual

Gets the black point and the white point.

Parameters
[out]pBlackIf non-null, the black point will be returned.
[out]pWhiteIf non-null, the white point will be returned.

◆ GetGradationCurveMode()

virtual IDisplaySettings::GradationCurveMode libCZI::IChannelDisplaySetting::GetGradationCurveMode ( ) const
pure virtual

Gets gradation curve mode.

Returns
The gradation curve mode.

◆ GetIsEnabled()

virtual bool libCZI::IChannelDisplaySetting::GetIsEnabled ( ) const
pure virtual

Gets a boolean indicating whether the corresponding channel is 'active' in the multi-channel-composition.

Returns
True if the corresponding channel is 'active', false otherwise.

◆ GetWeight()

virtual float libCZI::IChannelDisplaySetting::GetWeight ( ) const
pure virtual

Gets the weight of the channel (for multi-channel-composition).

Returns
The weight.

◆ TryGetGamma()

virtual bool libCZI::IChannelDisplaySetting::TryGetGamma ( float *  gamma) const
pure virtual

Attempts to get the gamma - this will only be available if gradation curve mode is Gamma.

Parameters
[out]gammaIf non-null and applicable, the gamma will be returned.
Returns
True if the corresponding channel uses gradation curve mode Gamma (and a value for gamma is available), false otherwise.

◆ TryGetSplineControlPoints()

virtual bool libCZI::IChannelDisplaySetting::TryGetSplineControlPoints ( std::vector< libCZI::IDisplaySettings::SplineControlPoint > *  ctrlPts) const
pure virtual

Attempts to get spline control points - this will only be available if gradation curve mode is Spline.

Remarks
We make no promises that both the control-points and the spline-data are always available. It might be plausible that the spline is defined in a different way (different than control-points), so in that case only the "spline-data" would be available. So - be careful is using this interface in a context different thant "CZI-metadata" where it might be the case the 'TryGetSplineControlPoints' will fail but 'TryGetSplineData' might succeed. Maybe better should remove 'TryGetSplineData' from this interface.
Parameters
[in,out]ctrlPtsIf non-null, the control points will be written to this vector.
Returns
True if it succeeds, false if it fails.

◆ TryGetSplineData()

virtual bool libCZI::IChannelDisplaySetting::TryGetSplineData ( std::vector< libCZI::IDisplaySettings::SplineData > *  data) const
pure virtual

Attempts to get the spline data - this will only be available if gradation curve mode is Spline.

Parameters
[in,out]dataIf non-null, the spline data will be written to this vector.
Returns
True if the corresponding channels uses gradation curve mode Spline, false otherwise.

◆ TryGetTintingColorRgb8()

virtual bool libCZI::IChannelDisplaySetting::TryGetTintingColorRgb8 ( libCZI::Rgb8Color pColor) const
pure virtual

Attempts to get the RGB24-tinting color for the corresponding channel. If tinting is not enabled, then this method will return false.

Parameters
[out]pColorIf tinting is enabled for the corresponding channel, then (if non-null) will receive the tinting-color.
Returns
True if tinting is enabled for the corresponding channel (and in this case pColor will be set), false otherwise (and pColor will not be set).

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