From 406af09ade55553e2b064506c3ba3c89bd965d73 Mon Sep 17 00:00:00 2001 From: Benji Dial Date: Thu, 4 Mar 2021 19:11:42 -0500 Subject: start of a c++ widget toolkit, c++ runtime --- src/user/include/cxx/raleigh/w/label.h | 24 ++++++++++++++++++++++++ src/user/include/cxx/raleigh/w/padding.h | 20 ++++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 src/user/include/cxx/raleigh/w/label.h create mode 100644 src/user/include/cxx/raleigh/w/padding.h (limited to 'src/user/include/cxx/raleigh/w') diff --git a/src/user/include/cxx/raleigh/w/label.h b/src/user/include/cxx/raleigh/w/label.h new file mode 100644 index 0000000..51bf541 --- /dev/null +++ b/src/user/include/cxx/raleigh/w/label.h @@ -0,0 +1,24 @@ +#ifndef RALEIGH_W_LABEL_H +#define RALEIGH_W_LABEL_H + +#include +#include + +namespace raleigh { + class label : public widget { + public: + //this pointer is used directly, and the contents of the string should not be changed afterward + label(const char *value, const char *font="fixed-10", + _pixel_t bg=RGB(bf, bf, bf), _pixel_t fg=RGB(00, 00, 00)); + + void notify_window_change() override; + void paint(_pixel_t *pixbuf, uint32_t pitch) override; + private: + const char *const value; + const struct font_info *const fi; + const _pixel_t bg; + const _pixel_t fg; + }; +} + +#endif \ No newline at end of file diff --git a/src/user/include/cxx/raleigh/w/padding.h b/src/user/include/cxx/raleigh/w/padding.h new file mode 100644 index 0000000..108cd28 --- /dev/null +++ b/src/user/include/cxx/raleigh/w/padding.h @@ -0,0 +1,20 @@ +#ifndef RALEIGH_W_PADDING_H +#define RALEIGH_W_PADDING_H + +#include + +namespace raleigh { + class padding : public widget { + public: + padding(uint32_t pad_by, _pixel_t color, widget &inner); + + void notify_window_change() override; + void paint(_pixel_t *pixbuf, uint32_t pitch) override; + private: + uint32_t pad_by; + _pixel_t color; + widget &inner; + }; +} + +#endif \ No newline at end of file -- cgit v1.2.3