#ifndef __XFCE_CPU_H__
#define __XFCE_CPU_H__
#if HAVE_CONFIG_H
#include <config.h>
#endif
#include <gtk/gtk.h>
#include <gdk/gdk.h>
#include <math.h>
#include <stdio.h>
#include <string.h>
#include <libxfce4util/libxfce4util.h>
#include <libxfcegui4/libxfcegui4.h>
#include <libxfce4panel/xfce-panel-plugin.h>
#include "os.h"
#define BORDER 8
#define MAX_WIDTH 64
typedef struct
{
GtkWidget *m_Notebook;
/* Update */
GtkWidget *m_UpdateOption;
GtkWidget *m_UpdateMenu;
GtkWidget *m_UpdateMenuItem;
GtkWidget *m_Width;
GtkWidget *m_Height;
GtkWidget *m_GraphFrame;
GtkWidget *m_FG1;
GtkWidget *m_FG2;
GtkWidget *m_FG3;
GtkWidget *m_BG;
GtkWidget *m_FC;
GtkWidget *m_ColorDA;
GtkWidget *m_ColorDA2;
GtkWidget *m_ColorDA3;
GtkWidget *m_ColorDA4;
GtkWidget *m_ColorDA5;
GtkWidget *m_FrameApperance;
GtkWidget *m_FrameColor;
GtkWidget *m_FrameMode;
GtkWidget *m_ModeOption;
GtkWidget *m_ModeMenu;
GtkWidget *m_ModeMenuItem;
GtkWidget *m_OptionMenu;
GtkWidget *m_Menu;
GtkWidget *m_MenuItem;
}SOptions;
typedef struct
{
XfcePanelPlugin *plugin;
GtkWidget *m_FrameWidget;
GtkWidget *m_DrawArea;
GtkWidget *m_OptionsDialog;
SOptions m_Options;
int m_UpdateInterval; // Number of ms between updates.
int m_Width; // The width of the plugin.
int m_Mode; // Eventual mode of the plugin.
int m_ColorMode;
int m_Frame;
GdkColor m_ForeGround1; // Inactive color.
GdkColor m_ForeGround2; // Active color.
GdkColor m_ForeGround3;
GdkColor m_BackGround; // Background color.
GtkTooltips *m_Tooltip; // Eventual tooltip.
guint m_TimeoutID; // Timeout ID for the tooltip;
long m_CPUUsage;
long *m_History;
int m_Values;
int m_Orientation;
int m_OldUsage;
int m_OldTotal;
}CPUGraph;
CPUGraph *CreateControl (XfcePanelPlugin *plugin);
void Kill (XfcePanelPlugin *plugin, CPUGraph *base);
void ReadSettings (XfcePanelPlugin *plugin, CPUGraph *base);
void WriteSettings (XfcePanelPlugin *plugin, CPUGraph *base);
gboolean SetSize (XfcePanelPlugin *plugin, int size, CPUGraph *base);
void UserSetSize (CPUGraph *base);
gboolean UpdateCPU (CPUGraph *base);
void UpdateTooltip (CPUGraph *base);
void DrawGraph (CPUGraph *base);
void DrawAreaExposeEvent (GtkWidget *da, GdkEventExpose *event, gpointer data);
void CreateOptions (XfcePanelPlugin *plugin, CPUGraph *base);
void SetOrientation (XfcePanelPlugin *plugin, GtkOrientation orientation, CPUGraph *base);
void SetHistorySize (CPUGraph *base, int size);
void SetRealGeometry (CPUGraph *base);
void ChangeColor1 (GtkButton *button, CPUGraph *base);
void ChangeColor2 (GtkButton *button, CPUGraph *base);
void ChangeColor3 (GtkButton *button, CPUGraph *base);
void ChangeColor4 (GtkButton *button, CPUGraph *base);
void ChangeColor5 (GtkButton *button, CPUGraph *base);
void ChangeColor (int color, CPUGraph *base);
void SpinChange (GtkSpinButton *sb, int *value);
void UpdateChange (GtkOptionMenu *om, CPUGraph *base);
void ModeChange (GtkOptionMenu *om, CPUGraph *base);
void ApplyChanges (CPUGraph *base);
void FrameChange (GtkToggleButton *button, CPUGraph *base);
void ColorModeChange (GtkOptionMenu *om, CPUGraph *base);
#endif
syntax highlighted by Code2HTML, v. 0.9.1