blob: e239883632d3e8c7eb5cb6c2b95830fb0bfbe718 (
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
#include <typeinfo>
#include "ThumbRenderRequest.h"
#include "client/GameSave.h"
#include "graphics/Graphics.h"
#include "search/Thumbnail.h"
#include "simulation/SaveRenderer.h"
ThumbRenderRequest::ThumbRenderRequest(GameSave * save, bool decorations, bool fire, int width, int height, ListenerHandle listener):
RequestBroker::Request(ThumbnailRender, listener)
{
Save = save;
Width = width;
Height = height;
Decorations = decorations;
Fire = fire;
}
RequestBroker::ProcessResponse ThumbRenderRequest::Process(RequestBroker & rb)
{
#ifdef DEBUG
std::cout << typeid(*this).name() << " Processing render request" << std::endl;
#endif
Thumbnail * thumbnail = SaveRenderer::Ref().Render(Save, Decorations, Fire);
delete Save;
Save = NULL;
if(thumbnail)
{
thumbnail->Resize(Width, Height);
ResultObject = (void*)thumbnail;
rb.requestComplete((Request*)this);
return RequestBroker::Finished;
}
else
{
return RequestBroker::Failed;
}
return RequestBroker::Failed;
}
ThumbRenderRequest::~ThumbRenderRequest()
{
if(Save)
delete Save;
}
void ThumbRenderRequest::Cleanup()
{
Request::Cleanup();
if(ResultObject)
{
delete ((VideoBuffer*)ResultObject);
ResultObject = NULL;
}
}
|