47 lines
1.1 KiB
C++
47 lines
1.1 KiB
C++
|
|
#ifndef GNOMESCREENSAVER_H
|
|
#define GNOMESCREENSAVER_H
|
|
|
|
#include <time.h>
|
|
#include <sys/time.h>
|
|
|
|
#include <glib.h>
|
|
#include <glib/gi18n.h>
|
|
|
|
#include <gdk/gdk.h>
|
|
#include <gdk/gdkx.h>
|
|
#include <gdk/gdkgl.h>
|
|
|
|
#include <gtk/gtk.h>
|
|
#include <gtk/gtkgl.h>
|
|
|
|
#include <GL/gl.h>
|
|
#include <GL/glu.h>
|
|
|
|
#include "gs-theme-window.h"
|
|
|
|
class GnomeScreensaver
|
|
{
|
|
public:
|
|
GnomeScreensaver(int *argc, char ***argv,
|
|
bool (*configure_callback)(GnomeScreensaver &, int, int),
|
|
bool (*expose_callback)(GnomeScreensaver &),
|
|
bool (*update_callback)(GnomeScreensaver &),
|
|
int32_t interval_msec);
|
|
uint32_t getTicks();
|
|
void mainloop() { gtk_main(); }
|
|
gboolean configureCB(GtkWidget *da, GdkEventConfigure *event);
|
|
gboolean exposeCB(GtkWidget *da, GdkEventExpose *event);
|
|
gboolean updateCB();
|
|
|
|
protected:
|
|
GtkWidget *m_drawing_area;
|
|
uint64_t m_start_msec;
|
|
bool (*m_configure_callback)(GnomeScreensaver &, int, int);
|
|
bool (*m_expose_callback)(GnomeScreensaver &);
|
|
bool (*m_update_callback)(GnomeScreensaver &);
|
|
};
|
|
|
|
#endif /* GNOMESCREENSAVER_H */
|
|
|