dwss/modes/Tunnel.h

37 lines
762 B
C++

#ifndef TUNNEL_H
#define TUNNEL_H
#include <list>
#include "LogoBox.h"
#include "Mode.h"
#include "GnomeScreensaver.h"
class Tunnel : public Mode
{
public:
Tunnel();
~Tunnel();
bool expose (GnomeScreensaver & gs);
bool configure (GnomeScreensaver & gs);
bool update (GnomeScreensaver & gs);
typedef struct {
double offset;
float zrot;
float trot;
float spin_axis[3];
} LBStruct;
protected:
void addRing(double offset);
LogoBox m_logobox;
uint64_t m_last_ticks;
std::list<LBStruct> m_logos;
double m_offset;
double m_last_ring_offset;
unsigned int m_ring_rot_idx;
};
#endif /* TUNNEL_H */