// -*- 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;