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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
//========================================================================
//
// TileCompositor.h
//
// Copyright 2014 Glyph & Cog, LLC
//
//========================================================================
#ifndef TILECOMPOSITOR_H
#define TILECOMPOSITOR_H
#include <aconf.h>
#ifdef USE_GCC_PRAGMAS
#pragma interface
#endif
#include "SplashTypes.h"
class GList;
class SplashBitmap;
class DisplayState;
class TileCache;
//------------------------------------------------------------------------
class TileCompositor {
public:
TileCompositor(DisplayState *stateA,
TileMap *tileMapA, TileCache *tileCacheA);
~TileCompositor();
// Returns the window bitmap. The returned bitmap is owned by the
// TileCompositor object (and may be reused) -- the caller should
// not modify or free it. If <finished> is is non-NULL, *<finished>
// will be set to true if all of the needed tiles are finished,
// i.e., if the returned bitmap is complete.
SplashBitmap *getBitmap(GBool *finished);
void paperColorChanged();
void matteColorChanged();
void selectColorChanged();
void reverseVideoChanged();
void docChanged();
void windowSizeChanged();
void displayModeChanged();
void zoomChanged();
void rotateChanged();
void scrollPositionChanged();
void selectionChanged();
void regionsChanged();
void optionalContentChanged();
void forceRedraw();
private:
void clearBitmap();
void blit(SplashBitmap *srcBitmap, int xSrc, int ySrc,
SplashBitmap *destBitmap, int xDest, int yDest,
int w, int h, GBool compositeWithPaper);
void fill(int xDest, int yDest, int w, int h,
SplashColorPtr color);
void drawSelection();
void applySelection(int xDest, int yDest, int w, int h,
SplashColorPtr color);
DisplayState *state;
TileMap *tileMap;
TileCache *tileCache;
SplashBitmap *bitmap;
GBool bitmapValid;
};
#endif
|