Go to the documentation of this file.
13 #include <boost/enable_shared_from_this.hpp>
14 #include <boost/shared_ptr.hpp>
15 #include <boost/thread/mutex.hpp>
34 using Ptr = boost::shared_ptr<TiledBitmap>;
35 using WeakPtr = boost::weak_ptr<TiledBitmap>;
36 using ViewDataMap = std::map<ViewInterface::WeakPtr, TiledBitmapViewData::Ptr>;
#define UNUSED(x)
Definition: unused.hh:10
boost::shared_ptr< PageProvider > Ptr
Definition: memoryblobs.hh:41
std::list< Stuff > StuffList
Definition: stuff.hh:20
void setSource(SourcePresentation::Ptr sp) override
Definition: tiled-bitmap.cc:176
value_type x() const
Definition: rectangle.hh:125
int tileCount
Definition: tiled-bitmap.hh:46
boost::shared_ptr< Layer > Ptr
Definition: tiledbitmaplayer.hh:247
int bitmapWidth
Definition: tiled-bitmap.hh:39
value_type width() const
Definition: rectangle.hh:129
LayerSpec ls
Definition: tiled-bitmap.hh:41
static Ptr create(int bitmapWidth, int bitmapHeight, LayerSpec const &ls)
Definition: tiled-bitmap.cc:70
Scroom::Utils::Stuff scheduleLoadingBitmap(const SourcePresentation::Ptr &sp, const Layer::Ptr &layer, const ProgressInterface::Ptr &progress)
Definition: tiled-bitmap.cc:33
boost::weak_ptr< Viewable > WeakPtr
Definition: presentationinterface.hh:36
int tileFinishedCount
Definition: tiled-bitmap.hh:48
void initialize()
Definition: tiled-bitmap.cc:131
Definition: assertions.hh:14
Scroom::Utils::StuffList registrations
Definition: tiled-bitmap.hh:50
static Ptr createAsync()
Definition: threadpoolimpl.cc:379
void redraw(ViewInterface::Ptr const &vi, cairo_t *cr, Scroom::Utils::Rectangle< double > const &presentationArea, int zoom) override
Definition: tiled-bitmap.cc:201
boost::shared_ptr< ConstTile > Ptr
Definition: tile.hh:47
Scroom::Utils::Rectangle< int > TileAreaForIndex(Scroom::Utils::Point< int > tileIndex)
Definition: tiled-bitmap.cc:62
boost::shared_ptr< TiledBitmapViewData > Ptr
Definition: tiledbitmapviewdata.hh:25
boost::shared_ptr< ProgressInterface > Ptr
Definition: progressinterface.hh:20
Rectangle intersection(const Rectangle &other) const
Definition: rectangle.hh:95
boost::shared_ptr< ViewInterface > Ptr
Definition: viewinterface.hh:193
ThreadPool::Ptr Sequentially()
Definition: threadpoolimpl.cc:459
boost::shared_ptr< SourcePresentation > Ptr
Definition: tiledbitmapinterface.hh:198
boost::mutex tileFinishedMutex
Definition: tiled-bitmap.hh:47
void abort() __attribute__((noreturn))
Definition: assertions.cc:126
std::vector< LayerOperations::Ptr > LayerSpec
Definition: tiledbitmapinterface.hh:190
void clearCaches(ViewInterface::Ptr vi) override
Definition: tiled-bitmap.cc:275
boost::shared_ptr< TileViewState > Ptr
Definition: tileviewstate.hh:27
ViewDataMap viewData
Definition: tiled-bitmap.hh:45
void sync_on_ui_thread(T f)
Definition: gtk-helpers.hh:59
int bitmapHeight
Definition: tiled-bitmap.hh:40
Definition: tiled-bitmap.hh:28
void connect(Layer::Ptr const &layer, Layer::Ptr const &prevLayer, const LayerOperations::Ptr &prevLo)
Definition: tiled-bitmap.cc:141
static Ptr create(const ViewInterface::WeakPtr &viewInterface)
Definition: tiledbitmapviewdata.cc:20
void open(ViewInterface::WeakPtr viewInterface) override
Definition: tiled-bitmap.cc:285
boost::weak_ptr< ViewInterface > WeakPtr
Definition: viewinterface.hh:194
boost::shared_ptr< TiledBitmap > Ptr
Definition: tiled-bitmap.hh:34
static Ptr create(CompressedTile::Ptr targetTile, LayerOperations::Ptr lo)
Definition: layercoordinator.cc:19
std::list< LayerCoordinator::Ptr > coordinators
Definition: tiled-bitmap.hh:43
Definition: utilities.hh:30
boost::shared_ptr< void > on_destruction(F f)
Definition: utilities.hh:75
boost::shared_ptr< void > Stuff
Definition: stuff.hh:18
Scroom::Utils::ProgressInterfaceBroadcaster::Ptr progressBroadcaster
Definition: tiled-bitmap.hh:49
~TiledBitmap() override
Definition: tiled-bitmap.cc:133
TiledBitmapInterface::Ptr createTiledBitmap(int bitmapWidth, int bitmapHeight, LayerSpec const &ls)
Definition: tiled-bitmap.cc:28
std::vector< Layer::Ptr > layers
Definition: tiled-bitmap.hh:42
void tileCreated(const CompressedTile::Ptr &tile) override
Definition: tiled-bitmap.cc:317
value_type getLeft() const
Definition: rectangle.hh:110
std::map< ViewInterface::WeakPtr, TiledBitmapViewData::Ptr > ViewDataMap
Definition: tiled-bitmap.hh:36
boost::mutex viewDataMutex
Definition: tiled-bitmap.hh:44
double pixelSizeFromZoom(int zoom)
Definition: cairo-helpers.cc:112
value_type height() const
Definition: rectangle.hh:131
void drawRectangleContour(cairo_t *cr, Scroom::Utils::Rectangle< double > const &viewArea)
Definition: cairo-helpers.cc:31
boost::shared_ptr< LayerCoordinator > Ptr
Definition: layercoordinator.hh:33
TiledBitmap(const TiledBitmap &)=delete
boost::shared_ptr< CompressedTile > Ptr
Definition: tiledbitmaplayer.hh:108
#define TILESIZE
Definition: tiledbitmaplayer.hh:28
ProgressInterface::Ptr progressInterface()
Definition: tiled-bitmap.hh:96
boost::shared_ptr< LayerOperations > Ptr
Definition: tiledbitmapinterface.hh:53
static void drawTile(cairo_t *cr, const CompressedTile::Ptr &tile, const Scroom::Utils::Rectangle< double > &viewArea)
Definition: tiled-bitmap.cc:183
#define defect_message(m)
Definition: assertions.hh:43
static Ptr create(int depth, int layerWidth, int layerHeight, int bpp, Scroom::MemoryBlobs::PageProvider::Ptr provider)
Definition: layer.cc:98
boost::shared_ptr< TiledBitmapInterface > Ptr
Definition: tiledbitmapinterface.hh:239
std::vector< CompressedTile::Ptr > CompressedTileLine
Definition: tiledbitmaplayer.hh:237
value_type y() const
Definition: rectangle.hh:127
Layer::Ptr getBottomLayer() override
Definition: tiled-bitmap.cc:181
Definition: tiledbitmaplayer.hh:49
boost::shared_ptr< Viewable > Ptr
Definition: presentationinterface.hh:35
boost::shared_ptr< ProgressInterfaceBroadcaster > Ptr
Definition: progressinterfacehelpers.hh:131
void tileFinished(const CompressedTile::Ptr &tile) override
Definition: tiled-bitmap.cc:323
void close(ViewInterface::WeakPtr vi) override
Definition: tiled-bitmap.cc:299
void create(NewPresentationInterface *interface)
Definition: loader.cc:175
TiledBitmap operator=(const TiledBitmap &)=delete
Definition: tiledbitmapinterface.hh:236