blob: 0763dba46c6f06f67972dc6af11ad59e07bb474f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
#pragma once
#include <mutex>
extern "C" {
#include "mupdf/fitz.h"
}
#define MAX_DISPLAY_CACHE_SIZE 3
typedef struct cache_entry_s cache_entry_t;
struct cache_entry_s
{
fz_display_list *dlist;
cache_entry_t *next;
cache_entry_t *prev;
int index;
};
class Cache
{
private:
int size;
cache_entry_t *head;
cache_entry_t *tail;
std::mutex cache_lock;
public:
Cache(void);
~Cache(void);
fz_display_list* UseEntry(int value, fz_context *mu_ctx);
void AddEntry(int value, fz_display_list *dlist, fz_context *mu_ctx);
void Empty(fz_context *mu_ctx);
};
|