From cb17c3035bbd80bd8ea6718bae4c57cfb2555653 Mon Sep 17 00:00:00 2001 From: Joel Klinghed Date: Thu, 15 Jun 2017 23:20:00 +0200 Subject: Initial monitor GUI Basic monitor functionality, GTK-3.0 and QT5 backends --- src/gui_attrtext.cc | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 src/gui_attrtext.cc (limited to 'src/gui_attrtext.cc') diff --git a/src/gui_attrtext.cc b/src/gui_attrtext.cc new file mode 100644 index 0000000..ebb2f32 --- /dev/null +++ b/src/gui_attrtext.cc @@ -0,0 +1,37 @@ +// -*- mode: c++; c-basic-offset: 2; -*- + +#include "common.hh" + +#include + +#include "gui_attrtext.hh" + +void AttributedText::Attribute::add(Attribute const& attr) { + flags_ |= attr.flags_; + if (attr.has_foreground()) fg_ = attr.foreground(); + if (attr.has_background()) bg_ = attr.background(); +} + +void AttributedText::append(std::string const& str, Attribute const& attr, size_t start, size_t length) { + append(str.data(), str.size(), attr, start, length); +} + +void AttributedText::append(const char* str, Attribute const& attr, size_t start, size_t length) { + if (!str) { + assert(false); + return; + } + append(str, strlen(str), attr, start, length); +} + +// static +const uint8_t AttributedText::Attribute::BOLD = 1 << 0; +// static +const uint8_t AttributedText::Attribute::ITALIC = 1 << 1; +// static +const uint8_t AttributedText::Attribute::UNDERLINE = 1 << 2; +// static +const uint8_t AttributedText::Attribute::STRIKE = 1 << 3; + +// static +const AttributedText::Attribute AttributedText::EMPTY; -- cgit v1.2.3-70-g09d2