/*
- Copyright (C) 2008 Paul Davis
+ Copyright (C) 2008 Paul Davis
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#define __ardour_gtk_splash_h__
#include <gtkmm/window.h>
+#include <gtkmm/drawingarea.h>
+#include <gtkmm/box.h>
+#include <gtkmm/label.h>
#include <gdkmm/pixbuf.h>
+#include "pbd/signals.h"
+
class ARDOUR_UI;
class Splash : public Gtk::Window
{
public:
Splash ();
- ~Splash () {}
+ ~Splash ();
+
+ static Splash* instance() { return the_splash; }
+
+ void display ();
+ void pop_back_for (Gtk::Window&);
+ void pop_front ();
- bool on_expose_event (GdkEventExpose*);
+ bool expose (GdkEventExpose*);
bool on_button_release_event (GdkEventButton*);
+ void on_realize ();
+ bool on_map_event (GdkEventAny*);
+ void message (const std::string& msg);
private:
+ static Splash* the_splash;
+
Glib::RefPtr<Gdk::Pixbuf> pixbuf;
-};
+ Gtk::DrawingArea darea;
+ Glib::RefPtr<Pango::Layout> layout;
+
+ void boot_message (std::string);
+ PBD::ScopedConnection msg_connection;
+
+ bool expose_done;
+ bool expose_is_the_one;
+ bool idle_after_expose ();
+};
#endif /* __ardour_gtk_splash_h__ */