1 #pragma once 2 3 #include "messages/Image.hpp" 4 5 namespace chatterino { 6 7 class ImageSet 8 { 9 public: 10 ImageSet(); 11 ImageSet(const ImagePtr &image1, const ImagePtr &image2 = Image::getEmpty(), 12 const ImagePtr &image3 = Image::getEmpty()); 13 ImageSet(const Url &image1, const Url &image2 = {}, const Url &image3 = {}); 14 15 void setImage1(const ImagePtr &image); 16 void setImage2(const ImagePtr &image); 17 void setImage3(const ImagePtr &image); 18 const ImagePtr &getImage1() const; 19 const ImagePtr &getImage2() const; 20 const ImagePtr &getImage3() const; 21 22 /// Preferes getting an already loaded image, even if it is smaller/bigger. 23 /// However, it starts loading the proper image. 24 const ImagePtr &getImageOrLoaded(float scale) const; 25 const ImagePtr &getImage(float scale) const; 26 27 bool operator==(const ImageSet &other) const; 28 bool operator!=(const ImageSet &other) const; 29 30 private: 31 ImagePtr imageX1_; 32 ImagePtr imageX2_; 33 ImagePtr imageX3_; 34 }; 35 36 } // namespace chatterino 37