Scroom  0.14
Scroom::TiledBitmap::LayerSpecForBitmapper Class Reference
Collaboration diagram for Scroom::TiledBitmap::LayerSpecForBitmapper:
Collaboration graph

Public Types

using Ptr = boost::shared_ptr< LayerSpecForBitmapper >
 

Public Member Functions

void registerFunction (const LayerSpecForBitmapFunc &f)
 
LayerSpecResult get (const BitmapMetaData &bmd)
 

Static Public Member Functions

static Ptr instance ()
 

Private Member Functions

 LayerSpecForBitmapper ()
 

Private Attributes

std::vector< LayerSpecForBitmapFuncfunctions
 

Member Typedef Documentation

◆ Ptr

Constructor & Destructor Documentation

◆ LayerSpecForBitmapper()

Scroom::TiledBitmap::LayerSpecForBitmapper::LayerSpecForBitmapper ( )
inlineprivate
Here is the call graph for this function:

Member Function Documentation

◆ get()

LayerSpecResult Scroom::TiledBitmap::LayerSpecForBitmapper::get ( const BitmapMetaData bmd)
inline
79  {
80  LayerSpecResult ls;
81 
82  // Later registered functions override earlier ones
83  for(const auto& f: boost::adaptors::reverse(functions))
84  {
85  if(!std::get<0>(ls).empty())
86  {
87  break;
88  }
89 
90  ls = f(bmd);
91  }
92 
93  return ls;
94  }

◆ instance()

static Ptr Scroom::TiledBitmap::LayerSpecForBitmapper::instance ( )
inlinestatic
71  {
72  static Ptr const lsfb(new LayerSpecForBitmapper);
73  return lsfb;
74  }

Referenced by Scroom::TiledBitmap::LayerSpecForBitmap().

Here is the caller graph for this function:

◆ registerFunction()

void Scroom::TiledBitmap::LayerSpecForBitmapper::registerFunction ( const LayerSpecForBitmapFunc f)
inline
76 { functions.push_back(f); }

Member Data Documentation

◆ functions

std::vector<LayerSpecForBitmapFunc> Scroom::TiledBitmap::LayerSpecForBitmapper::functions
private

Referenced by get(), and registerFunction().


The documentation for this class was generated from the following file:
Scroom::TiledBitmap::CMYKBitmap
LayerSpecResult CMYKBitmap(const BitmapMetaData &bmd)
Definition: layerspecforbitmap.cc:126
Scroom::TiledBitmap::GreyscaleBitmap
LayerSpecResult GreyscaleBitmap(const BitmapMetaData &bmd)
Definition: layerspecforbitmap.cc:166
Scroom::TiledBitmap::LayerSpecResult
std::tuple< LayerSpec, ColormapHelperBase::Ptr > LayerSpecResult
Definition: opentiledbitmapinterface.hh:75
Scroom::TiledBitmap::ColormappedBitmap
LayerSpecResult ColormappedBitmap(const BitmapMetaData &bmd)
Definition: layerspecforbitmap.cc:205
Scroom::TiledBitmap::LayerSpecForBitmapper::Ptr
boost::shared_ptr< LayerSpecForBitmapper > Ptr
Definition: layerspecforbitmap.cc:68
Scroom::TiledBitmap::LayerSpecForBitmapper::LayerSpecForBitmapper
LayerSpecForBitmapper()
Definition: layerspecforbitmap.cc:97
Scroom::TiledBitmap::RGBBitmap
LayerSpecResult RGBBitmap(const BitmapMetaData &bmd)
Definition: layerspecforbitmap.cc:107
Scroom::TiledBitmap::LayerSpecForBitmapper::functions
std::vector< LayerSpecForBitmapFunc > functions
Definition: layerspecforbitmap.cc:102