X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fsplash.h;h=109b68a8be2c7507ffb42d9d326eda740a0df0be;hb=bb2032795941dbb0bf8e8f33a4acc2e075e0104f;hp=5ba5478941daff5ef2e9f5a11345dc7fdf942fe0;hpb=7295d8e9f675f4441ab626c0655b2d2e6663e47e;p=ardour.git diff --git a/gtk2_ardour/splash.h b/gtk2_ardour/splash.h index 5ba5478941..109b68a8be 100644 --- a/gtk2_ardour/splash.h +++ b/gtk2_ardour/splash.h @@ -1,5 +1,5 @@ /* - 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 @@ -26,24 +26,43 @@ #include #include +#include "pbd/signals.h" + class ARDOUR_UI; class Splash : public Gtk::Window { - public: +public: Splash (); - ~Splash () {} + ~Splash (); + + static Splash* instance() { return the_splash; } + + void display (); + void pop_back_for (Gtk::Window&); + void pop_front (); bool expose (GdkEventExpose*); bool on_button_release_event (GdkEventButton*); void on_realize (); - + bool on_map_event (GdkEventAny*); void message (const std::string& msg); - - private: + void hide (); + +private: + static Splash* the_splash; + Glib::RefPtr pixbuf; Gtk::DrawingArea darea; Glib::RefPtr layout; -}; + + void boot_message (std::string); + PBD::ScopedConnection msg_connection; + + sigc::connection idle_connection; + volatile bool expose_done; + bool expose_is_the_one; + bool idle_after_expose (); +}; #endif /* __ardour_gtk_splash_h__ */