Scroom  0.14
Tiff Class Reference

#include <tiff.hh>

Inheritance diagram for Tiff:
Inheritance graph
Collaboration diagram for Tiff:
Collaboration graph

Public Types

using Ptr = boost::shared_ptr< Tiff >
 
- Public Types inherited from PluginInformationInterface
using Ptr = boost::shared_ptr< PluginInformationInterface >
 
- Public Types inherited from Scroom::TiledBitmap::OpenTiledBitmapInterface
using Ptr = boost::shared_ptr< OpenTiledBitmapInterface >
 

Public Member Functions

std::string getPluginName () override
 
std::string getPluginVersion () override
 
void registerCapabilities (ScroomPluginInterface::Ptr host) override
 
std::list< GtkFileFilter * > getFilters () override
 
std::tuple< Scroom::TiledBitmap::BitmapMetaData, Layer::Ptr, Scroom::TiledBitmap::ReloadFunctionopen (const std::string &fileName) override
 
- Public Member Functions inherited from PluginInformationInterface
 PluginInformationInterface ()=default
 
- Public Member Functions inherited from Scroom::Utils::Base
 Base ()=default
 
 Base (const Base &)=delete
 
 Base (Base &&)=delete
 
Baseoperator= (const Base &)=delete
 
Baseoperator= (Base &&)=delete
 
virtual ~Base ()=default
 
template<typename R >
boost::shared_ptr< R > shared_from_this ()
 
template<typename R >
boost::shared_ptr< R const > shared_from_this () const
 

Static Public Member Functions

static Ptr create ()
 

Private Member Functions

 Tiff ()=default
 

Additional Inherited Members

- Public Attributes inherited from PluginInformationInterface
const int pluginApiVersion {PLUGIN_API_VERSION}
 

Member Typedef Documentation

◆ Ptr

using Tiff::Ptr = boost::shared_ptr<Tiff>

Constructor & Destructor Documentation

◆ Tiff()

Tiff::Tiff ( )
privatedefault

Member Function Documentation

◆ create()

Tiff::Ptr Tiff::create ( )
static
25 { return Ptr(new Tiff()); }

Referenced by getPluginInformation().

Here is the caller graph for this function:

◆ getFilters()

std::list< GtkFileFilter * > Tiff::getFilters ( )
overridevirtual

Implements Scroom::TiledBitmap::OpenTiledBitmapInterface.

45 {
46  std::list<GtkFileFilter*> result;
47 
48  GtkFileFilter* filter = gtk_file_filter_new();
49  gtk_file_filter_set_name(filter, "Tiff files");
50  gtk_file_filter_add_mime_type(filter, "image/tiff");
51  result.push_back(filter);
52 
53  return result;
54 }

◆ getPluginName()

std::string Tiff::getPluginName ( )
overridevirtual

Implements PluginInformationInterface.

31 { return "Tiff"; }

◆ getPluginVersion()

std::string Tiff::getPluginVersion ( )
overridevirtual

Implements PluginInformationInterface.

33 { return PACKAGE_VERSION; }

◆ open()

std::tuple< BitmapMetaData, Layer::Ptr, ReloadFunction > Tiff::open ( const std::string &  fileName)
overridevirtual

Implements Scroom::TiledBitmap::OpenTiledBitmapInterface.

57 {
58  auto r = Scroom::Tiff::open(fileName);
59  if(r)
60  {
61  auto bmd = std::get<0>(*r);
62  auto tif = std::get<1>(*r);
63 
64  auto layer = Layer::create(bmd.rect.getWidth(), bmd.rect.getHeight(), bmd.bitsPerSample * bmd.samplesPerPixel);
65 
66  auto sp = Scroom::Tiff::Source::create(fileName, tif, bmd);
67 
68  auto load = [sp, layer](const ProgressInterface::Ptr& pi)
69  { return sp->reset() ? scheduleLoadingBitmap(sp, layer, pi) : Empty(); };
70 
71  return {bmd, layer, load};
72  }
73  return {{}, {}, {}};
74 }
Here is the call graph for this function:

◆ registerCapabilities()

void Tiff::registerCapabilities ( ScroomPluginInterface::Ptr  host)
overridevirtual

Implements PluginInformationInterface.

36 {
37  host->registerOpenTiledBitmapInterface("Tiff viewer", shared_from_this<Tiff>());
38 }

The documentation for this class was generated from the following files:
load
void load(GtkFileFilterInfo const &info)
Definition: loader.cc:238
Tiff::Ptr
boost::shared_ptr< Tiff > Ptr
Definition: tiff.hh:27
Scroom::TiledBitmap::scheduleLoadingBitmap
Scroom::Utils::Stuff scheduleLoadingBitmap(const SourcePresentation::Ptr &sp, const Layer::Ptr &layer, const ProgressInterface::Ptr &progress)
Definition: tiled-bitmap.cc:33
Scroom::Utils::Empty
Stuff Empty()
Definition: stuff.hh:22
ProgressInterface::Ptr
boost::shared_ptr< ProgressInterface > Ptr
Definition: progressinterface.hh:20
Scroom::Tiff::Source::create
static Ptr create(std::string fileName, TIFFPtr tif, BitmapMetaData bmd)
Definition: tiffsource.cc:224
Tiff::Tiff
Tiff()=default
Layer::create
static Ptr create(int depth, int layerWidth, int layerHeight, int bpp, Scroom::MemoryBlobs::PageProvider::Ptr provider)
Definition: layer.cc:98
Scroom::Tiff::open
boost::optional< std::tuple< Scroom::TiledBitmap::BitmapMetaData, TIFFPtr > > open(const std::string &fileName)
Definition: tiffsource.cc:119