Grok  7.6.6
TileCache.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2016-2021 Grok Image Compression Inc.
3  *
4  * This source code is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU Affero General Public License, version 3,
6  * as published by the Free Software Foundation.
7  *
8  * This source code is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11  * GNU Affero General Public License for more details.
12  *
13  * You should have received a copy of the GNU Affero General Public License
14  * along with this program. If not, see <http://www.gnu.org/licenses/>.
15  */
16 
17 #pragma once
18 
19 #include <map>
20 
21 namespace grk {
22 
23 struct TileProcessor;
24 class GrkImage;
25 
26 #include "GrkImage.h"
27 
30  explicit TileCacheEntry(TileProcessor *p);
31  explicit TileCacheEntry(GrkImage *img);
34 
37 };
38 
39 class TileCache {
40 public:
42  TileCache(void);
43  virtual ~TileCache();
44 
45  void setStrategy(GRK_TILE_CACHE_STRATEGY strategy);
46  TileCacheEntry* put(uint16_t tileIndex, GrkImage* src_image, grk_tile *src_tile);
47  TileCacheEntry* put(uint16_t tileIndex, TileProcessor *processor);
48  TileCacheEntry* get(uint16_t tileIndex);
50  std::vector<GrkImage*> getAllImages(void);
51 private:
53  std::map<uint32_t, TileCacheEntry*> m_cache;
55 };
56 
57 }
58 
59 
Definition: GrkImage.h:11
Definition: TileCache.h:39
std::vector< GrkImage * > getAllImages(void)
Definition: TileCache.cpp:84
GrkImage * tileComposite
Definition: TileCache.h:52
TileCache(void)
Definition: TileCache.cpp:37
virtual ~TileCache()
Definition: TileCache.cpp:39
GRK_TILE_CACHE_STRATEGY m_strategy
Definition: TileCache.h:54
std::map< uint32_t, TileCacheEntry * > m_cache
Definition: TileCache.h:53
void setStrategy(GRK_TILE_CACHE_STRATEGY strategy)
Definition: TileCache.cpp:77
TileCacheEntry * get(uint16_t tileIndex)
Definition: TileCache.cpp:70
GrkImage * getComposite()
Definition: TileCache.cpp:80
TileCacheEntry * put(uint16_t tileIndex, GrkImage *src_image, grk_tile *src_tile)
Definition: TileCache.cpp:59
GRK_TILE_CACHE_STRATEGY
Definition: grok.h:354
Copyright (C) 2016-2021 Grok Image Compression Inc.
Definition: BitIO.cpp:23
Definition: TileCache.h:28
GrkImage * image
Definition: TileCache.h:36
TileProcessor * processor
Definition: TileCache.h:35
~TileCacheEntry()
Definition: TileCache.cpp:29
TileCacheEntry()
Definition: TileCache.cpp:27
Tile compressor/decompressor.
Definition: TileProcessor.h:70
Definition: TileProcessor.h:37