Scroom 0.14-49-gb7ae7a6d
Loading...
Searching...
No Matches
tiffsource.hh
Go to the documentation of this file.
1/*
2 * Scroom - Generic viewer for 2D data
3 * Copyright (C) 2009-2026 Kees-Jan Dijkzeul
4 *
5 * SPDX-License-Identifier: LGPL-2.1
6 */
7
8#pragma once
9
10#include <list>
11#include <map>
12#include <set>
13#include <string>
14
15#include <tiffio.h>
16
18#include <scroom/logger.hh>
19#include <scroom/observable.hh>
26
27namespace Scroom::Tiff
28{
29 using TIFFPtr = std::shared_ptr<TIFF>;
30
31 using namespace Scroom::TiledBitmap;
32
33 boost::optional<std::tuple<Scroom::TiledBitmap::BitmapMetaData, TIFFPtr>>
34 open(const Scroom::Logger& logger, const std::string& fileName);
35
37 {
38 private:
39 std::string fileName;
44
45 public:
46 using Ptr = std::shared_ptr<Source>;
47
48 static Ptr create(std::string fileName, TIFFPtr tif, BitmapMetaData bmd);
49
50 bool reset();
51
52 // SourcePresentation
53 void fillTiles(int startLine, int lineCount, int tileWidth, int firstTile, std::vector<Tile::Ptr>& tiles) override;
54 void done() override;
55 std::string getName() override { return fileName; }
56
57 private:
59 };
60} // namespace Scroom::Tiff
Definition logger.hh:49
Definition tiffsource.hh:37
static Ptr create(std::string fileName, TIFFPtr tif, BitmapMetaData bmd)
Definition tiffsource.cc:225
std::string fileName
Definition tiffsource.hh:39
TIFFPtr tif
Definition tiffsource.hh:41
BitmapMetaData bmd
Definition tiffsource.hh:42
Scroom::Logger logger
Definition tiffsource.hh:43
bool reset()
Definition tiffsource.cc:237
TIFFPtr preOpenedTif
Definition tiffsource.hh:40
std::string getName() override
Definition tiffsource.hh:55
void done() override
Definition tiffsource.cc:302
void fillTiles(int startLine, int lineCount, int tileWidth, int firstTile, std::vector< Tile::Ptr > &tiles) override
Definition tiffsource.cc:266
std::shared_ptr< Source > Ptr
Definition tiffsource.hh:46
Definition tiledbitmapinterface.hh:190
Definition tiffsource.cc:62
std::shared_ptr< TIFF > TIFFPtr
Definition tiffsource.hh:29
boost::optional< std::tuple< Scroom::TiledBitmap::BitmapMetaData, TIFFPtr > > open(const Scroom::Logger &logger, const std::string &fileName)
Definition tiffsource.cc:120
Definition opentiledbitmapinterface.hh:23
Definition opentiledbitmapinterface.hh:43