00001 /* 00002 * Celestia GTK+ Front-End 00003 * Copyright (C) 2005 Pat Suwalski <pat@suwalski.net> 00004 * 00005 * This program is free software; you can redistribute it and/or modify 00006 * it under the terms of the GNU General Public License as published by 00007 * the Free Software Foundation; either version 2 of the License, or 00008 * (at your option) any later version. 00009 * 00010 * $Id: splash.h,v 1.1 2006/01/01 23:43:52 suwalski Exp $ 00011 */ 00012 00013 #ifndef GTK_SPLASH_H 00014 #define GTK_SPLASH_H 00015 00016 #include "common.h" 00017 00018 00019 typedef struct _SplashData SplashData; 00020 00021 /* This class overrides the ProgressNotifier to receive splash event updates 00022 * from the core. */ 00023 class GtkSplashProgressNotifier : public ProgressNotifier 00024 { 00025 public: 00026 GtkSplashProgressNotifier(SplashData* _splash); 00027 virtual ~GtkSplashProgressNotifier(); 00028 00029 virtual void update(const string& filename); 00030 00031 private: 00032 SplashData* splash; 00033 }; 00034 00035 /* Struct holds all information relevant to the splash screen. */ 00036 struct _SplashData { 00037 AppData* app; 00038 00039 GtkWidget* splash; 00040 GtkWidget* label; 00041 00042 GtkSplashProgressNotifier* notifier; 00043 00044 gboolean hasARGB; 00045 gboolean redraw; 00046 }; 00047 00048 00049 /* Entry Functions */ 00050 SplashData* splashStart(AppData* app, gboolean showSplash); 00051 void splashEnd(SplashData* ss); 00052 void splashSetText(SplashData* ss, const char* text); 00053 00054 00055 #endif /* GTK_SPLASH_H */
1.4.1