37 lines
749 B
C++
37 lines
749 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();
|
|
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 */
|
|
|