mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/4jcraft.git
synced 2026-05-25 21:26:37 +00:00
TU19: merge Minecraft.World/Util
This commit is contained in:
52
Minecraft.World/Util/HtmlString.cpp
Normal file
52
Minecraft.World/Util/HtmlString.cpp
Normal file
@@ -0,0 +1,52 @@
|
||||
#include "../Platform/stdafx.h"
|
||||
#include "HtmlString.h"
|
||||
#include <iomanip>
|
||||
|
||||
HtmlString::HtmlString(std::wstring text, eMinecraftColour hexColor,
|
||||
bool italics, bool indent) {
|
||||
this->text = escapeXML(text);
|
||||
this->color = hexColor;
|
||||
this->italics = italics;
|
||||
this->indent = indent;
|
||||
}
|
||||
|
||||
std::wstring HtmlString::ToString() {
|
||||
std::wstringstream ss;
|
||||
|
||||
if (indent) {
|
||||
ss << L" ";
|
||||
}
|
||||
|
||||
if (italics) {
|
||||
ss << "<i>";
|
||||
}
|
||||
|
||||
eMinecraftColour color =
|
||||
this->color == eMinecraftColour_NOT_SET ? eHTMLColor_7 : this->color;
|
||||
|
||||
ss << L"<font color=\"#" << std::setfill(L'0') << std::setw(6) << std::hex
|
||||
<< app.GetHTMLColor(color) << L"\">" << text << "</font>";
|
||||
|
||||
if (italics) {
|
||||
ss << "</i>";
|
||||
}
|
||||
|
||||
return ss.str();
|
||||
}
|
||||
|
||||
std::wstring HtmlString::Compose(std::vector<HtmlString>* strings) {
|
||||
if (strings == NULL) return L"";
|
||||
|
||||
std::wstringstream ss;
|
||||
|
||||
for (int i = 0; i < strings->size(); i++) {
|
||||
ss << strings->at(i).ToString();
|
||||
|
||||
// Add a break if there's another line
|
||||
if (i + 1 < strings->size()) {
|
||||
ss << L"<br>";
|
||||
}
|
||||
}
|
||||
|
||||
return ss.str();
|
||||
}
|
||||
Reference in New Issue
Block a user