#pragma once #include "apbase.h" #include "fields.h" #include #include #include class APAttachment : APBase { public: APAttachment(); APAttachment(APAttachmentFields fields); ~APAttachment() {}; QString get_html_render(HtmlRenderDetails render_info); std::shared_ptr get_pixmap(int width = 0, int height = 0); private: QString blurhash; std::array focal_point = {0.,0.}; QString type; // MIME type, maps to "media_type" QString description; // alt text, maps to "name" QString path_url; // attachment URL, might be file on filesystem (make sure that the attachment dir has been found and that the path is correct) QString filename; // nicer descriptor of the attachment's path std::shared_ptr pixmap; struct { int width = 0; int height = 0; // Compare with dimensions passed to get_pixmap() inline bool is_equal(int comp_w, int comp_h) { return width == comp_w and height == comp_h; } } pixmap_dimens; // requested dimensions of the pixmap }; class APAttachmentList : public std::vector, APBase { public: QString get_html_render(HtmlRenderDetails render_info); };