Class IChannelDisplaySetting#

Class Documentation#

class IChannelDisplaySetting#

The display-settings for a channel.

Public Functions

virtual bool GetIsEnabled() const = 0#

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.

virtual float GetWeight() const = 0#

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

Returns:

The weight.

virtual bool TryGetTintingColorRgb8(libCZI::Rgb8Color *pColor) const = 0#

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

Parameters:

pColor[out] If 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).

virtual void GetBlackWhitePoint(float *pBlack, float *pWhite) const = 0#

Gets the black point and the white point.

Parameters:
  • pBlack[out] If non-null, the black point will be returned.

  • pWhite[out] If non-null, the white point will be returned.

virtual IDisplaySettings::GradationCurveMode GetGradationCurveMode() const = 0#

Gets gradation curve mode.

Returns:

The gradation curve mode.

virtual bool TryGetGamma(float *gamma) const = 0#

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

Parameters:

gamma[out] If 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.

virtual bool TryGetSplineControlPoints(std::vector<libCZI::IDisplaySettings::SplineControlPoint> *ctrlPts) const = 0#

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

Remark

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:

ctrlPts[inout] If non-null, the control points will be written to this vector.

Returns:

True if it succeeds, false if it fails.

virtual bool TryGetSplineData(std::vector<libCZI::IDisplaySettings::SplineData> *data) const = 0#

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

Parameters:

data[inout] If non-null, the spline data will be written to this vector.

Returns:

True if the corresponding channels uses gradation curve mode Spline, false otherwise.

virtual ~IChannelDisplaySetting() = default#

Public Static Functions

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

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

Parameters:
  • disp – The channel-display-settings object.

  • pod[inout] The POD-channel-display-settings object to store the information in.