Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

93 lines (80 sloc) 3.348 kb
/***********************************************************************
* FXRuby -- the Ruby language bindings for the FOX GUI toolkit.
* Copyright (c) 2001-2009 by Lyle Johnson. All Rights Reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* For further information please contact the author by e-mail
* at "lyle@lylejohnson.name".
***********************************************************************/
/// Splash Window options
enum {
SPLASH_SIMPLE = 0, /// Simple rectangular splash window
SPLASH_SHAPED = 0x02000000, /// Shaped splash window
SPLASH_OWNS_ICON = 0x04000000, /// Splash window will own the icon and destroy it
SPLASH_DESTROY = 0x08000000 /// Splash window will destroy itself when timer expires
};
%rename("delay") FXSplashWindow::getDelay() const;
%rename("delay=") FXSplashWindow::setDelay(FXuint);
%rename("icon") FXSplashWindow::getIcon() const;
%rename("icon=") FXSplashWindow::setIcon(FXIcon*);
/**
* The Splash Window is a window typically shown during startup
* of an application. It comprises a large icon, which is also
* used as the shape of the window if SPLASH_SHAPED is passed;
* with the SPLASH_SIMPLE option the window will be simply rectangular.
*/
class FXSplashWindow : public FXTopWindow {
protected:
FXIcon *icon; // Really big icon
FXuint delay; // Delay before hiding
protected:
FXSplashWindow();
private:
FXSplashWindow(const FXSplashWindow&);
FXSplashWindow &operator=(const FXSplashWindow&);
public:
long onPaint(FXObject*,FXSelector,void* PTR_EVENT);
public:
%extend {
/// Construct splash window
FXSplashWindow(FXApp* a,FXIcon* ic,FXuint opts=SPLASH_SIMPLE,FXuint ms=5000){
/* Icon will be free`d by Rubys GC. */
opts &= ~SPLASH_OWNS_ICON;
return new FXRbSplashWindow(a,ic,opts,ms);
}
/// Construct splash window
FXSplashWindow(FXWindow* own,FXIcon* ic,FXuint opts=SPLASH_SIMPLE,FXuint ms=5000){
/* Icon will be free`d by Rubys GC. */
opts &= ~SPLASH_OWNS_ICON;
return new FXRbSplashWindow(own,ic,opts,ms);
}
}
/// Set the icon for the splash window
void setIcon(FXIcon* ic);
/// Get the icon for this splash window
FXIcon* getIcon() const;
/// Set or change delay
void setDelay(FXuint ms);
/// Return delay
FXuint getDelay() const;
/// Destroy splash window
virtual ~FXSplashWindow();
};
DECLARE_FXOBJECT_VIRTUALS(FXSplashWindow)
DECLARE_FXID_VIRTUALS(FXSplashWindow)
DECLARE_FXDRAWABLE_VIRTUALS(FXSplashWindow)
DECLARE_FXWINDOW_VIRTUALS(FXSplashWindow)
DECLARE_FXTOPWINDOW_VIRTUALS(FXSplashWindow)
Jump to Line
Something went wrong with that request. Please try again.