Header.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #ifndef HEADER_Header
  2. #define HEADER_Header
  3. /*
  4. htop - Header.h
  5. (C) 2004-2011 Hisham H. Muhammad
  6. Released under the GNU GPLv2+, see the COPYING file
  7. in the source distribution for its full text.
  8. */
  9. #include <stddef.h>
  10. #include "HeaderLayout.h"
  11. #include "Machine.h"
  12. #include "Meter.h"
  13. #include "Vector.h"
  14. typedef struct Header_ {
  15. Vector** columns;
  16. Machine* host;
  17. HeaderLayout headerLayout;
  18. int pad;
  19. int height;
  20. } Header;
  21. #define Header_forEachColumn(this_, i_) for (size_t (i_)=0, H_fEC_numColumns_ = HeaderLayout_getColumns((this_)->headerLayout); (i_) < H_fEC_numColumns_; ++(i_))
  22. Header* Header_new(Machine* host, HeaderLayout hLayout);
  23. void Header_delete(Header* this);
  24. void Header_setLayout(Header* this, HeaderLayout hLayout);
  25. void Header_populateFromSettings(Header* this);
  26. void Header_writeBackToSettings(const Header* this);
  27. Meter* Header_addMeterByClass(Header* this, const MeterClass* type, unsigned int param, unsigned int column);
  28. void Header_reinit(Header* this);
  29. void Header_draw(const Header* this);
  30. void Header_updateData(Header* this);
  31. int Header_calculateHeight(Header* this);
  32. #endif