5#ifndef INCLUDE_FIFECHAN_IMAGE_HPP_
6#define INCLUDE_FIFECHAN_IMAGE_HPP_
10#include "fifechan/platform.hpp"
31 class FIFEGUI_API Image
38 Image(Image
const &) =
delete;
39 Image& operator=(Image
const &) =
delete;
40 Image(Image&&) =
delete;
41 Image& operator=(Image&&) =
delete;
Abstract interface for loading image assets.
virtual int getHeight() const =0
Gets the height of the image.
virtual Color getPixel(int x, int y)=0
Gets the color of a pixel at coordinate (x, y) in the image.
static Image * load(std::string const &filename, bool convertToDisplayFormat=true)
Loads an image by using the class' image loader.
virtual void putPixel(int x, int y, Color const &color)=0
Puts a pixel with a certain color at coordinate (x, y).
virtual void convertToDisplayFormat()=0
Converts the image, if possible, to display format.
static void setImageLoader(ImageLoader *imageLoader)
Sets the ImageLoader to be used for loading images.
static ImageLoader * mImageLoader
Holds the image loader to be used when loading images.
virtual void free()=0
Frees an image.
static ImageLoader * getImageLoader()
Gets the image loader used for loading images.
virtual int getWidth() const =0
Gets the width of the image.