PixelFormatTemplateBase< COMP, PIXELDEPTH, COMPONENTS, COLORSPACE, PIXELFORMATGROUP > Class Template Reference

#include <gfx_image_pixelformat_template.h>

Inheritance diagram for PixelFormatTemplateBase< COMP, PIXELDEPTH, COMPONENTS, COLORSPACE, PIXELFORMATGROUP >:

Detailed Description

template<typename COMP, typename PIXELDEPTH, Int COMPONENTS, typename COLORSPACE, typename PIXELFORMATGROUP>
class maxon::PixelFormatTemplateBase< COMP, PIXELDEPTH, COMPONENTS, COLORSPACE, PIXELFORMATGROUP >

Helper class for implementors of the PixelFormatInterface. e.g. class PixelFormatRGBE : public PixelFormatTemplateBase<PixelFormatRGBE, PixRGBE, 1, ColorSpaces::RGBspace> { MAXON_COMPONENT(); } defines a new pixelformat with the basic functionality defined by this class.

Public Types

using PixelDepth = PIXELDEPTH
 
- Public Types inherited from ComponentWithBase< C, BASE, INTERFACE, INTERFACES >
using PrivateSuper = typename ComponentHelper< BASE, INTERFACE, INTERFACES... >::type
 
using PrivateComponentWithBase = ComponentWithBase
 
using Interface = INTERFACE
 
using PrivateInterface = INTERFACE
 
using Ref = typename INTERFACE::Hxx1::ReferenceClass
 
using ComponentClass = C
 
using _Wrapper = typename ComponentWithBase::template Wrapper< maxon::ComponentWrapper< C > >
 
using PrivateSuperMTable = typename ComponentWithBase::template CombinedMTable< maxon::CombinedMTableRoot >
 
using InterfacesBlock = maxon::InterfacesBlock< INTERFACE, INTERFACES... >
 

Public Member Functions

const MAXON_METHOD PixelFormatGroup & GetPixelFormatGroup () const
 
MAXON_METHOD Int GetChannelCount () const
 
const MAXON_METHOD ChannelOffsetsGetChannelOffsets () const
 
MAXON_METHOD ColorSpace GetColorSpace () const
 
MAXON_METHOD Bool IsIdenticalPixel (const ImageConstBuffer &a, const ImageConstBuffer &b, Int oneTolerance) const
 
- Public Member Functions inherited from ComponentWithBase< C, BASE, INTERFACE, INTERFACES >
ComponentWithBaseoperator= (const typename std::conditional< STD_IS_REPLACEMENT(copy_assignable, PrivateSuper), ComponentWithBase, DummyParamType >::type &src)
 

Static Public Member Functions

static Result< void > ConfigureClass (ClassInterface &cls)
 
static Result< void > DescribeIO (const DataSerializeInterface &stream)
 
- Static Public Member Functions inherited from ComponentWithBase< C, BASE, INTERFACE, INTERFACES >
static C * Get (maxon::ObjectInterface *object)
 
static const C * Get (const ObjectInterface *object)
 
static C * GetNonNull (maxon::ObjectInterface *object)
 
static const C * GetNonNull (const ObjectInterface *object)
 
static C * GetOrNull (ObjectInterface *object)
 
static const C * GetOrNull (const ObjectInterface *object)
 
template<typename... ARGS>
static Result< typename Ref::NonConst > CreateInit (ARGS &&... args)
 
static Int PrivateGetSelfPtrOffset ()
 
static const Class< typename INTERFACE::Hxx1::ReferenceClass > & GetClass ()
 
static const ComponentDescriptorGetDescriptor ()
 
static Bool PrivateConstructMTable (ClassInfo *info, Int offset, void *supervtable)
 
template<typename CLS >
static Result< CLS > PrivateConstructClass (MAXON_SOURCE_LOCATION_DECLARATION, Id &cid)
 
template<typename T >
static Result< T > PrivateCreateInstance (MAXON_SOURCE_LOCATION_DECLARATION, Id &cid)
 

Static Public Attributes

static const Int _channelCount
 
static const Int _bytesPerComponent
 
static const ChannelOffsetHelper< 8 *SIZEOF(PIXELDEPTH), COMPONENTS > _channelOffsets
 

Additional Inherited Members

- Public Attributes inherited from ComponentWithBase< C, BASE, INTERFACE, INTERFACES >
union {
   std::conditional< ComponentWithBase::ADAPTER, const ObjectInterface *, typename ComponentWithBase::SelfPtr >::type   self
 
   SelfPtrBase< typename std::conditional< ComponentWithBase::ADAPTER, INTERFACE, ComponentWithBase >::type::template ReferenceFunctions< RefBaseFunctions< DirectRef< INTERFACE, SuperPointerHandler, SuperPtrComponentInfo< C, ComponentWithBase > > > > >   super
 
}; 
 

Member Typedef Documentation

◆ PixelDepth

using PixelDepth = PIXELDEPTH

Member Function Documentation

◆ ConfigureClass()

static Result<void> ConfigureClass ( ClassInterface cls)
static

◆ GetPixelFormatGroup()

const MAXON_METHOD PixelFormatGroup& GetPixelFormatGroup ( ) const

◆ GetChannelCount()

MAXON_METHOD Int GetChannelCount ( ) const

◆ GetChannelOffsets()

const MAXON_METHOD ChannelOffsets& GetChannelOffsets ( ) const

◆ GetColorSpace()

MAXON_METHOD ColorSpace GetColorSpace ( ) const

◆ IsIdenticalPixel()

MAXON_METHOD Bool IsIdenticalPixel ( const ImageConstBuffer a,
const ImageConstBuffer b,
Int  oneTolerance 
) const

◆ DescribeIO()

static Result<void> DescribeIO ( const DataSerializeInterface stream)
static

Member Data Documentation

◆ _channelCount

const Int _channelCount
static

◆ _bytesPerComponent

const Int _bytesPerComponent
static

◆ _channelOffsets

const ChannelOffsetHelper< 8 *SIZEOF(PIXELDEPTH), COMPONENTS > _channelOffsets
static