Files
BartenderBot/src/Utility/CairoTools.hpp

32 lines
1.1 KiB
C++

#include <cairo/cairo.h>
#include <dpp/dpp.h>
#include <string>
#define REPORT_WIDTH 1000
#define REPORT_HEIGHT 1200
#define REPORT_HEIGHT_OFFSET 200
#define REPORT_TEXT_START_X 40
#define REPORT_TEXT_JUMP_Y 120
#define REPORT_TEXT_FONT_SIZE 120.0
#define REPORT_TEXT_LENGTH 26
#define REPORT_RESOURCE_BUMPER_PATH "./assets/report_bumper.png"
#define CAIRO_TEXT_WHITE 0.87, 0.87, 0.87
std::string GenerateReportImage(cairo_surface_t *background,
std::string headline);
// File type management
cairo_status_t cairoReadPNGdata(void *closure, unsigned char *data,
unsigned int length);
cairo_status_t cairoOutputAsPNGStream(void *closure, const unsigned char *data,
unsigned int length);
cairo_surface_t *pngToCairoSurface(const std::string &data);
cairo_surface_t *jpegToCairoSurface(std::string data);
cairo_surface_t *webpToCairoSurface(std::string data);
extern std::unordered_map<std::string,
std::function<cairo_surface_t *(const std::string &)>>
supportedImageFileTypes;