Scroom 0.14-49-gb7ae7a6d
Loading...
Searching...
No Matches
layeroperations.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
11#include <scroom/interface.hh>
14
16{
17public:
18 static void drawPixelValue(cairo_t* cr, int x, int y, int size, int value);
19 static void drawPixelValue(cairo_t* cr, int x, int y, int size, int value, Color const& bgColor);
20
21 void initializeCairo(cairo_t* cr) override;
22 void drawState(cairo_t* cr, TileState s, Scroom::Utils::Rectangle<double> viewArea) override;
23
25 void draw(
26 cairo_t* cr,
27 const ConstTile::Ptr& tile,
30 int zoom,
32 ) override;
33};
34
37 , public CommonOperations
38{
39protected:
40 int bps;
41
42public:
43 using Ptr = std::shared_ptr<PipetteCommonOperationsCMYK>;
44
45public:
46 explicit PipetteCommonOperationsCMYK(int bps_)
47 : bps(bps_) {};
48
50};
51
54 , public CommonOperations
55{
56protected:
57 int bps;
58
59public:
60 using Ptr = std::shared_ptr<PipetteCommonOperationsRGB>;
61
62public:
63 explicit PipetteCommonOperationsRGB(int bps_)
64 : bps(bps_) {};
65
67};
68
70{
71private:
73
74public:
77
78 int getBpp() override;
79 Scroom::Utils::Stuff cache(const ConstTile::Ptr& tile) override;
80 void reduce(Tile::Ptr target, ConstTile::Ptr source, int x, int y) override;
81
82 void draw(
83 cairo_t* cr,
84 const ConstTile::Ptr& tile,
87 int zoom,
89 ) override;
90};
91
93{
94private:
96
97public:
100
101 int getBpp() override;
102 Scroom::Utils::Stuff cache(const ConstTile::Ptr& tile) override;
103 void reduce(Tile::Ptr target, ConstTile::Ptr source, int x, int y) override;
104
105 void draw(
106 cairo_t* cr,
107 const ConstTile::Ptr& tile,
110 int zoom,
112 ) override;
113};
114
116{
117public:
118 static Ptr create();
120
121 int getBpp() override;
122 Scroom::Utils::Stuff cache(const ConstTile::Ptr& tile) override;
123 void reduce(Tile::Ptr target, ConstTile::Ptr source, int x, int y) override;
124};
125
127{
128protected:
130 const unsigned bpp;
131 const unsigned pixelsPerByte;
132 const unsigned pixelOffset;
133 const unsigned pixelMask;
134
135public:
138
140 // LayerOperations
141
142 int getBpp() override;
143 Scroom::Utils::Stuff cache(const ConstTile::Ptr& tile) override;
144 void reduce(Tile::Ptr target, ConstTile::Ptr source, int x, int y) override;
145
146 void draw(
147 cairo_t* cr,
148 const ConstTile::Ptr& tile,
151 int zoom,
153 ) override;
154};
155
157{
158public:
161
162 int getBpp() override;
163 Scroom::Utils::Stuff cache(const ConstTile::Ptr& tile) override;
164 void reduce(Tile::Ptr target, ConstTile::Ptr source, int x, int y) override;
165};
166
168{
169private:
171
172public:
175
176 int getBpp() override;
178
179 void reduce(Tile::Ptr target, ConstTile::Ptr source, int x, int y) override;
180};
181
183{
184public:
185 static Ptr create();
187
188 int getBpp() override;
189 Scroom::Utils::Stuff cache(const ConstTile::Ptr& tile) override;
190 void reduce(Tile::Ptr target, ConstTile::Ptr source, int x, int y) override;
191};
192
194{
195public:
196 static Ptr create();
198
199 int getBpp() override;
200 Scroom::Utils::Stuff cache(const ConstTile::Ptr& tile) override;
201 void reduce(Tile::Ptr target, ConstTile::Ptr source, int x, int y) override;
202};
203
205{
206public:
207 static Ptr create();
209
210 int getBpp() override;
211 Scroom::Utils::Stuff cache(const ConstTile::Ptr& tile) override;
212 void reduce(Tile::Ptr target, ConstTile::Ptr source, int x, int y) override;
213};
214
216{
217public:
218 static Ptr create();
220
221 int getBpp() override;
222 Scroom::Utils::Stuff cache(const ConstTile::Ptr& tile) override;
223 void reduce(Tile::Ptr target, ConstTile::Ptr source, int x, int y) override;
224};
const uint8_t value
Definition blob-tests.cc:114
Definition color.hh:37
std::shared_ptr< ColormapProvider > Ptr
Definition colormappable.hh:147
Definition layeroperations.hh:16
void initializeCairo(cairo_t *cr) override
Definition layeroperations.cc:66
static void drawPixelValue(cairo_t *cr, int x, int y, int size, int value)
Definition layeroperations.cc:96
Scroom::Utils::Stuff cacheZoom(const ConstTile::Ptr &tile, int zoom, Scroom::Utils::Stuff &cache) override
Definition layeroperations.cc:127
void drawState(cairo_t *cr, TileState s, Scroom::Utils::Rectangle< double > viewArea) override
Definition layeroperations.cc:72
void draw(cairo_t *cr, const ConstTile::Ptr &tile, Scroom::Utils::Rectangle< double > tileArea, Scroom::Utils::Rectangle< double > viewArea, int zoom, Scroom::Utils::Stuff cache) override
Definition layeroperations.cc:161
std::shared_ptr< ConstTile > Ptr
Definition tile.hh:45
Definition tiledbitmapinterface.hh:50
virtual Scroom::Utils::Stuff cache(const ConstTile::Ptr &)
Definition tiledbitmapinterface.hh:127
std::shared_ptr< LayerOperations > Ptr
Definition tiledbitmapinterface.hh:52
Definition layeroperations.hh:168
ColormapProvider::Ptr colormapProvider
Definition layeroperations.hh:170
static Ptr create(ColormapProvider::Ptr colormapProvider)
Definition layeroperations.cc:837
Scroom::Utils::Stuff cacheZoom(const ConstTile::Ptr &tile, int zoom, Scroom::Utils::Stuff &cache) override
Definition layeroperations.cc:849
int getBpp() override
Definition layeroperations.cc:847
void reduce(Tile::Ptr target, ConstTile::Ptr source, int x, int y) override
Definition layeroperations.cc:900
Definition layeroperations.hh:70
ColormapProvider::Ptr colormapProvider
Definition layeroperations.hh:72
void reduce(Tile::Ptr target, ConstTile::Ptr source, int x, int y) override
Definition layeroperations.cc:296
void draw(cairo_t *cr, const ConstTile::Ptr &tile, Scroom::Utils::Rectangle< double > tileArea, Scroom::Utils::Rectangle< double > viewArea, int zoom, Scroom::Utils::Stuff cache) override
Definition layeroperations.cc:332
int getBpp() override
Definition layeroperations.cc:272
Scroom::Utils::Stuff cache(const ConstTile::Ptr &tile) override
Definition layeroperations.cc:274
static Ptr create(ColormapProvider::Ptr colormapProvider)
Definition layeroperations.cc:262
Definition layeroperations.hh:116
static Ptr create()
Definition layeroperations.cc:503
Operations24bpp()
Definition layeroperations.cc:505
void reduce(Tile::Ptr target, ConstTile::Ptr source, int x, int y) override
Definition layeroperations.cc:535
int getBpp() override
Definition layeroperations.cc:510
Scroom::Utils::Stuff cache(const ConstTile::Ptr &tile) override
Definition layeroperations.cc:512
Definition layeroperations.hh:93
ColormapProvider::Ptr colormapProvider
Definition layeroperations.hh:95
void draw(cairo_t *cr, const ConstTile::Ptr &tile, Scroom::Utils::Rectangle< double > tileArea, Scroom::Utils::Rectangle< double > viewArea, int zoom, Scroom::Utils::Stuff cache) override
Definition layeroperations.cc:455
int getBpp() override
Definition layeroperations.cc:391
Scroom::Utils::Stuff cache(const ConstTile::Ptr &tile) override
Definition layeroperations.cc:393
void reduce(Tile::Ptr target, ConstTile::Ptr source, int x, int y) override
Definition layeroperations.cc:419
static Ptr create(ColormapProvider::Ptr colormapProvider)
Definition layeroperations.cc:381
Definition layeroperations.hh:194
void reduce(Tile::Ptr target, ConstTile::Ptr source, int x, int y) override
Definition cmyklayeroperations.cc:158
OperationsCMYK16()
Definition cmyklayeroperations.cc:118
int getBpp() override
Definition cmyklayeroperations.cc:123
static Ptr create()
Definition cmyklayeroperations.cc:116
Scroom::Utils::Stuff cache(const ConstTile::Ptr &tile) override
Definition cmyklayeroperations.cc:128
Definition layeroperations.hh:183
void reduce(Tile::Ptr target, ConstTile::Ptr source, int x, int y) override
Definition cmyklayeroperations.cc:65
int getBpp() override
Definition cmyklayeroperations.cc:30
Scroom::Utils::Stuff cache(const ConstTile::Ptr &tile) override
Definition cmyklayeroperations.cc:35
static Ptr create()
Definition cmyklayeroperations.cc:23
OperationsCMYK32()
Definition cmyklayeroperations.cc:25
Definition layeroperations.hh:216
void reduce(Tile::Ptr target, ConstTile::Ptr source, int x, int y) override
Definition cmyklayeroperations.cc:363
static Ptr create()
Definition cmyklayeroperations.cc:299
int getBpp() override
Definition cmyklayeroperations.cc:306
Scroom::Utils::Stuff cache(const ConstTile::Ptr &tile) override
Definition cmyklayeroperations.cc:315
OperationsCMYK4()
Definition cmyklayeroperations.cc:301
Definition layeroperations.hh:205
void reduce(Tile::Ptr target, ConstTile::Ptr source, int x, int y) override
Definition cmyklayeroperations.cc:252
int getBpp() override
Definition cmyklayeroperations.cc:216
Scroom::Utils::Stuff cache(const ConstTile::Ptr &tile) override
Definition cmyklayeroperations.cc:221
OperationsCMYK8()
Definition cmyklayeroperations.cc:211
static Ptr create()
Definition cmyklayeroperations.cc:209
Definition layeroperations.hh:157
int getBpp() override
Definition layeroperations.cc:741
static Ptr create(ColormapProvider::Ptr colormapProvider, int bpp)
Definition layeroperations.cc:731
Scroom::Utils::Stuff cache(const ConstTile::Ptr &tile) override
Definition layeroperations.cc:743
void reduce(Tile::Ptr target, ConstTile::Ptr source, int x, int y) override
Definition layeroperations.cc:769
Definition layeroperations.hh:127
const unsigned bpp
Definition layeroperations.hh:130
const unsigned pixelMask
Definition layeroperations.hh:133
ColormapProvider::Ptr colormapProvider
Definition layeroperations.hh:129
int getBpp() override
Definition layeroperations.cc:593
const unsigned pixelOffset
Definition layeroperations.hh:132
static Ptr create(ColormapProvider::Ptr colormapProvider, int bpp)
Definition layeroperations.cc:579
Scroom::Utils::Stuff cache(const ConstTile::Ptr &tile) override
Definition layeroperations.cc:595
const unsigned pixelsPerByte
Definition layeroperations.hh:131
void reduce(Tile::Ptr target, ConstTile::Ptr source, int x, int y) override
Definition layeroperations.cc:618
void draw(cairo_t *cr, const ConstTile::Ptr &tile, Scroom::Utils::Rectangle< double > tileArea, Scroom::Utils::Rectangle< double > viewArea, int zoom, Scroom::Utils::Stuff cache) override
Definition layeroperations.cc:682
Definition layeroperations.hh:38
int bps
Definition layeroperations.hh:40
std::shared_ptr< PipetteCommonOperationsCMYK > Ptr
Definition layeroperations.hh:43
PipetteCommonOperationsCMYK(int bps_)
Definition layeroperations.hh:46
PipetteLayerOperations::PipetteColor sumPixelValues(Scroom::Utils::Rectangle< int > area, const ConstTile::Ptr &tile) override
Definition layeroperations.cc:207
Definition layeroperations.hh:55
std::shared_ptr< PipetteCommonOperationsRGB > Ptr
Definition layeroperations.hh:60
PipetteCommonOperationsRGB(int bps_)
Definition layeroperations.hh:63
int bps
Definition layeroperations.hh:57
PipetteLayerOperations::PipetteColor sumPixelValues(Scroom::Utils::Rectangle< int > area, const ConstTile::Ptr &tile) override
Definition layeroperations.cc:234
Definition pipettelayeroperations.hh:22
std::vector< std::pair< std::string, double > > PipetteColor
Definition pipettelayeroperations.hh:25
Definition rectangle.hh:29
std::shared_ptr< Tile > Ptr
Definition tile.hh:19
std::shared_ptr< void > Stuff
Definition stuff.hh:17
TileState
Definition tiledbitmapinterface.hh:32
BitmapSurface::Ptr const s
Definition transformpresentation_test.cc:70
cairo_t * cr
Definition transformpresentation_test.cc:72