evennia/docs/api/evennia.utils.hex_colors.html
Evennia docbuilder action 971eab282b Updated HTML docs.
2025-08-15 16:53:30 +00:00

242 lines
No EOL
14 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en" data-content_root="../">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>evennia.utils.hex_colors &#8212; Evennia latest documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=d75fae25" />
<link rel="stylesheet" type="text/css" href="../_static/nature.css?v=279e0f84" />
<link rel="stylesheet" type="text/css" href="../_static/custom.css?v=e4a91a55" />
<script src="../_static/documentation_options.js?v=c6e86fd7"></script>
<script src="../_static/doctools.js?v=9bcbadda"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<link rel="icon" href="../_static/favicon.ico"/>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="evennia.utils.logger" href="evennia.utils.logger.html" />
<link rel="prev" title="evennia.utils.gametime" href="evennia.utils.gametime.html" />
</head><body>
<div class="related" role="navigation" aria-label="Related">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
<a href="../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="right" >
<a href="evennia.utils.logger.html" title="evennia.utils.logger"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="evennia.utils.gametime.html" title="evennia.utils.gametime"
accesskey="P">previous</a> |</li>
<li class="nav-item nav-item-0"><a href="../index.html">Evennia</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../Evennia-API.html" >API Summary</a> &#187;</li>
<li class="nav-item nav-item-2"><a href="evennia-api.html" >evennia</a> &#187;</li>
<li class="nav-item nav-item-3"><a href="evennia.html" >evennia</a> &#187;</li>
<li class="nav-item nav-item-4"><a href="evennia.utils.html" accesskey="U">evennia.utils</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">evennia.utils.hex_colors</a></li>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<section id="module-evennia.utils.hex_colors">
<span id="evennia-utils-hex-colors"></span><h1>evennia.utils.hex_colors<a class="headerlink" href="#module-evennia.utils.hex_colors" title="Link to this heading"></a></h1>
<p>Truecolor 24bit hex color support, on the form <strong>|#00FF00</strong>, <strong>|[00FF00</strong> or <strong>|#0F0 or **|[#0F0</strong></p>
<dl class="py class">
<dt class="sig sig-object py" id="evennia.utils.hex_colors.HexColors">
<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">evennia.utils.hex_colors.</span></span><span class="sig-name descname"><span class="pre">HexColors</span></span><a class="reference internal" href="../_modules/evennia/utils/hex_colors.html#HexColors"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.hex_colors.HexColors" title="Link to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
<p>This houses a method for converting hex codes to xterm truecolor codes
or falls back to evennia xterm256 codes to be handled by sub_xterm256</p>
<p>Based on code from &#64;InspectorCaracal</p>
<dl class="py attribute">
<dt class="sig sig-object py" id="evennia.utils.hex_colors.HexColors.TRUECOLOR_FG">
<span class="sig-name descname"><span class="pre">TRUECOLOR_FG</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'\\x1b\\[38;2;[0-2]?[0-9]?[0-9];[0-2]?[0-9]?[0-9];[0-2]?[0-9]?[0-9]m'</span></em><a class="headerlink" href="#evennia.utils.hex_colors.HexColors.TRUECOLOR_FG" title="Link to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="evennia.utils.hex_colors.HexColors.TRUECOLOR_BG">
<span class="sig-name descname"><span class="pre">TRUECOLOR_BG</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'\\x1b\\[48;2;[0-2]?[0-9]?[0-9];[0-2]?[0-9]?[0-9];[0-2]?[0-9]?[0-9]m'</span></em><a class="headerlink" href="#evennia.utils.hex_colors.HexColors.TRUECOLOR_BG" title="Link to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="evennia.utils.hex_colors.HexColors.hex_sub">
<span class="sig-name descname"><span class="pre">hex_sub</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">re.compile('(\\|\\[?#)([0-9a-fA-F]{6}|[0-9a-fA-F]{3})',</span> <span class="pre">re.DOTALL)</span></em><a class="headerlink" href="#evennia.utils.hex_colors.HexColors.hex_sub" title="Link to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.utils.hex_colors.HexColors.sub_truecolor">
<span class="sig-name descname"><span class="pre">sub_truecolor</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">match</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Match</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">truecolor</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">str</span></span></span><a class="reference internal" href="../_modules/evennia/utils/hex_colors.html#HexColors.sub_truecolor"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.hex_colors.HexColors.sub_truecolor" title="Link to this definition"></a></dt>
<dd><p>Converts a hex string to xterm truecolor code, greyscale, or
falls back to evennia xterm256 to be handled by sub_xterm256</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>match</strong> (<em>re.match</em>) first group is the leading indicator,
second is the tag</p></li>
<li><p><strong>truecolor</strong> (<em>bool</em>) return xterm truecolor or fallback</p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>Newly formatted indicator and tag (str)</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.utils.hex_colors.HexColors.xterm_truecolor_to_html_style">
<span class="sig-name descname"><span class="pre">xterm_truecolor_to_html_style</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">fg</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">''</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">bg</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">''</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">str</span></span></span><a class="reference internal" href="../_modules/evennia/utils/hex_colors.html#HexColors.xterm_truecolor_to_html_style"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.utils.hex_colors.HexColors.xterm_truecolor_to_html_style" title="Link to this definition"></a></dt>
<dd><p>Converts xterm truecolor to an html style property</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>fg</strong> xterm truecolor</p></li>
<li><p><strong>bg</strong> xterm truecolor</p></li>
</ul>
</dd>
</dl>
<p>Returns: style=color and or background-color</p>
</dd></dl>
</dd></dl>
</section>
<div class="clearer"></div>
</div>
</div>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="Main">
<div class="sphinxsidebarwrapper">
<p class="logo"><a href="../index.html">
<img class="logo" src="../_static/evennia_logo.png" alt="Logo of Evennia"/>
</a></p>
<search id="searchbox" style="display: none" role="search">
<h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
<input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
</form>
</div>
</search>
<script>document.getElementById('searchbox').style.display = "block"</script>
<h3><a href="../index.html">Table of Contents</a></h3>
<ul>
<li><a class="reference internal" href="#">evennia.utils.hex_colors</a><ul>
<li><a class="reference internal" href="#evennia.utils.hex_colors.HexColors"><code class="docutils literal notranslate"><span class="pre">HexColors</span></code></a><ul>
<li><a class="reference internal" href="#evennia.utils.hex_colors.HexColors.TRUECOLOR_FG"><code class="docutils literal notranslate"><span class="pre">HexColors.TRUECOLOR_FG</span></code></a></li>
<li><a class="reference internal" href="#evennia.utils.hex_colors.HexColors.TRUECOLOR_BG"><code class="docutils literal notranslate"><span class="pre">HexColors.TRUECOLOR_BG</span></code></a></li>
<li><a class="reference internal" href="#evennia.utils.hex_colors.HexColors.hex_sub"><code class="docutils literal notranslate"><span class="pre">HexColors.hex_sub</span></code></a></li>
<li><a class="reference internal" href="#evennia.utils.hex_colors.HexColors.sub_truecolor"><code class="docutils literal notranslate"><span class="pre">HexColors.sub_truecolor()</span></code></a></li>
<li><a class="reference internal" href="#evennia.utils.hex_colors.HexColors.xterm_truecolor_to_html_style"><code class="docutils literal notranslate"><span class="pre">HexColors.xterm_truecolor_to_html_style()</span></code></a></li>
</ul>
</li>
</ul>
</li>
</ul>
<div>
<h4>Previous topic</h4>
<p class="topless"><a href="evennia.utils.gametime.html"
title="previous chapter">evennia.utils.gametime</a></p>
</div>
<div>
<h4>Next topic</h4>
<p class="topless"><a href="evennia.utils.logger.html"
title="next chapter">evennia.utils.logger</a></p>
</div>
<div role="note" aria-label="source link">
<!--h3>This Page</h3-->
<ul class="this-page-menu">
<li><a href="../_sources/api/evennia.utils.hex_colors.md.txt"
rel="nofollow">Show Page Source</a></li>
</ul>
</div><h3>Links</h3>
<ul>
<li><a href="https://www.evennia.com/docs/latest/index.html">Documentation Top</a> </li>
<li><a href="https://www.evennia.com">Evennia Home</a> </li>
<li><a href="https://github.com/evennia/evennia">Github</a> </li>
<li><a href="http://games.evennia.com">Game Index</a> </li>
<li>
<a href="https://discord.gg/AJJpcRUhtF">Discord</a> -
<a href="https://github.com/evennia/evennia/discussions">Discussions</a> -
<a href="https://evennia.blogspot.com/">Blog</a>
</li>
</ul>
<h3>Doc Versions</h3>
<ul>
<li>
<a href="https://www.evennia.com/docs/latest/index.html">latest (main branch)</a>
</li>
<li>
<a href="https://www.evennia.com/docs/5.x/index.html">v5.0.0 branch (outdated)</a>
</li>
<li>
<a href="https://www.evennia.com/docs/4.x/index.html">v4.0.0 branch (outdated)</a>
</li>
<li>
<a href="https://www.evennia.com/docs/3.x/index.html">v3.0.0 branch (outdated)</a>
</li>
<li>
<a href="https://www.evennia.com/docs/2.x/index.html">v2.0.0 branch (outdated)</a>
</li>
<li>
<a href="https://www.evennia.com/docs/1.x/index.html">v1.0.0 branch (outdated)</a>
</li>
<li>
<a href="https://www.evennia.com/docs/0.x/index.html">v0.9.5 branch (outdated)</a>
</li>
</ul>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="related" role="navigation" aria-label="Related">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="General Index"
>index</a></li>
<li class="right" >
<a href="../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="right" >
<a href="evennia.utils.logger.html" title="evennia.utils.logger"
>next</a> |</li>
<li class="right" >
<a href="evennia.utils.gametime.html" title="evennia.utils.gametime"
>previous</a> |</li>
<li class="nav-item nav-item-0"><a href="../index.html">Evennia</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../Evennia-API.html" >API Summary</a> &#187;</li>
<li class="nav-item nav-item-2"><a href="evennia-api.html" >evennia</a> &#187;</li>
<li class="nav-item nav-item-3"><a href="evennia.html" >evennia</a> &#187;</li>
<li class="nav-item nav-item-4"><a href="evennia.utils.html" >evennia.utils</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">evennia.utils.hex_colors</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2024, The Evennia developer community.
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 8.2.3.
</div>
</body>
</html>