// bbload.hh for bbsload - an tool to display the average load in X11.
//
// 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
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program 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 General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// (See the included file COPYING / GPL-2.0)
//
#ifndef __MAIN_HH
#define __MAIN_HH
extern "C" {
#include <freebsd_apm.h>
}
#include "Image.hh"
#include "Basewindow.hh"
#include "resource.hh"
#define LEFT_BUTTON 1
#define MIDDLE_BUTTON 2
#define RIGHT_BUTTON 3
class Resource;
class BaseResource;
class Basewindow;
struct PIXMAP {
Pixmap frame;
Pixmap label;
Pixmap loadbar_active;
Pixmap loadbar_inactive;
};
struct LABELSIZE {
int seperator_width;
int space_width;
int width[8];
int total_width;
int height;
};
struct FRAMESIZE {
int x;
int y;
int height;
int width;
};
struct GEOM {
int x;
int y;
int width;
int height;
double level;
};
class ToolWindow : public Basewindow
{
public:
ToolWindow(int argc,char **argv);
~ToolWindow(void);
Window framewin;
Window labelwin;
Window loadwin;
void MakeWindow(bool);
void ReadAPM(void);
void Redraw(void);
void EventLoop(void);
void Reconfigure(void);
void CheckConfig(void);
bool raised;
private:
XGCValues gcv;
GC frameGC;
Resource *resource;
struct LABELSIZE label;
struct FRAMESIZE frame;
struct GEOM *load;
bool close_app;
bool mapped;
XPoint points[11];
struct PIXMAP pixmap;
bool broken;
apm_info apm;
};
#endif /* __MAIN_HH */
syntax highlighted by Code2HTML, v. 0.9.1