12#include <fmt/format.h>
14#include <boost/thread.hpp>
29 using Ptr = std::shared_ptr<TileViewState>;
30 using WeakPtr = std::weak_ptr<TileViewState>;
44 std::shared_ptr<CompressedTile>
parent;
52 std::weak_ptr<TiledBitmapViewData>
tbvd;
104 static constexpr auto parse(format_parse_context& ctx) {
return ctx.begin(); }
105 template <
typename Context>
111 return format_to(ctx.out(),
"INIT");
113 return format_to(ctx.out(),
"LOADED");
115 return format_to(ctx.out(),
"COMPUTING_BASE");
117 return format_to(ctx.out(),
"BASE_COMPUTED");
119 return format_to(ctx.out(),
"COMPUTING_ZOOM");
121 return format_to(ctx.out(),
"ZOOM_COMPUTED");
123 return format_to(ctx.out(),
"DONE");
126 return format_to(ctx.out(),
"UNKNOWN");
std::shared_ptr< ConstTile > Ptr
Definition tile.hh:45
std::shared_ptr< LayerOperations > Ptr
Definition tiledbitmapinterface.hh:51
Definition observable.hh:71
std::shared_ptr< Queue > Ptr
Definition threadpool.hh:78
std::shared_ptr< WeakQueue > Ptr
Definition threadpool.hh:133
std::shared_ptr< ThreadPool > Ptr
Definition threadpool.hh:165
Definition tiledbitmaplayer.hh:80
Definition tileviewstate.hh:27
boost::mutex mut
Definition tileviewstate.hh:45
void setZoom(LayerOperations::Ptr lo, int zoom)
Definition tileviewstate.cc:83
State state
Definition tileviewstate.hh:46
State
Definition tileviewstate.hh:33
@ INIT
Definition tileviewstate.hh:34
@ ZOOM_COMPUTED
Definition tileviewstate.hh:39
@ BASE_COMPUTED
Definition tileviewstate.hh:37
@ DONE
Definition tileviewstate.hh:40
@ LOADED
Definition tileviewstate.hh:35
@ COMPUTING_BASE
Definition tileviewstate.hh:36
@ COMPUTING_ZOOM
Definition tileviewstate.hh:38
void reportDone(const ThreadPool::WeakQueue::Ptr &wq, const ConstTile::Ptr &tile)
Definition tileviewstate.cc:225
std::weak_ptr< TiledBitmapViewData > tbvd
Definition tileviewstate.hh:52
ThreadPool::Queue::Ptr queue
Definition tileviewstate.hh:48
ThreadPool::WeakQueue::Ptr weakQueue
Definition tileviewstate.hh:49
State desiredState
Definition tileviewstate.hh:47
TileViewState operator=(TileViewState &&)=delete
Scroom::Utils::Stuff getCacheResult()
Definition tileviewstate.cc:59
TileViewState operator=(const TileViewState &)=delete
void clear()
Definition tileviewstate.cc:233
ThreadPool::Ptr cpuBound
Definition tileviewstate.hh:58
void tileLoaded(ConstTile::Ptr tile) override
Definition tileviewstate.cc:41
Scroom::Utils::StuffWeak lifeTimeManager
Definition tileviewstate.hh:55
TileViewState(const TileViewState &)=delete
void process(const ThreadPool::WeakQueue::Ptr &wq)
Definition tileviewstate.cc:131
ConstTile::Ptr tile
Definition tileviewstate.hh:51
Scroom::Utils::Stuff r
Definition tileviewstate.hh:50
Scroom::Utils::Stuff baseCache
Definition tileviewstate.hh:56
static Ptr create(const std::shared_ptr< CompressedTile > &parent)
Definition tileviewstate.cc:26
void computeZoom(const ThreadPool::WeakQueue::Ptr &wq, const ConstTile::Ptr &tile, const LayerOperations::Ptr &lo, Scroom::Utils::Stuff baseCache, int zoom)
Definition tileviewstate.cc:206
std::shared_ptr< TileViewState > Ptr
Definition tileviewstate.hh:29
std::weak_ptr< TileViewState > WeakPtr
Definition tileviewstate.hh:30
void setViewData(const std::shared_ptr< TiledBitmapViewData > &tbvd)
Definition tileviewstate.cc:65
std::shared_ptr< CompressedTile > parent
Definition tileviewstate.hh:44
void kick()
Definition tileviewstate.cc:111
Scroom::Utils::Stuff zoomCache
Definition tileviewstate.hh:57
~TileViewState() override
Definition tileviewstate.cc:24
LayerOperations::Ptr lo
Definition tileviewstate.hh:53
int zoom
Definition tileviewstate.hh:54
void computeBase(const ThreadPool::WeakQueue::Ptr &wq, const ConstTile::Ptr &tile_, const LayerOperations::Ptr &lo_)
Definition tileviewstate.cc:188
TileViewState(TileViewState &&)=delete
Definition tiledbitmapviewdata.hh:23
std::shared_ptr< void > Stuff
Definition stuff.hh:17
std::weak_ptr< void > StuffWeak
Definition stuff.hh:18