From ea859f50d9438bc61ae96721a4d255b49de78653 Mon Sep 17 00:00:00 2001 From: Daniel Lange Date: Mon, 11 Apr 2016 13:00:20 +0200 Subject: Imported Upstream version 0.6.2 --- Meter.h | 155 ++++++++++++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 112 insertions(+), 43 deletions(-) (limited to 'Meter.h') diff --git a/Meter.h b/Meter.h index 4e0e5fa..73fa657 100644 --- a/Meter.h +++ b/Meter.h @@ -1,94 +1,163 @@ -/* Do not edit this file. It was automatically genarated. */ +/* Do not edit this file. It was automatically generated. */ #ifndef HEADER_Meter #define HEADER_Meter /* -htop -(C) 2004 Hisham H. Muhammad +htop - Meter.c +(C) 2004-2006 Hisham H. Muhammad Released under the GNU GPL, see the COPYING file in the source distribution for its full text. */ +#define _GNU_SOURCE +#include +#include +#include +#include +#include + #include "Object.h" #include "CRT.h" #include "ListItem.h" #include "String.h" - -#include -#include -#include -#include -#include +#include "ProcessList.h" #include "debug.h" #include -#define METER_BARBUFFER_LEN 128 -#define METER_GRAPHBUFFER_LEN 128 +#ifndef USE_FUNKY_MODES +#define USE_FUNKY_MODES 1 +#endif + +#define METER_BUFFER_LEN 128 typedef struct Meter_ Meter; +typedef struct MeterType_ MeterType; +typedef struct MeterMode_ MeterMode; -typedef void(*Meter_SetValues)(Meter*); +typedef void(*MeterType_Init)(Meter*); +typedef void(*MeterType_Done)(Meter*); +typedef void(*MeterType_SetMode)(Meter*, int); +typedef void(*Meter_SetValues)(Meter*, char*, int); typedef void(*Meter_Draw)(Meter*, int, int, int); -typedef enum MeterMode_ { - UNSET, - BAR, - TEXT, - GRAPH, - LED, - LAST_METERMODE -} MeterMode; - -struct Meter_ { - Object super; - - int h; - int w; +struct MeterMode_ { Meter_Draw draw; + char* uiName; + int h; +}; + +struct MeterType_ { Meter_SetValues setValues; + Object_Display display; + int mode; int items; + double total; int* attributes; + char* name; + char* uiName; + char* caption; + MeterType_Init init; + MeterType_Done done; + MeterType_SetMode setMode; + Meter_Draw draw; +}; + +struct Meter_ { + Object super; + char* caption; + MeterType* type; + int mode; + int param; + Meter_Draw draw; + void* drawBuffer; + int h; + ProcessList* pl; double* values; double total; - char* caption; - char* name; - union { - RichString* rs; - char* c; - double* graph; - } displayBuffer; - MeterMode mode; }; extern char* METER_CLASS; +extern MeterType CPUMeter; +extern MeterType ClockMeter; +extern MeterType LoadAverageMeter; +extern MeterType LoadMeter; +extern MeterType MemoryMeter; +extern MeterType SwapMeter; +extern MeterType TasksMeter; +extern MeterType UptimeMeter; +extern MeterType AllCPUsMeter; + +typedef enum { + CUSTOM_METERMODE = 0, + BAR_METERMODE, + TEXT_METERMODE, +#ifdef USE_FUNKY_MODES + GRAPH_METERMODE, + LED_METERMODE, +#endif + LAST_METERMODE +} MeterModeId; +extern MeterType* Meter_types[]; +extern MeterMode* Meter_modes[]; +#ifndef MIN +#define MIN(a,b) ((a)<(b)?(a):(b)) +#endif +#ifndef MAX +#define MAX(a,b) ((a)>(b)?(a):(b)) +#endif + -Meter* Meter_new(char* name, char* caption, int items); -void Meter_init(Meter* this, char* name, char* caption, int items); -void Meter_delete(Object* cast); +#ifdef USE_FUNKY_MODES -void Meter_done(Meter* this); +#endif +Meter* Meter_new(ProcessList* pl, int param, MeterType* type); +void Meter_delete(Object* cast); -#define DrawDot(a,y,c) do { \ - attrset(a); \ - mvaddstr(y, x+k, c); \ -} while(0) +void Meter_setCaption(Meter* this, char* caption); -void Meter_setMode(Meter* this, MeterMode mode); +void Meter_setMode(Meter* this, int modeIndex); ListItem* Meter_toListItem(Meter* this); +/* ---------- TextMeterMode ---------- */ + +void TextMeterMode_draw(Meter* this, int x, int y, int w); + +/* ---------- BarMeterMode ---------- */ + + +void BarMeterMode_draw(Meter* this, int x, int y, int w); + +#ifdef USE_FUNKY_MODES + +/* ---------- GraphMeterMode ---------- */ + +#define DrawDot(a,y,c) do { attrset(a); mvaddch(y, x+k, c); } while(0) + + + +void GraphMeterMode_draw(Meter* this, int x, int y, int w); + +/* ---------- LEDMeterMode ---------- */ + + + +void LEDMeterMode_draw(Meter* this, int x, int y, int w); + +#endif + #endif -- cgit v1.2.3