| Hisham Muhammad | d6231ba | 2006-03-04 18:16:49 +0000 | [diff] [blame] | 1 | #ifndef HEADER_Header |
| 2 | #define HEADER_Header | ||||
| 3 | /* | ||||
| Hisham Muhammad | f6e0b7d | 2006-06-06 20:28:42 +0000 | [diff] [blame] | 4 | htop - Header.h |
| Hisham Muhammad | 300caa0 | 2011-05-26 16:35:07 +0000 | [diff] [blame] | 5 | (C) 2004-2011 Hisham H. Muhammad |
| Daniel Lange | 94ad111 | 2021-09-22 11:33:00 +0200 | [diff] [blame] | 6 | Released under the GNU GPLv2+, see the COPYING file |
| Hisham Muhammad | d6231ba | 2006-03-04 18:16:49 +0000 | [diff] [blame] | 7 | in the source distribution for its full text. |
| 8 | */ | ||||
| 9 | |||||
| Benny Baumann | e56089e | 2023-11-28 15:15:03 +0100 | [diff] [blame] | 10 | #include <stddef.h> |
| 11 | |||||
| Christian Göttsche | 2bf626c | 2021-08-24 17:27:43 +0200 | [diff] [blame] | 12 | #include "HeaderLayout.h" |
| Nathan Scott | 0bdade1 | 2023-05-02 09:02:22 +1000 | [diff] [blame] | 13 | #include "Machine.h" |
| Hisham Muhammad | 33113fe | 2006-04-10 20:40:38 +0000 | [diff] [blame] | 14 | #include "Meter.h" |
| Hisham Muhammad | 3383d8e | 2015-01-21 23:27:31 -0200 | [diff] [blame] | 15 | #include "Vector.h" |
| Hisham Muhammad | d6231ba | 2006-03-04 18:16:49 +0000 | [diff] [blame] | 16 | |
| mayurdahibhate | 3f86a01 | 2021-04-29 23:43:36 +0530 | [diff] [blame] | 17 | |
| Hisham Muhammad | d6231ba | 2006-03-04 18:16:49 +0000 | [diff] [blame] | 18 | typedef struct Header_ { |
| Hisham Muhammad | 3383d8e | 2015-01-21 23:27:31 -0200 | [diff] [blame] | 19 | Vector** columns; |
| Nathan Scott | 0bdade1 | 2023-05-02 09:02:22 +1000 | [diff] [blame] | 20 | Machine* host; |
| Christian Göttsche | 9060a41 | 2020-12-25 16:42:35 +0100 | [diff] [blame] | 21 | HeaderLayout headerLayout; |
| Hisham Muhammad | c2108e5 | 2015-01-23 03:08:21 -0200 | [diff] [blame] | 22 | int pad; |
| 23 | int height; | ||||
| Hisham Muhammad | d6231ba | 2006-03-04 18:16:49 +0000 | [diff] [blame] | 24 | } Header; |
| 25 | |||||
| Christian Göttsche | 68c00b9 | 2021-09-10 16:34:20 +0200 | [diff] [blame] | 26 | #define Header_forEachColumn(this_, i_) for (size_t (i_)=0, H_fEC_numColumns_ = HeaderLayout_getColumns((this_)->headerLayout); (i_) < H_fEC_numColumns_; ++(i_)) |
| Hisham Muhammad | 3383d8e | 2015-01-21 23:27:31 -0200 | [diff] [blame] | 27 | |
| Benny Baumann | 6aa9ef2 | 2023-11-23 12:22:02 +0100 | [diff] [blame] | 28 | Header* Header_new(Machine* host, HeaderLayout hLayout); |
| Hisham Muhammad | d6231ba | 2006-03-04 18:16:49 +0000 | [diff] [blame] | 29 | |
| Zev Weiss | 7b7822b | 2020-09-02 02:38:44 -0500 | [diff] [blame] | 30 | void Header_delete(Header* this); |
| Hisham Muhammad | d6231ba | 2006-03-04 18:16:49 +0000 | [diff] [blame] | 31 | |
| Christian Göttsche | 9060a41 | 2020-12-25 16:42:35 +0100 | [diff] [blame] | 32 | void Header_setLayout(Header* this, HeaderLayout hLayout); |
| 33 | |||||
| Zev Weiss | 7b7822b | 2020-09-02 02:38:44 -0500 | [diff] [blame] | 34 | void Header_populateFromSettings(Header* this); |
| Hisham Muhammad | c2108e5 | 2015-01-23 03:08:21 -0200 | [diff] [blame] | 35 | |
| Zev Weiss | 7b7822b | 2020-09-02 02:38:44 -0500 | [diff] [blame] | 36 | void Header_writeBackToSettings(const Header* this); |
| Hisham Muhammad | 9ff5d2b | 2015-03-16 23:01:21 -0300 | [diff] [blame] | 37 | |
| Christian Göttsche | 9060a41 | 2020-12-25 16:42:35 +0100 | [diff] [blame] | 38 | Meter* Header_addMeterByClass(Header* this, const MeterClass* type, unsigned int param, unsigned int column); |
| Hisham Muhammad | d6231ba | 2006-03-04 18:16:49 +0000 | [diff] [blame] | 39 | |
| Zev Weiss | 7b7822b | 2020-09-02 02:38:44 -0500 | [diff] [blame] | 40 | void Header_reinit(Header* this); |
| Hisham Muhammad | a9c0ea3 | 2011-03-22 20:37:08 +0000 | [diff] [blame] | 41 | |
| Zev Weiss | 7b7822b | 2020-09-02 02:38:44 -0500 | [diff] [blame] | 42 | void Header_draw(const Header* this); |
| Hisham Muhammad | d6231ba | 2006-03-04 18:16:49 +0000 | [diff] [blame] | 43 | |
| Christian Göttsche | b862e36 | 2021-02-08 16:38:49 +0100 | [diff] [blame] | 44 | void Header_updateData(Header* this); |
| 45 | |||||
| Zev Weiss | 7b7822b | 2020-09-02 02:38:44 -0500 | [diff] [blame] | 46 | int Header_calculateHeight(Header* this); |
| Hisham Muhammad | d6231ba | 2006-03-04 18:16:49 +0000 | [diff] [blame] | 47 | |
| 48 | #endif | ||||