mirror of
				https://github.com/godotengine/godot.git
				synced 2025-10-31 13:41:03 +00:00 
			
		
		
		
	
		
			
	
	
		
			51 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
		
		
			
		
	
	
			51 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
|   | 
 | ||
|  | #pragma once
 | ||
|  | 
 | ||
|  | #include "BitmapRef.hpp"
 | ||
|  | 
 | ||
|  | namespace msdfgen { | ||
|  | 
 | ||
|  | /// A 2D image bitmap with N channels of type T. Pixel memory is managed by the class.
 | ||
|  | template <typename T, int N = 1> | ||
|  | class Bitmap { | ||
|  | 
 | ||
|  | public: | ||
|  |     Bitmap(); | ||
|  |     Bitmap(int width, int height); | ||
|  |     Bitmap(const BitmapConstRef<T, N> &orig); | ||
|  |     Bitmap(const Bitmap<T, N> &orig); | ||
|  | #ifdef MSDFGEN_USE_CPP11
 | ||
|  |     Bitmap(Bitmap<T, N> &&orig); | ||
|  | #endif
 | ||
|  |     ~Bitmap(); | ||
|  |     Bitmap<T, N> & operator=(const BitmapConstRef<T, N> &orig); | ||
|  |     Bitmap<T, N> & operator=(const Bitmap<T, N> &orig); | ||
|  | #ifdef MSDFGEN_USE_CPP11
 | ||
|  |     Bitmap<T, N> & operator=(Bitmap<T, N> &&orig); | ||
|  | #endif
 | ||
|  |     /// Bitmap width in pixels.
 | ||
|  |     int width() const; | ||
|  |     /// Bitmap height in pixels.
 | ||
|  |     int height() const; | ||
|  |     T * operator()(int x, int y); | ||
|  |     const T * operator()(int x, int y) const; | ||
|  | #ifdef MSDFGEN_USE_CPP11
 | ||
|  |     explicit operator T *(); | ||
|  |     explicit operator const T *() const; | ||
|  | #else
 | ||
|  |     operator T *(); | ||
|  |     operator const T *() const; | ||
|  | #endif
 | ||
|  |     operator BitmapRef<T, N>(); | ||
|  |     operator BitmapConstRef<T, N>() const; | ||
|  | 
 | ||
|  | private: | ||
|  |     T *pixels; | ||
|  |     int w, h; | ||
|  | 
 | ||
|  | }; | ||
|  | 
 | ||
|  | } | ||
|  | 
 | ||
|  | #include "Bitmap.hpp"
 |