]> git.tdb.fi Git - libs/gui.git/blob - source/graphics/quartz/quartzloader.h
d3bef7b7b3d79d6d2c3a172ae8b85cf4d79c49d2
[libs/gui.git] / source / graphics / quartz / quartzloader.h
1 #ifndef MSP_GRAPHICS_QUARTZLOADER_H_
2 #define MSP_GRAPHICS_QUARTZLOADER_H_
3
4 #include <msp/graphics/imageloader.h>
5
6 namespace Msp {
7 namespace Graphics {
8
9 class QuartzLoader: public ImageLoader
10 {
11 private:
12         struct Private;
13
14         Private *priv;
15
16         static Register<QuartzLoader> reg;
17
18 public:
19         QuartzLoader(IO::Seekable &);
20         virtual ~QuartzLoader();
21
22         /* Experimentally found value, works for png and jpeg at least.  8 bytes
23         is not enough for Quartz to recognize png. */
24         static unsigned get_signature_size() { return 12; }
25         static bool detect(const std::string &);
26
27         virtual void load(Image::Data &);
28 };
29
30 } // namespace Graphics
31 } // namespace Msp
32
33 #endif