33 #include "../../Core/Math/vec4.h"
34 #include "texture_format.h"
43 static std::shared_ptr<PixelConverter>
create();
52 virtual float gamma()
const = 0;
82 void set_swizzle(
int red_source,
int green_source,
int blue_source,
int alpha_source) {
set_swizzle(
Vec4i(red_source, green_source, blue_source, alpha_source)); }
91 virtual void convert(
void *output,
int output_pitch,
TextureFormat output_format,
const void *input,
int input_pitch,
TextureFormat input_format,
int width,
int height) = 0;
virtual float gamma() const =0
Returns the gamma setting.
virtual void set_output_is_ycrcb(bool enable)=0
Converts to JPEG JFIF YCrCb.
virtual Vec4i swizzle() const =0
Returns the input channel used for each output channel.
virtual void set_premultiply_alpha(bool enable)=0
Set the premultiply alpha setting.
virtual void set_swizzle(const Vec4i &swizzle)=0
Set the input channel used for each output channel.
virtual void set_gamma(float gamma)=0
Set the gamma applied when converting.
std::shared_ptr< PixelConverter > PixelConverterPtr
Definition: pixel_buffer.h:48
TextureFormat
Texture format.
Definition: texture_format.h:35
virtual void convert(void *output, int output_pitch, TextureFormat output_format, const void *input, int input_pitch, TextureFormat input_format, int width, int height)=0
Convert some pixel data.
virtual bool input_is_ycrcb() const =0
Returns the JPEG JFIF YCrCb input setting.
void set_swizzle(int red_source, int green_source, int blue_source, int alpha_source)
Definition: pixel_converter.h:82
Vec4< int > Vec4i
Definition: vec4.h:385
virtual void set_flip_vertical(bool enable)=0
Set the flip vertical setting.
virtual void set_input_is_ycrcb(bool enable)=0
Converts from JPEG JFIF YCrCb.
virtual bool output_is_ycrcb() const =0
Returns the JPEG JFIF YCrCb output setting.
Pixel format converter class.
Definition: pixel_converter.h:39
static std::shared_ptr< PixelConverter > create()
Constructs a pixel format converter.
virtual bool premultiply_alpha() const =0
Returns the premultiply alpha setting.
Definition: Application/application.h:35
4D vector
Definition: size.h:44
virtual bool flip_vertical() const =0
Returns the flip vertical setting.