Scroom 0.14-48-ga0fee447
Loading...
Searching...
No Matches
Tiff Class Reference

#include <tiff.hh>

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

Public Types

using Ptr = std::shared_ptr< Tiff >
 
- Public Types inherited from PluginInformationInterface
using Ptr = std::shared_ptr< PluginInformationInterface >
 
- Public Types inherited from Scroom::TiledBitmap::OpenTiledBitmapInterface
using Ptr = std::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 >
std::shared_ptr< R > shared_from_this ()
 
template<typename R >
std::shared_ptr< R const > shared_from_this () const
 

Static Public Member Functions

static Ptr create ()
 

Private Member Functions

 Tiff ()=default
 

Private Attributes

Scroom::Logger logger
 

Additional Inherited Members

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

Member Typedef Documentation

◆ Ptr

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

Constructor & Destructor Documentation

◆ Tiff()

Tiff::Tiff ( )
privatedefault

Referenced by create().

Here is the caller graph for this function:

Member Function Documentation

◆ create()

Tiff::Ptr Tiff::create ( )
static
21{ return Ptr(new Tiff()); }
Tiff()=default
std::shared_ptr< Tiff > Ptr
Definition tiff.hh:28

Referenced by getPluginInformation().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getFilters()

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

Implements Scroom::TiledBitmap::OpenTiledBitmapInterface.

41{
42 std::list<GtkFileFilter*> result;
43
44 GtkFileFilter* filter = gtk_file_filter_new();
45 gtk_file_filter_set_name(filter, "Tiff files");
46 gtk_file_filter_add_mime_type(filter, "image/tiff");
47 result.push_back(filter);
48
49 return result;
50}
SampleIterator< const uint8_t > result
Definition sampleiterator-tests.cc:94

◆ getPluginName()

std::string Tiff::getPluginName ( )
overridevirtual

Implements PluginInformationInterface.

27{ return "Tiff"; }

◆ getPluginVersion()

std::string Tiff::getPluginVersion ( )
overridevirtual

Implements PluginInformationInterface.

29{ return PACKAGE_VERSION; }

◆ open()

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

Implements Scroom::TiledBitmap::OpenTiledBitmapInterface.

53{
54 auto r = Scroom::Tiff::open(logger, fileName);
55 if(r)
56 {
57 auto bmd = std::get<0>(*r);
58 auto tif = std::get<1>(*r);
59
60 auto layer = Layer::create(bmd.rect.getWidth(), bmd.rect.getHeight(), bmd.bitsPerSample * bmd.samplesPerPixel);
61
62 auto sp = Scroom::Tiff::Source::create(fileName, tif, bmd);
63
64 auto load = [sp, layer](const ProgressInterface::Ptr& pi)
65 { return sp->reset() ? scheduleLoadingBitmap(sp, layer, pi) : Empty(); };
66
67 return {bmd, layer, load};
68 }
69 return {{}, {}, {}};
70}
static Ptr create(int depth, int layerWidth, int layerHeight, int bpp, Scroom::MemoryBlobs::PageProvider::Ptr provider)
Definition layer.cc:101
std::shared_ptr< ProgressInterface > Ptr
Definition progressinterface.hh:20
static Ptr create(std::string fileName, TIFFPtr tif, BitmapMetaData bmd)
Definition tiffsource.cc:225
Scroom::Logger logger
Definition tiff.hh:32
void load(GtkFileFilterInfo const &info)
Definition loader.cc:235
boost::optional< std::tuple< Scroom::TiledBitmap::BitmapMetaData, TIFFPtr > > open(const Scroom::Logger &logger, const std::string &fileName)
Definition tiffsource.cc:120
Scroom::Utils::Stuff scheduleLoadingBitmap(const SourcePresentation::Ptr &sp, const Layer::Ptr &layer, const ProgressInterface::Ptr &progress)
Definition tiled-bitmap.cc:32
Stuff Empty()
Definition stuff.hh:21
ProgressInterface::Ptr const pi
Definition progressinterfaceconversion-tests.cc:23
Scroom::Utils::Rectangle< double > const r
Definition transformpresentation_test.cc:65
Here is the call graph for this function:

◆ registerCapabilities()

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

Implements PluginInformationInterface.

32{
33 host->registerOpenTiledBitmapInterface("Tiff viewer", shared_from_this<Tiff>());
34}

Member Data Documentation

◆ logger

Scroom::Logger Tiff::logger
private

Referenced by open().


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