#pragma once #include "opcomp.hh" struct T_Demo { T_Demo( ) = delete; NO_COPY( T_Demo ); NO_MOVE( T_Demo ); // --------------------------------------------------------------------- T_Demo( const uint32_t width , const uint32_t height ); bool initialise( ); void render( ); bool loadProgram( ); void runInit( ); void handleDND( ImVec2 const& move , const bool hasCtrl , const bool hasShift , const bool lmb // Left mouse button ); void handleWheel( const float wheel , const bool hasCtrl , const bool hasShift ); // --------------------------------------------------------------------- const uint32_t width; const uint32_t height; bool playing = false; T_OwnPtr< ops::T_OpProgram > program; T_OwnPtr< ops::T_OpContext > context; private: bool playingPrevious = false; float lastFrame; };