dwss/GnomeScreensaver.h

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 */