Scroom 0.14-49-gb7ae7a6d
Loading...
Searching...
No Matches
tiledbitmapviewdata.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 <memory>
11
12#include <gtk/gtk.h>
13
14#include <scroom/bookkeeping.hh>
15#include <scroom/observable.hh>
18
20 : virtual public Scroom::Utils::Base
21 , public TileLoadingObserver
22 , public ProgressInterface
23{
24public:
25 using Ptr = std::shared_ptr<TiledBitmapViewData>;
26
27public:
31
32private:
34 int imin{0};
35 int imax{0};
36 int jmin{0};
37 int jmax{0};
38 int zoom{0};
40
49
57
58 bool redrawPending{false};
59
61 boost::mutex mut;
62
63private:
65
66public:
68
69 void
71 void resetNeededTiles();
73 void clearVolatileStuff();
74
75 // TileLoadingObserver ////////////////////////////////////////////////
76 void tileLoaded(ConstTile::Ptr tile) override;
77
78 // ProgressInterface ///////////////////////////////////////////////////
79 void setIdle() override;
80 void setWaiting(double progress = 0.0) override;
81 void setWorking(double progress) override;
82 void setFinished() override;
83};
std::shared_ptr< ConstTile > Ptr
Definition tile.hh:45
std::shared_ptr< LayerOperations > Ptr
Definition tiledbitmapinterface.hh:52
std::shared_ptr< Layer > Ptr
Definition tiledbitmaplayer.hh:250
Definition progressinterface.hh:18
std::shared_ptr< ProgressInterface > Ptr
Definition progressinterface.hh:20
Definition bookkeeping.hh:50
Definition utilities.hh:34
Definition tiledbitmaplayer.hh:80
Definition tiledbitmapviewdata.hh:23
Scroom::Utils::StuffList stuff
Definition tiledbitmapviewdata.hh:48
void setIdle() override
Definition tiledbitmapviewdata.cc:159
Scroom::Utils::StuffList volatileStuff
Definition tiledbitmapviewdata.hh:56
bool redrawPending
Definition tiledbitmapviewdata.hh:58
void setWorking(double progress) override
Definition tiledbitmapviewdata.cc:163
int imax
Definition tiledbitmapviewdata.hh:35
int jmin
Definition tiledbitmapviewdata.hh:36
ProgressInterface::Ptr progressInterface
Definition tiledbitmapviewdata.hh:29
void tileLoaded(ConstTile::Ptr tile) override
Definition tiledbitmapviewdata.cc:144
ViewInterface::WeakPtr viewInterface
Definition tiledbitmapviewdata.hh:28
void setFinished() override
Definition tiledbitmapviewdata.cc:165
int imin
Definition tiledbitmapviewdata.hh:34
int zoom
Definition tiledbitmapviewdata.hh:38
boost::mutex mut
Definition tiledbitmapviewdata.hh:61
void storeVolatileStuff(const Scroom::Utils::Stuff &stuff)
Definition tiledbitmapviewdata.cc:124
Layer::Ptr layer
Definition tiledbitmapviewdata.hh:33
void clearVolatileStuff()
Definition tiledbitmapviewdata.cc:130
LayerOperations::Ptr layerOperations
Definition tiledbitmapviewdata.hh:39
std::shared_ptr< TiledBitmapViewData > Ptr
Definition tiledbitmapviewdata.hh:25
static Ptr create(const ViewInterface::WeakPtr &viewInterface)
Definition tiledbitmapviewdata.cc:20
void resetNeededTiles()
Definition tiledbitmapviewdata.cc:67
Scroom::Bookkeeping::Token token
Definition tiledbitmapviewdata.hh:30
int jmax
Definition tiledbitmapviewdata.hh:37
void setNeededTiles(Layer::Ptr const &l, int imin, int imax, int jmin, int jmax, int zoom, LayerOperations::Ptr layerOperations)
Definition tiledbitmapviewdata.cc:32
std::weak_ptr< ViewInterface > WeakPtr
Definition viewinterface.hh:194
PageList const l
Definition compression-tests.cc:33
std::shared_ptr< void > Stuff
Definition stuff.hh:17
std::list< Stuff > StuffList
Definition stuff.hh:19
pi setWaiting()
stub progress
Definition progressinterfaceconversion-tests.cc:65