summaryrefslogtreecommitdiff
path: root/src/search/Thumbnail.h
blob: 6311a23bd8bd7c046e107b6144987d00680a2754 (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
#ifndef THUMBNAIL_H
#define THUMBNAIL_H

#include <iostream>
#include "Graphics.h"
#include "interface/Point.h"

class Thumbnail
{
public:
	Thumbnail(const Thumbnail & thumb):
		ID(thumb.ID),
		Datestamp(thumb.Datestamp),
		Data(thumb.Data),
		Size(thumb.Size)
	{
		//Ensure the actual thumbnail data is copied
		if(thumb.Data)
		{
			Data = (pixel *)malloc((thumb.Size.X*thumb.Size.Y) * PIXELSIZE);
			memcpy(Data, thumb.Data, (thumb.Size.X*thumb.Size.Y) * PIXELSIZE);
		}
		else
		{
			Data = NULL;
		}
	}

	Thumbnail(int _id, int _datestamp, pixel * _data, ui::Point _size):
		ID(_id),
		Datestamp(_datestamp),
		Data(_data),
		Size(_size)
	{
	}

	~Thumbnail()
	{
		if(Data)
		{
			free(Data);
		}
	}

	int ID, Datestamp;
	ui::Point Size;
	pixel * Data;
};

#endif // THUMBNAIL_H