gramods
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
gramods::gmGraphics::ImageTexture::Impl Struct Reference
Collaboration diagram for gramods::gmGraphics::ImageTexture::Impl:
Collaboration graph
[legend]

Public Types

typedef std::chrono::steady_clock clock
 
typedef std::chrono::duration< double, std::ratio< 1 > > d_seconds
 

Public Member Functions

GLuint update (size_t frame_number, Eye eye)
 
void update ()
 
void findRange ()
 
bool setTexture (FIBITMAP *image, std::string filename)
 
void load_process ()
 

Static Public Member Functions

static std::string getFrameFilename (std::string file, long int frame)
 
static FIBITMAP * loadImage (std::string filename)
 

Public Attributes

GLuint texture_id = 0
 
size_t texture_frame = std::numeric_limits<size_t>::max()
 
bool fail = false
 
std::filesystem::path file = {}
 
gmCore::size2 animation_range = {0, 0}
 
bool auto_range = false
 
size_t animation_frame = std::numeric_limits<size_t>::max()
 
bool animate = false
 
bool do_loop = false
 
bool do_exit = false
 
bool do_log_progress = false
 
clock::time_point last_print_time = clock::now()
 
std::shared_ptr< gmCore::FreeImagefree_image
 
bool load_process_alive = true
 
std::thread load_thread
 
std::condition_variable load_condition
 
std::mutex load_lock
 
size_t load_frame = std::numeric_limits<size_t>::max()
 
std::string load_filename
 
FIBITMAP * load_image = nullptr
 

The documentation for this struct was generated from the following file: