ede/eiconman/NotifyBox.h

48 lines
1010 B
C++

/*
* $Id$
*
* Eiconman, desktop and icon manager
* Part of Equinox Desktop Environment (EDE).
* Copyright (c) 2000-2007 EDE Authors.
*
* This program is licensed under terms of the
* GNU General Public License version 2 or newer.
* See COPYING for details.
*/
#ifndef __NOTIFYBOX_H__
#define __NOTIFYBOX_H__
#include <FL/Fl_Box.h>
#include <FL/Fl_Window.h>
class NotifyBox : public Fl_Window {
private:
bool is_shown;
int lwidth, lheight;
int area_w, area_h;
Fl_Box* txt_box;
void update_label_size(void);
void resize_all(void);
public:
NotifyBox(int aw, int ah);
~NotifyBox();
virtual void show(void);
virtual void hide(void);
bool shown(void) { return is_shown; }
const char* label(void);
void label(const char* l);
void copy_label(const char* l);
static void animate_cb(void* b) { ((NotifyBox*)b)->animate(); }
void animate(void);
static void visible_timeout_cb(void* b) { ((NotifyBox*)b)->visible_timeout(); }
void visible_timeout(void);
};
#endif