]> git.tdb.fi Git - libs/gui.git/blobdiff - source/graphics/image.h
Use nullptr in place of 0 or NULL
[libs/gui.git] / source / graphics / image.h
index 6905461a49557ed64df428902e538d85a9d271fc..3f8f556e85a42fa88e5f7f886918037b3143434e 100644 (file)
@@ -16,12 +16,16 @@ class Image
 public:
        struct Data
        {
-               PixelFormat fmt;
-               unsigned width;
-               unsigned height;
-               char *data;
-
-               Data();
+               PixelFormat fmt = RGB;
+               unsigned width = 0;
+               unsigned height = 0;
+               unsigned stride = 0;
+               char *owned_pixels = nullptr;
+               char *pixels = nullptr;
+
+               Data() = default;
+               Data(const Data &);
+               Data &operator=(const Data &);
                ~Data();
        };
 
@@ -32,11 +36,15 @@ public:
        void load_file(const std::string &);
        void load_io(IO::Seekable &);
        void load(ImageLoader &);
+       void load_into(ImageLoader &, void *);
+       void load_headers(ImageLoader &);
 
        PixelFormat get_format() const { return data.fmt; }
        unsigned get_width() const { return data.width; }
        unsigned get_height() const { return data.height; }
-       const void *get_data() const { return data.data; }
+       unsigned get_stride() const { return data.stride; }
+       DEPRECATED const void *get_data() const { return data.pixels; }
+       const void *get_pixels() const { return data.pixels; }
 };
 
 } // namespace Graphics