aboutsummaryrefslogtreecommitdiff
path: root/src/libjin/graphics/image.h
blob: 7fc413518db2e4540972632c774e67069fd3a38f (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
#ifndef __JE_IMAGE_H__
#define __JE_IMAGE_H__

#include "bitmap.h"

namespace JinEngine
{
	namespace Graphics
	{

		/// 
		/// A readonly bitmap.
		/// 
		/// Just like bitmap but only from image file. The pixels data is readonly.
		///
		class Image : public Bitmap
		{
		public:
			/// 
			/// Image constructor.
			/// 
			Image();

			Image(const char* path);

			Image(const void* imgData, size_t size);

			/// 
			/// Image destructor.
			///
			~Image();

		private:
			// Disable setters inherited from Bitmap.
			void bind(Color* pixels, int w, int h);
			void resetPixels(const Color* pixels, int w, int h);
			void resetPixels(const Color& pixels, int w, int h);
			void setPixel(const Color& pixel, int x, int y);
			void setPixels(Color pixels);
			void setPixels(Color* pixels);

		};

	} // namespace Graphics
} // namespace JinEngine

#endif