// SPDX-License-Identifier: GPL-2.0 // picture (more precisely media) related strutures and functions #ifndef PICTURE_H #define PICTURE_H #include "units.h" #include #include #include struct dive; struct picture { std::string filename; offset_t offset; location_t location; bool operator<(const picture &) const; }; /* Table of pictures. Attention: this stores pictures, * *not* pointers to pictures. This means that * pointers to pictures are not stable. They are * invalidated if the table is reallocated. */ using picture_table = std::vector; /* picture table functions */ extern void add_to_picture_table(picture_table &, int idx, struct picture pic); extern void add_picture(picture_table &, struct picture newpic); extern int get_picture_idx(const picture_table &, const std::string &filename); /* Return -1 if not found */ extern std::pair, dive *> create_picture(const std::string &filename, timestamp_t shift_time, bool match_all); extern bool picture_check_valid_time(timestamp_t timestamp, timestamp_t shift_time); #endif // PICTURE_H