1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140
|
// resource.hh for bbsload - an tool to display new mail 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 __RESOURCE_HH
#define __RESOURCE_HH
#include "bbsload.hh"
#include "Baseresource.hh"
class BaseResource;
struct FRAME {
int width;
int height;
BTexture texture;
int bevelWidth;
XFontStruct *font;
};
struct POSITION {
int x;
int y;
int mask;
};
struct LABEL {
int width;
int width0, width1, width2, width3;
int height;
BTexture texture;
bool transparent;
XFontStruct *font;
BColor running_textColor;
BColor task_textColor;
BColor seperator_textColor;
BColor task_boring_textColor;
BColor load1m_textColor;
BColor load5m_textColor;
BColor load15m_textColor;
BColor memUsed_textColor;
BColor swapUsed_textColor;
BColor totalUsed_textColor;
};
struct GAUGE {
int width;
BTexture active_texture;
BTexture inactive_texture;
BTexture background_texture;
int left_step_width;
int right_step_width;
double ratio;
int number_of_bars;
bool background;
float max_load;
bool tickmarks;
bool use_simple_color;
bool levels_defined;
float *level;
BTexture *segment_texture;
};
struct SHOW {
bool running_counter;
bool task_counter;
bool label;
bool loadbar;
bool load1m;
bool load5m;
bool load15m;
bool usercpu;
bool nicecpu;
bool systemcpu;
bool idlecpu;
bool label_load1m;
bool label_load5m;
bool label_load15m;
bool label_usercpu;
bool label_nicecpu;
bool label_systemcpu;
bool label_idlecpu;
bool totalused;
bool swapused;
bool memused;
bool label_totalused;
bool label_swapused;
bool label_memused;
bool vertical;
};
struct REPORT {
unsigned int check_delay;
};
class Resource : public BaseResource
{
public:
Resource::Resource(ToolWindow *);
Resource::~Resource(void);
struct FRAME frame;
struct LABEL label;
struct POSITION position;
struct GAUGE gauge;
struct SHOW show;
struct REPORT report;
protected:
virtual void LoadBBToolResource(void);
private:
void Frame(void);
void SizeAndPosition(void);
void CheckSettings(void);
void Label(void);
void Show(void);
void LoadBar(void);
bool showLabel(char *,char *,bool);
bool showGauge(char *,char *,bool);
void Clean(void);
};
#endif /* __RESOURCE_HH */
|