-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathrenderer.cpp
More file actions
69 lines (57 loc) · 1.32 KB
/
Copy pathrenderer.cpp
File metadata and controls
69 lines (57 loc) · 1.32 KB
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
#include "renderer.h"
Renderer::Renderer(QObject *parent)
: QObject(parent)
{
}
Renderer::~Renderer()
{
}
bool Renderer::openImage(const QString& filePath)
{
if(m_image) {
delete m_image;
m_image = 0;
}
m_image = new GigBmpImage;
if(m_image->Open(filePath)) {
reset();
} else {
delete m_image;
m_image = 0;
}
return (m_image!=0);
}
void Renderer::closeImage(void)
{
}
void Renderer::render(TiledImageGraphicsItem* item, int priority)
{
RenderQueueItem queueItem;
queueItem.code = RenderQueueItem::CACHE_SCALED;
queueItem.priority = priority;
queueItem.graphicsItem = item;
m_eventQueue.push(queueItem);
}
QImage Renderer::cachedRawImageOf(TiledImageGraphicsItem* item)
{
QMutexLocker locker(&m_cacheLock);
QImage image;
CacheDataList::iterator it = m_cache.begin();
for(; it!=m_cache.end(); ++it) {
if((*it).item==item) {
image = (*it).image;
break;
}
}
// qDebug() << "search cache out of " << m_cache.size() << " -- > null ? :" << image.isNull();
return image;
}
void Renderer::cacheRawImage(TiledImageGraphicsItem* item)
{
int recachePriority = 10000;
RenderQueueItem queueItem;
queueItem.code = RenderQueueItem::CACHE_RAW;
queueItem.priority = recachePriority;
queueItem.graphicsItem = item;
m_eventQueue.push(queueItem);
}