Scroom 0.14-49-gb7ae7a6d
Loading...
Searching...
No Matches
tile.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#include <utility>
12
13#include <scroom/global.hh>
14#include <scroom/memoryblobs.hh>
15
16class Tile
17{
18public:
19 using Ptr = std::shared_ptr<Tile>;
20 using WeakPtr = std::weak_ptr<Tile>;
21
22 int width;
23 int height;
24 int bpp;
26
27public:
28 Tile(int width_, int height_, int bpp_, Scroom::MemoryBlobs::RawPageData::Ptr data_)
29 : width(width_)
30 , height(height_)
31 , bpp(bpp_)
32 , data(std::move(data_))
33 {
34 }
35
37 {
38 return std::make_shared<Tile>(width, height, bpp, std::move(data));
39 }
40};
41
43{
44public:
45 using Ptr = std::shared_ptr<ConstTile>;
46 using WeakPtr = std::weak_ptr<ConstTile>;
47
48 int width;
49 int height;
50 int bpp;
52
53public:
54 ConstTile(int width_, int height_, int bpp_, Scroom::MemoryBlobs::RawPageData::ConstPtr data_)
55 : width(width_)
56 , height(height_)
57 , bpp(bpp_)
58 , data(std::move(data_))
59 {
60 }
61
63 {
64 return std::make_shared<ConstTile>(width, height, bpp, std::move(data));
65 }
66};
Definition tile.hh:43
Scroom::MemoryBlobs::RawPageData::ConstPtr data
Definition tile.hh:51
ConstTile(int width_, int height_, int bpp_, Scroom::MemoryBlobs::RawPageData::ConstPtr data_)
Definition tile.hh:54
static ConstTile::Ptr create(int width, int height, int bpp, Scroom::MemoryBlobs::RawPageData::ConstPtr data)
Definition tile.hh:62
int width
Definition tile.hh:48
std::weak_ptr< ConstTile > WeakPtr
Definition tile.hh:46
int bpp
Definition tile.hh:50
int height
Definition tile.hh:49
std::shared_ptr< ConstTile > Ptr
Definition tile.hh:45
Definition tile.hh:17
Scroom::MemoryBlobs::RawPageData::Ptr data
Definition tile.hh:25
int height
Definition tile.hh:23
std::shared_ptr< Tile > Ptr
Definition tile.hh:19
std::weak_ptr< Tile > WeakPtr
Definition tile.hh:20
static Tile::Ptr create(int width, int height, int bpp, Scroom::MemoryBlobs::RawPageData::Ptr data)
Definition tile.hh:36
int bpp
Definition tile.hh:24
Tile(int width_, int height_, int bpp_, Scroom::MemoryBlobs::RawPageData::Ptr data_)
Definition tile.hh:28
int width
Definition tile.hh:22
std::shared_ptr< const uint8_t > ConstPtr
Definition memoryblobs.hh:27
std::shared_ptr< uint8_t > Ptr
Definition memoryblobs.hh:26
STL namespace.