543 lines
110 KiB
HTML
Vendored
543 lines
110 KiB
HTML
Vendored
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh">
|
||
<head>
|
||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
||
<meta name="generator" content="Doxygen 1.13.1"/>
|
||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||
<title>dl: D:/dl/dl/math/dl_align.h 源文件</title>
|
||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||
<script type="text/javascript" src="jquery.js"></script>
|
||
<script type="text/javascript" src="dynsections.js"></script>
|
||
<script type="text/javascript" src="clipboard.js"></script>
|
||
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
||
<script type="text/javascript" src="resize.js"></script>
|
||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||
</head>
|
||
<body>
|
||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||
<div id="titlearea">
|
||
<table cellspacing="0" cellpadding="0">
|
||
<tbody>
|
||
<tr id="projectrow">
|
||
<td id="projectalign">
|
||
<div id="projectname">dl
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
<!-- end header part -->
|
||
<!-- 制作者 Doxygen 1.13.1 -->
|
||
<script type="text/javascript">
|
||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||
$(function() { codefold.init(0); });
|
||
/* @license-end */
|
||
</script>
|
||
<script type="text/javascript" src="menudata.js"></script>
|
||
<script type="text/javascript" src="menu.js"></script>
|
||
<script type="text/javascript">
|
||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||
$(function() {
|
||
initMenu('',false,false,'search.php','搜索',false);
|
||
});
|
||
/* @license-end */
|
||
</script>
|
||
<div id="main-nav"></div>
|
||
<script type="text/javascript">
|
||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||
$(function(){ initResizable(false); });
|
||
/* @license-end */
|
||
</script>
|
||
<div id="nav-path" class="navpath">
|
||
<ul>
|
||
<li class="navelem"><a class="el" href="dir_17297ffb27ce571941f5fb5008f01a1f.html">dl</a></li><li class="navelem"><a class="el" href="dir_d483d22d183a78db490f3ff6a4a958eb.html">math</a></li> </ul>
|
||
</div>
|
||
</div><!-- top -->
|
||
<div id="doc-content">
|
||
<div class="header">
|
||
<div class="headertitle"><div class="title">dl_align.h</div></div>
|
||
</div><!--header-->
|
||
<div class="contents">
|
||
<a href="dl__align_8h.html">浏览该文件的文档.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span></div>
|
||
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="preprocessor">#pragma once</span></div>
|
||
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span> </div>
|
||
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="preprocessor">#include <array></span></div>
|
||
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="preprocessor">#include <string_view></span></div>
|
||
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span> </div>
|
||
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="preprocessor">#include "<a class="code" href="dl__concept_8h.html">base/dl_concept.h</a>"</span></div>
|
||
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="preprocessor">#include "<a class="code" href="dl__log_8h.html">io/dl_log.h</a>"</span></div>
|
||
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="preprocessor">#include "<a class="code" href="dl__string_8h.html">base/dl_string.h</a>"</span></div>
|
||
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span></div>
|
||
<div class="foldopen" id="foldopen00022" data-start="{" data-end="}">
|
||
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html"> 22</a></span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacedl_1_1_align.html">dl::Align</a></div>
|
||
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span>{</div>
|
||
<div class="foldopen" id="foldopen00024" data-start="{" data-end="};">
|
||
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#a5151d3d49e4c178180183ec07e428129"> 24</a></span><span class="keyword">enum class</span> <a class="code hl_enumeration" href="namespacedl_1_1_align.html#a5151d3d49e4c178180183ec07e428129">Direction</a> : <span class="keywordtype">int</span></div>
|
||
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span>{</div>
|
||
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#a5151d3d49e4c178180183ec07e428129a1dd26f1f1790f0b56d5752fb0fbecef0"> 26</a></span> <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a5151d3d49e4c178180183ec07e428129a1dd26f1f1790f0b56d5752fb0fbecef0">BACK</a> = -1,</div>
|
||
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#a5151d3d49e4c178180183ec07e428129a529e9e0beb5f85d1f132917c1a09860c"> 27</a></span> <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a5151d3d49e4c178180183ec07e428129a529e9e0beb5f85d1f132917c1a09860c">ZERO</a> = 0,</div>
|
||
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#a5151d3d49e4c178180183ec07e428129abb2fe5c916efb43aab8cbb68f997d2ee"> 28</a></span> <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a5151d3d49e4c178180183ec07e428129abb2fe5c916efb43aab8cbb68f997d2ee">FRONT</a> = 1,</div>
|
||
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#a5151d3d49e4c178180183ec07e428129ae6887a217aac2e6a015efe499d1c0f81"> 29</a></span> <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a5151d3d49e4c178180183ec07e428129ae6887a217aac2e6a015efe499d1c0f81">FARTHEST</a> = std::numeric_limits<int>::lowest()</div>
|
||
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span>};</div>
|
||
</div>
|
||
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> </div>
|
||
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#a48cd0eba7de9d3427adf72f9d9bf50f5"> 32</a></span><span class="keyword">using </span><a class="code hl_typedef" href="namespacedl_1_1_align.html#a48cd0eba7de9d3427adf72f9d9bf50f5">Direction2</a> = <a class="code hl_class" href="classdl_1_1_array.html">Array<Direction, 2></a>;</div>
|
||
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> </div>
|
||
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#ad84b240b963cebbd1b30aa69916dee5b"> 34</a></span><span class="keyword">constexpr</span> <a class="code hl_typedef" href="namespacedl_1_1_align.html#a48cd0eba7de9d3427adf72f9d9bf50f5">Direction2</a> <a class="code hl_variable" href="namespacedl_1_1_align.html#ad84b240b963cebbd1b30aa69916dee5b">LT</a> = { <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a5151d3d49e4c178180183ec07e428129a1dd26f1f1790f0b56d5752fb0fbecef0">Direction::BACK</a>, <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a5151d3d49e4c178180183ec07e428129a1dd26f1f1790f0b56d5752fb0fbecef0">Direction::BACK</a> };</div>
|
||
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#af1e5f722e9c33dc1909dd059929db7c9"> 35</a></span><span class="keyword">constexpr</span> <a class="code hl_typedef" href="namespacedl_1_1_align.html#a48cd0eba7de9d3427adf72f9d9bf50f5">Direction2</a> <a class="code hl_variable" href="namespacedl_1_1_align.html#af1e5f722e9c33dc1909dd059929db7c9">LC</a> = { <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a5151d3d49e4c178180183ec07e428129a1dd26f1f1790f0b56d5752fb0fbecef0">Direction::BACK</a>, <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a5151d3d49e4c178180183ec07e428129a529e9e0beb5f85d1f132917c1a09860c">Direction::ZERO</a> };</div>
|
||
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#a3753f75e15f331c3f99065d512a195c0"> 36</a></span><span class="keyword">constexpr</span> <a class="code hl_typedef" href="namespacedl_1_1_align.html#a48cd0eba7de9d3427adf72f9d9bf50f5">Direction2</a> <a class="code hl_variable" href="namespacedl_1_1_align.html#a3753f75e15f331c3f99065d512a195c0">LB</a> = { <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a5151d3d49e4c178180183ec07e428129a1dd26f1f1790f0b56d5752fb0fbecef0">Direction::BACK</a>, <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a5151d3d49e4c178180183ec07e428129abb2fe5c916efb43aab8cbb68f997d2ee">Direction::FRONT</a> };</div>
|
||
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> </div>
|
||
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#a908a97eff5085ef24d7a7f38071b7ec5"> 38</a></span><span class="keyword">constexpr</span> <a class="code hl_typedef" href="namespacedl_1_1_align.html#a48cd0eba7de9d3427adf72f9d9bf50f5">Direction2</a> <a class="code hl_variable" href="namespacedl_1_1_align.html#a908a97eff5085ef24d7a7f38071b7ec5">CT</a> = { <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a5151d3d49e4c178180183ec07e428129a529e9e0beb5f85d1f132917c1a09860c">Direction::ZERO</a>, <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a5151d3d49e4c178180183ec07e428129a1dd26f1f1790f0b56d5752fb0fbecef0">Direction::BACK</a> };</div>
|
||
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#ac209a03bf892bbcc2b5d1f0227126ffe"> 39</a></span><span class="keyword">constexpr</span> <a class="code hl_typedef" href="namespacedl_1_1_align.html#a48cd0eba7de9d3427adf72f9d9bf50f5">Direction2</a> <a class="code hl_variable" href="namespacedl_1_1_align.html#ac209a03bf892bbcc2b5d1f0227126ffe">CC</a> = { <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a5151d3d49e4c178180183ec07e428129a529e9e0beb5f85d1f132917c1a09860c">Direction::ZERO</a>, <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a5151d3d49e4c178180183ec07e428129a529e9e0beb5f85d1f132917c1a09860c">Direction::ZERO</a> };</div>
|
||
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#a55deda4e85c43f11caf78360cd0655e8"> 40</a></span><span class="keyword">constexpr</span> <a class="code hl_typedef" href="namespacedl_1_1_align.html#a48cd0eba7de9d3427adf72f9d9bf50f5">Direction2</a> <a class="code hl_variable" href="namespacedl_1_1_align.html#a55deda4e85c43f11caf78360cd0655e8">CB</a> = { <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a5151d3d49e4c178180183ec07e428129a529e9e0beb5f85d1f132917c1a09860c">Direction::ZERO</a>, <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a5151d3d49e4c178180183ec07e428129abb2fe5c916efb43aab8cbb68f997d2ee">Direction::FRONT</a> };</div>
|
||
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> </div>
|
||
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#aa12b82d91d5bf75ecf092f3b3dafdbbd"> 42</a></span><span class="keyword">constexpr</span> <a class="code hl_typedef" href="namespacedl_1_1_align.html#a48cd0eba7de9d3427adf72f9d9bf50f5">Direction2</a> <a class="code hl_variable" href="namespacedl_1_1_align.html#aa12b82d91d5bf75ecf092f3b3dafdbbd">RT</a> = { <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a5151d3d49e4c178180183ec07e428129abb2fe5c916efb43aab8cbb68f997d2ee">Direction::FRONT</a>, <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a5151d3d49e4c178180183ec07e428129a1dd26f1f1790f0b56d5752fb0fbecef0">Direction::BACK</a> };</div>
|
||
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#a693337a9158a3e3a5e59c468f664a275"> 43</a></span><span class="keyword">constexpr</span> <a class="code hl_typedef" href="namespacedl_1_1_align.html#a48cd0eba7de9d3427adf72f9d9bf50f5">Direction2</a> <a class="code hl_variable" href="namespacedl_1_1_align.html#a693337a9158a3e3a5e59c468f664a275">RC</a> = { <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a5151d3d49e4c178180183ec07e428129abb2fe5c916efb43aab8cbb68f997d2ee">Direction::FRONT</a>, <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a5151d3d49e4c178180183ec07e428129a529e9e0beb5f85d1f132917c1a09860c">Direction::ZERO</a> };</div>
|
||
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#add8862386c1ad39f756e12912764a584"> 44</a></span><span class="keyword">constexpr</span> <a class="code hl_typedef" href="namespacedl_1_1_align.html#a48cd0eba7de9d3427adf72f9d9bf50f5">Direction2</a> <a class="code hl_variable" href="namespacedl_1_1_align.html#add8862386c1ad39f756e12912764a584">RB</a> = { <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a5151d3d49e4c178180183ec07e428129abb2fe5c916efb43aab8cbb68f997d2ee">Direction::FRONT</a>, <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a5151d3d49e4c178180183ec07e428129abb2fe5c916efb43aab8cbb68f997d2ee">Direction::FRONT</a> };</div>
|
||
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> </div>
|
||
<div class="foldopen" id="foldopen00046" data-start="{" data-end="};">
|
||
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#a5ed4eb33e8047a6cc2a21ab8c035ca81"> 46</a></span><span class="keyword">enum class</span> <a class="code hl_enumeration" href="namespacedl_1_1_align.html#a5ed4eb33e8047a6cc2a21ab8c035ca81">Dir4</a></div>
|
||
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span>{</div>
|
||
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#a5ed4eb33e8047a6cc2a21ab8c035ca81a21507b40c80068eda19865706fdc2403"> 48</a></span> <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a5ed4eb33e8047a6cc2a21ab8c035ca81a21507b40c80068eda19865706fdc2403">RIGHT</a> = 0,</div>
|
||
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#a5ed4eb33e8047a6cc2a21ab8c035ca81a1fabf63de5c96c78e2a40805bcdeb73b"> 49</a></span> <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a5ed4eb33e8047a6cc2a21ab8c035ca81a1fabf63de5c96c78e2a40805bcdeb73b">BOTTOM</a>,</div>
|
||
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#a5ed4eb33e8047a6cc2a21ab8c035ca81a684d325a7303f52e64011467ff5c5758"> 50</a></span> <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a5ed4eb33e8047a6cc2a21ab8c035ca81a684d325a7303f52e64011467ff5c5758">LEFT</a>,</div>
|
||
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#a5ed4eb33e8047a6cc2a21ab8c035ca81a6705777b712ee811e76fb07162081d63"> 51</a></span> <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a5ed4eb33e8047a6cc2a21ab8c035ca81a6705777b712ee811e76fb07162081d63">TOP</a></div>
|
||
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span>};</div>
|
||
</div>
|
||
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> </div>
|
||
<div class="foldopen" id="foldopen00054" data-start="{" data-end="};">
|
||
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#a4a2717e37f7f86f1ebba6f7518652f86"> 54</a></span><span class="keyword">enum class</span> <a class="code hl_enumeration" href="namespacedl_1_1_align.html#a4a2717e37f7f86f1ebba6f7518652f86">Dir8</a></div>
|
||
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span>{</div>
|
||
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#a4a2717e37f7f86f1ebba6f7518652f86a21507b40c80068eda19865706fdc2403"> 56</a></span> <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a5ed4eb33e8047a6cc2a21ab8c035ca81a21507b40c80068eda19865706fdc2403">RIGHT</a> = 0,</div>
|
||
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#a4a2717e37f7f86f1ebba6f7518652f86ac8ee22e1fc2165dfd3d2b04aef93b2f2"> 57</a></span> <a class="code hl_variable" href="namespacedl_1_1_align.html#add8862386c1ad39f756e12912764a584">RB</a>,</div>
|
||
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#a4a2717e37f7f86f1ebba6f7518652f86a1fabf63de5c96c78e2a40805bcdeb73b"> 58</a></span> <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a5ed4eb33e8047a6cc2a21ab8c035ca81a1fabf63de5c96c78e2a40805bcdeb73b">BOTTOM</a>,</div>
|
||
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#a4a2717e37f7f86f1ebba6f7518652f86ac951270e425b15fc20c64da4341c1d89"> 59</a></span> <a class="code hl_variable" href="namespacedl_1_1_align.html#a3753f75e15f331c3f99065d512a195c0">LB</a>,</div>
|
||
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#a4a2717e37f7f86f1ebba6f7518652f86a684d325a7303f52e64011467ff5c5758"> 60</a></span> <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a5ed4eb33e8047a6cc2a21ab8c035ca81a684d325a7303f52e64011467ff5c5758">LEFT</a>,</div>
|
||
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#a4a2717e37f7f86f1ebba6f7518652f86ac562607189d77eb9dfb707464c1e7b0b"> 61</a></span> <a class="code hl_variable" href="namespacedl_1_1_align.html#ad84b240b963cebbd1b30aa69916dee5b">LT</a>,</div>
|
||
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#a4a2717e37f7f86f1ebba6f7518652f86a6705777b712ee811e76fb07162081d63"> 62</a></span> <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a5ed4eb33e8047a6cc2a21ab8c035ca81a6705777b712ee811e76fb07162081d63">TOP</a>,</div>
|
||
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#a4a2717e37f7f86f1ebba6f7518652f86a705610ed3e5ec724f5cb0d76a5fd3aa1"> 63</a></span> <a class="code hl_variable" href="namespacedl_1_1_align.html#aa12b82d91d5bf75ecf092f3b3dafdbbd">RT</a>,</div>
|
||
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#a4a2717e37f7f86f1ebba6f7518652f86ab50339a10e1de285ac99d4c3990b8693"> 64</a></span> <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a4a2717e37f7f86f1ebba6f7518652f86ab50339a10e1de285ac99d4c3990b8693">NONE</a></div>
|
||
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span>};</div>
|
||
</div>
|
||
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span></div>
|
||
<div class="foldopen" id="foldopen00070" data-start="{" data-end="}">
|
||
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#a5371d8f109bc49105b803b381008bf07"> 70</a></span><span class="keyword">constexpr</span> <a class="code hl_enumeration" href="namespacedl_1_1_align.html#a4a2717e37f7f86f1ebba6f7518652f86">Dir8</a> <a class="code hl_function" href="namespacedl_1_1_align.html#a5371d8f109bc49105b803b381008bf07">GetDir8</a>(<span class="keyword">const</span> <a class="code hl_typedef" href="namespacedl.html#a6347394cca146fd6b8fedf1d3545de59">PointU</a>& p0, <span class="keyword">const</span> <a class="code hl_typedef" href="namespacedl.html#a6347394cca146fd6b8fedf1d3545de59">PointU</a>& p1)</div>
|
||
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span>{</div>
|
||
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> <span class="comment">// 用“绝对距离 + 符号”判断,而不是 p0.x + 1 == p1.x:</span></div>
|
||
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> <span class="comment">// PointU 是无符号,加法在哨兵坐标 (unsigned)-1 上会回绕,</span></div>
|
||
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> <span class="comment">// 把相距极远的两个点误判成相邻。</span></div>
|
||
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> dx_abs = (p1.x > p0.x) ? (p1.x - p0.x) : (p0.x - p1.x);</div>
|
||
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> dy_abs = (p1.y > p0.y) ? (p1.y - p0.y) : (p0.y - p1.y);</div>
|
||
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> <span class="keywordflow">if</span> (dx_abs > 1 || dy_abs > 1)</div>
|
||
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a4a2717e37f7f86f1ebba6f7518652f86ab50339a10e1de285ac99d4c3990b8693">Dir8::NONE</a>; <span class="comment">// 同一格或不相邻</span></div>
|
||
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> </div>
|
||
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> <span class="keyword">const</span> <span class="keywordtype">int</span> dx = (p1.x > p0.x) ? 1 : ((p1.x < p0.x) ? -1 : 0);</div>
|
||
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> <span class="keyword">const</span> <span class="keywordtype">int</span> dy = (p1.y > p0.y) ? 1 : ((p1.y < p0.y) ? -1 : 0);</div>
|
||
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> </div>
|
||
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> <span class="comment">// 查表:行 = dy+1(上/中/下),列 = dx+1(左/中/右)</span></div>
|
||
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> <span class="keyword">constexpr</span> <a class="code hl_enumeration" href="namespacedl_1_1_align.html#a4a2717e37f7f86f1ebba6f7518652f86">Dir8</a> DIR8_XY[3][3] = {</div>
|
||
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> { <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a4a2717e37f7f86f1ebba6f7518652f86ac562607189d77eb9dfb707464c1e7b0b">Dir8::LT</a>, <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a4a2717e37f7f86f1ebba6f7518652f86a6705777b712ee811e76fb07162081d63">Dir8::TOP</a>, <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a4a2717e37f7f86f1ebba6f7518652f86a705610ed3e5ec724f5cb0d76a5fd3aa1">Dir8::RT</a> },</div>
|
||
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> { <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a4a2717e37f7f86f1ebba6f7518652f86a684d325a7303f52e64011467ff5c5758">Dir8::LEFT</a>, <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a4a2717e37f7f86f1ebba6f7518652f86ab50339a10e1de285ac99d4c3990b8693">Dir8::NONE</a>, <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a4a2717e37f7f86f1ebba6f7518652f86a21507b40c80068eda19865706fdc2403">Dir8::RIGHT</a> },</div>
|
||
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> { <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a4a2717e37f7f86f1ebba6f7518652f86ac951270e425b15fc20c64da4341c1d89">Dir8::LB</a>, <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a4a2717e37f7f86f1ebba6f7518652f86a1fabf63de5c96c78e2a40805bcdeb73b">Dir8::BOTTOM</a>, <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a4a2717e37f7f86f1ebba6f7518652f86ac8ee22e1fc2165dfd3d2b04aef93b2f2">Dir8::RB</a> },</div>
|
||
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> };</div>
|
||
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> <span class="keywordflow">return</span> DIR8_XY[dy + 1][dx + 1];</div>
|
||
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span>}</div>
|
||
</div>
|
||
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span></div>
|
||
<div class="foldopen" id="foldopen00093" data-start="{" data-end="}">
|
||
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#a12ce7f2b903017ba79df1c04af28ffe2"> 93</a></span><span class="keyword">constexpr</span> <a class="code hl_enumeration" href="namespacedl_1_1_align.html#a4a2717e37f7f86f1ebba6f7518652f86">Dir8</a> <a class="code hl_function" href="namespacedl_1_1_align.html#a12ce7f2b903017ba79df1c04af28ffe2">GetDir8R</a>(<a class="code hl_enumeration" href="namespacedl_1_1_align.html#a4a2717e37f7f86f1ebba6f7518652f86">Dir8</a> dir)</div>
|
||
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span>{</div>
|
||
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> <span class="keywordflow">switch</span> (dir)</div>
|
||
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> {</div>
|
||
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a4a2717e37f7f86f1ebba6f7518652f86a21507b40c80068eda19865706fdc2403">Dir8::RIGHT</a>:</div>
|
||
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a4a2717e37f7f86f1ebba6f7518652f86a684d325a7303f52e64011467ff5c5758">Dir8::LEFT</a>;</div>
|
||
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a4a2717e37f7f86f1ebba6f7518652f86ac8ee22e1fc2165dfd3d2b04aef93b2f2">Dir8::RB</a>:</div>
|
||
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a4a2717e37f7f86f1ebba6f7518652f86ac562607189d77eb9dfb707464c1e7b0b">Dir8::LT</a>;</div>
|
||
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a4a2717e37f7f86f1ebba6f7518652f86a1fabf63de5c96c78e2a40805bcdeb73b">Dir8::BOTTOM</a>:</div>
|
||
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a4a2717e37f7f86f1ebba6f7518652f86a6705777b712ee811e76fb07162081d63">Dir8::TOP</a>;</div>
|
||
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a4a2717e37f7f86f1ebba6f7518652f86ac951270e425b15fc20c64da4341c1d89">Dir8::LB</a>:</div>
|
||
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a4a2717e37f7f86f1ebba6f7518652f86a705610ed3e5ec724f5cb0d76a5fd3aa1">Dir8::RT</a>;</div>
|
||
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a4a2717e37f7f86f1ebba6f7518652f86a684d325a7303f52e64011467ff5c5758">Dir8::LEFT</a>:</div>
|
||
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a4a2717e37f7f86f1ebba6f7518652f86a21507b40c80068eda19865706fdc2403">Dir8::RIGHT</a>;</div>
|
||
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a4a2717e37f7f86f1ebba6f7518652f86ac562607189d77eb9dfb707464c1e7b0b">Dir8::LT</a>:</div>
|
||
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a4a2717e37f7f86f1ebba6f7518652f86ac8ee22e1fc2165dfd3d2b04aef93b2f2">Dir8::RB</a>;</div>
|
||
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a4a2717e37f7f86f1ebba6f7518652f86a6705777b712ee811e76fb07162081d63">Dir8::TOP</a>:</div>
|
||
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a4a2717e37f7f86f1ebba6f7518652f86a1fabf63de5c96c78e2a40805bcdeb73b">Dir8::BOTTOM</a>;</div>
|
||
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a4a2717e37f7f86f1ebba6f7518652f86a705610ed3e5ec724f5cb0d76a5fd3aa1">Dir8::RT</a>:</div>
|
||
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a4a2717e37f7f86f1ebba6f7518652f86ac951270e425b15fc20c64da4341c1d89">Dir8::LB</a>;</div>
|
||
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> <span class="keywordflow">default</span>:</div>
|
||
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> <span class="keywordflow">break</span>;</div>
|
||
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> }</div>
|
||
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a4a2717e37f7f86f1ebba6f7518652f86ab50339a10e1de285ac99d4c3990b8693">Dir8::NONE</a>;</div>
|
||
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span>}</div>
|
||
</div>
|
||
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> </div>
|
||
<div class="foldopen" id="foldopen00119" data-start="{" data-end="}">
|
||
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#ac1dc4a33033f2c915be4bf51abd7acd3"> 119</a></span><span class="keyword">constexpr</span> <span class="keywordtype">int</span> <a class="code hl_function" href="namespacedl_1_1_align.html#ac1dc4a33033f2c915be4bf51abd7acd3">Dir8ToMir2</a>(<a class="code hl_enumeration" href="namespacedl_1_1_align.html#a4a2717e37f7f86f1ebba6f7518652f86">Dir8</a> dir)</div>
|
||
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span>{</div>
|
||
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> <span class="keywordflow">return</span> ((<span class="keywordtype">int</span>)dir + 2) % 8;</div>
|
||
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span>}</div>
|
||
</div>
|
||
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span></div>
|
||
<div class="foldopen" id="foldopen00124" data-start="{" data-end="};">
|
||
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#a2a32f7b0906c35f1afb7d5496cbdaf00"> 124</a></span><span class="keyword">enum class</span> <a class="code hl_enumeration" href="namespacedl_1_1_align.html#a2a32f7b0906c35f1afb7d5496cbdaf00">LTRB</a></div>
|
||
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span>{</div>
|
||
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#a2a32f7b0906c35f1afb7d5496cbdaf00a684d325a7303f52e64011467ff5c5758"> 126</a></span> <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a5ed4eb33e8047a6cc2a21ab8c035ca81a684d325a7303f52e64011467ff5c5758">LEFT</a> = 0,</div>
|
||
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#a2a32f7b0906c35f1afb7d5496cbdaf00a6705777b712ee811e76fb07162081d63"> 127</a></span> <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a5ed4eb33e8047a6cc2a21ab8c035ca81a6705777b712ee811e76fb07162081d63">TOP</a> = 1,</div>
|
||
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#a2a32f7b0906c35f1afb7d5496cbdaf00a21507b40c80068eda19865706fdc2403"> 128</a></span> <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a5ed4eb33e8047a6cc2a21ab8c035ca81a21507b40c80068eda19865706fdc2403">RIGHT</a> = 2,</div>
|
||
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#a2a32f7b0906c35f1afb7d5496cbdaf00a1fabf63de5c96c78e2a40805bcdeb73b"> 129</a></span> <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a5ed4eb33e8047a6cc2a21ab8c035ca81a1fabf63de5c96c78e2a40805bcdeb73b">BOTTOM</a> = 3</div>
|
||
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span>};</div>
|
||
</div>
|
||
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span></div>
|
||
<div class="foldopen" id="foldopen00132" data-start="{" data-end="};">
|
||
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#ae1eaa667a7b7247b7950dd50568dc550"> 132</a></span><span class="keyword">enum class</span> <a class="code hl_enumeration" href="namespacedl_1_1_align.html#ae1eaa667a7b7247b7950dd50568dc550">Corner</a></div>
|
||
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span>{</div>
|
||
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#ae1eaa667a7b7247b7950dd50568dc550ac562607189d77eb9dfb707464c1e7b0b"> 134</a></span> <a class="code hl_variable" href="namespacedl_1_1_align.html#ad84b240b963cebbd1b30aa69916dee5b">LT</a> = 0,</div>
|
||
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#ae1eaa667a7b7247b7950dd50568dc550a705610ed3e5ec724f5cb0d76a5fd3aa1"> 135</a></span> <a class="code hl_variable" href="namespacedl_1_1_align.html#aa12b82d91d5bf75ecf092f3b3dafdbbd">RT</a> = 1,</div>
|
||
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#ae1eaa667a7b7247b7950dd50568dc550ac8ee22e1fc2165dfd3d2b04aef93b2f2"> 136</a></span> <a class="code hl_variable" href="namespacedl_1_1_align.html#add8862386c1ad39f756e12912764a584">RB</a> = 2,</div>
|
||
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#ae1eaa667a7b7247b7950dd50568dc550ac951270e425b15fc20c64da4341c1d89"> 137</a></span> <a class="code hl_variable" href="namespacedl_1_1_align.html#a3753f75e15f331c3f99065d512a195c0">LB</a> = 3,</div>
|
||
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span>};</div>
|
||
</div>
|
||
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span></div>
|
||
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#af95bf29b8a87fe331c60cc976ecc1dbc"> 141</a></span><span class="keyword">constexpr</span> <span class="keywordtype">int</span> <a class="code hl_variable" href="namespacedl_1_1_align.html#af95bf29b8a87fe331c60cc976ecc1dbc">MASK_J</a> = 1;</div>
|
||
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#a895bb673c7a98f4b12b7626926e9da69"> 142</a></span><span class="keyword">constexpr</span> <span class="keywordtype">int</span> <a class="code hl_variable" href="namespacedl_1_1_align.html#a895bb673c7a98f4b12b7626926e9da69">MASK_L</a> = 2;</div>
|
||
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#af588659f22a3d7db21de7b018f6f8f98"> 143</a></span><span class="keyword">constexpr</span> <span class="keywordtype">int</span> <a class="code hl_variable" href="namespacedl_1_1_align.html#af588659f22a3d7db21de7b018f6f8f98">MASK_7</a> = 4;</div>
|
||
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#af0432b5677167032d88f47bd6c95a645"> 144</a></span><span class="keyword">constexpr</span> <span class="keywordtype">int</span> <a class="code hl_variable" href="namespacedl_1_1_align.html#af0432b5677167032d88f47bd6c95a645">MASK_Γ</a> = 8;</div>
|
||
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> </div>
|
||
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span><span class="keyword">template</span><<span class="keyword">typename</span> T, <span class="keyword">typename</span> F></div>
|
||
<div class="foldopen" id="foldopen00147" data-start="{" data-end="}">
|
||
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#a1789a208149b8d39397532b4c50b99f8"> 147</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="namespacedl_1_1_align.html#a1789a208149b8d39397532b4c50b99f8">GetMask</a>(<span class="keyword">const</span> std::array<T, 4>& arr, <a class="code hl_enumvalue" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132a800618943025315f869e4e1f09471012">F</a> func)</div>
|
||
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span>{</div>
|
||
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> <span class="keywordtype">int</span> ret = 0;</div>
|
||
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> <span class="keywordflow">if</span> (func(arr[0]))</div>
|
||
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> ret |= <a class="code hl_variable" href="namespacedl_1_1_align.html#af95bf29b8a87fe331c60cc976ecc1dbc">MASK_J</a>;</div>
|
||
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> <span class="keywordflow">if</span> (func(arr[1]))</div>
|
||
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> ret |= <a class="code hl_variable" href="namespacedl_1_1_align.html#a895bb673c7a98f4b12b7626926e9da69">MASK_L</a>;</div>
|
||
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> <span class="keywordflow">if</span> (func(arr[2]))</div>
|
||
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> ret |= <a class="code hl_variable" href="namespacedl_1_1_align.html#af588659f22a3d7db21de7b018f6f8f98">MASK_7</a>;</div>
|
||
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> <span class="keywordflow">if</span> (func(arr[3]))</div>
|
||
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span> ret |= <a class="code hl_variable" href="namespacedl_1_1_align.html#af0432b5677167032d88f47bd6c95a645">MASK_Γ</a>;</div>
|
||
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> <span class="keywordflow">return</span> ret;</div>
|
||
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span>}</div>
|
||
</div>
|
||
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> </div>
|
||
<div class="foldopen" id="foldopen00161" data-start="{" data-end="}">
|
||
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#acbbfe7747d3c469a72dc31c0436d197e"> 161</a></span><span class="keyword">constexpr</span> <span class="keywordtype">size_t</span> <a class="code hl_function" href="namespacedl_1_1_align.html#acbbfe7747d3c469a72dc31c0436d197e">Mask2Index</a>(<span class="keywordtype">int</span> mask)</div>
|
||
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span>{</div>
|
||
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> <span class="keywordflow">switch</span> (mask)</div>
|
||
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> {</div>
|
||
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> <span class="keywordflow">case</span> 0:</div>
|
||
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> <span class="keywordflow">return</span> 6;</div>
|
||
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span> <span class="keywordflow">case</span> <a class="code hl_variable" href="namespacedl_1_1_align.html#af95bf29b8a87fe331c60cc976ecc1dbc">MASK_J</a>:</div>
|
||
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> <span class="keywordflow">return</span> 3;</div>
|
||
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span> <span class="keywordflow">case</span> <a class="code hl_variable" href="namespacedl_1_1_align.html#a895bb673c7a98f4b12b7626926e9da69">MASK_L</a>:</div>
|
||
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> <span class="keywordflow">return</span> 4;</div>
|
||
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span> <span class="keywordflow">case</span> <a class="code hl_variable" href="namespacedl_1_1_align.html#af95bf29b8a87fe331c60cc976ecc1dbc">MASK_J</a> | <a class="code hl_variable" href="namespacedl_1_1_align.html#a895bb673c7a98f4b12b7626926e9da69">MASK_L</a>:</div>
|
||
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span> <span class="keywordflow">return</span> 11;</div>
|
||
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> <span class="keywordflow">case</span> <a class="code hl_variable" href="namespacedl_1_1_align.html#af588659f22a3d7db21de7b018f6f8f98">MASK_7</a>:</div>
|
||
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span> <span class="keywordflow">return</span> 8;</div>
|
||
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> <span class="keywordflow">case</span> <a class="code hl_variable" href="namespacedl_1_1_align.html#af95bf29b8a87fe331c60cc976ecc1dbc">MASK_J</a> | <a class="code hl_variable" href="namespacedl_1_1_align.html#af588659f22a3d7db21de7b018f6f8f98">MASK_7</a>:</div>
|
||
<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span> <span class="keywordflow">return</span> 7;</div>
|
||
<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span> <span class="keywordflow">case</span> <a class="code hl_variable" href="namespacedl_1_1_align.html#a895bb673c7a98f4b12b7626926e9da69">MASK_L</a> | <a class="code hl_variable" href="namespacedl_1_1_align.html#af588659f22a3d7db21de7b018f6f8f98">MASK_7</a>:</div>
|
||
<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span> <span class="keywordflow">return</span> 14;</div>
|
||
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span> <span class="keywordflow">case</span> <a class="code hl_variable" href="namespacedl_1_1_align.html#af95bf29b8a87fe331c60cc976ecc1dbc">MASK_J</a> | <a class="code hl_variable" href="namespacedl_1_1_align.html#a895bb673c7a98f4b12b7626926e9da69">MASK_L</a> | <a class="code hl_variable" href="namespacedl_1_1_align.html#af588659f22a3d7db21de7b018f6f8f98">MASK_7</a>:</div>
|
||
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> <span class="keywordflow">return</span> 12;</div>
|
||
<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span> <span class="keywordflow">case</span> <a class="code hl_variable" href="namespacedl_1_1_align.html#af0432b5677167032d88f47bd6c95a645">MASK_Γ</a>:</div>
|
||
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span> <span class="keywordflow">return</span> 9;</div>
|
||
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span> <span class="keywordflow">case</span> <a class="code hl_variable" href="namespacedl_1_1_align.html#af95bf29b8a87fe331c60cc976ecc1dbc">MASK_J</a> | <a class="code hl_variable" href="namespacedl_1_1_align.html#af0432b5677167032d88f47bd6c95a645">MASK_Γ</a>:</div>
|
||
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span> <span class="keywordflow">return</span> 13;</div>
|
||
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span> <span class="keywordflow">case</span> <a class="code hl_variable" href="namespacedl_1_1_align.html#a895bb673c7a98f4b12b7626926e9da69">MASK_L</a> | <a class="code hl_variable" href="namespacedl_1_1_align.html#af0432b5677167032d88f47bd6c95a645">MASK_Γ</a>:</div>
|
||
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span> <span class="keywordflow">return</span> 5;</div>
|
||
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span> <span class="keywordflow">case</span> <a class="code hl_variable" href="namespacedl_1_1_align.html#af95bf29b8a87fe331c60cc976ecc1dbc">MASK_J</a> | <a class="code hl_variable" href="namespacedl_1_1_align.html#a895bb673c7a98f4b12b7626926e9da69">MASK_L</a> | <a class="code hl_variable" href="namespacedl_1_1_align.html#af0432b5677167032d88f47bd6c95a645">MASK_Γ</a>:</div>
|
||
<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span> <span class="keywordflow">return</span> 10;</div>
|
||
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span> <span class="keywordflow">case</span> <a class="code hl_variable" href="namespacedl_1_1_align.html#af588659f22a3d7db21de7b018f6f8f98">MASK_7</a> | <a class="code hl_variable" href="namespacedl_1_1_align.html#af0432b5677167032d88f47bd6c95a645">MASK_Γ</a>:</div>
|
||
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span> <span class="keywordflow">return</span> 1;</div>
|
||
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span> <span class="keywordflow">case</span> <a class="code hl_variable" href="namespacedl_1_1_align.html#af95bf29b8a87fe331c60cc976ecc1dbc">MASK_J</a> | <a class="code hl_variable" href="namespacedl_1_1_align.html#af588659f22a3d7db21de7b018f6f8f98">MASK_7</a> | <a class="code hl_variable" href="namespacedl_1_1_align.html#af0432b5677167032d88f47bd6c95a645">MASK_Γ</a>:</div>
|
||
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span> <span class="keywordflow">return</span> 2;</div>
|
||
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> <span class="keywordflow">case</span> <a class="code hl_variable" href="namespacedl_1_1_align.html#a895bb673c7a98f4b12b7626926e9da69">MASK_L</a> | <a class="code hl_variable" href="namespacedl_1_1_align.html#af588659f22a3d7db21de7b018f6f8f98">MASK_7</a> | <a class="code hl_variable" href="namespacedl_1_1_align.html#af0432b5677167032d88f47bd6c95a645">MASK_Γ</a>:</div>
|
||
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span> <span class="keywordflow">return</span> 0;</div>
|
||
<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span> <span class="keywordflow">case</span> <a class="code hl_variable" href="namespacedl_1_1_align.html#af95bf29b8a87fe331c60cc976ecc1dbc">MASK_J</a> | <a class="code hl_variable" href="namespacedl_1_1_align.html#a895bb673c7a98f4b12b7626926e9da69">MASK_L</a> | <a class="code hl_variable" href="namespacedl_1_1_align.html#af588659f22a3d7db21de7b018f6f8f98">MASK_7</a> | <a class="code hl_variable" href="namespacedl_1_1_align.html#af0432b5677167032d88f47bd6c95a645">MASK_Γ</a>:</div>
|
||
<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span> <span class="keywordflow">return</span> 15;</div>
|
||
<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"> 197</span> <span class="keywordflow">default</span>:</div>
|
||
<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span> <span class="keywordflow">break</span>;</div>
|
||
<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"> 199</span> }</div>
|
||
<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"> 200</span> <span class="keywordflow">return</span> -1;</div>
|
||
<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"> 201</span>}</div>
|
||
</div>
|
||
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span></div>
|
||
<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span><span class="keyword">template</span><IsSigned T, std::<span class="keywordtype">size_t</span> N></div>
|
||
<div class="foldopen" id="foldopen00208" data-start="{" data-end="}">
|
||
<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#ad714df65beaef3ed8c4a3c51747b142f"> 208</a></span><span class="keyword">constexpr</span> <a class="code hl_class" href="classdl_1_1_array.html">Array<T, N></a> <a class="code hl_function" href="namespacedl_1_1_align.html#ad714df65beaef3ed8c4a3c51747b142f">Size2Anchor</a>(<span class="keyword">const</span> <a class="code hl_class" href="classdl_1_1_array.html">Array<T, N></a>& size, <span class="keyword">const</span> <a class="code hl_class" href="classdl_1_1_array.html">Array<Direction, N></a>& dir)</div>
|
||
<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"> 209</span>{</div>
|
||
<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"> 210</span> <a class="code hl_class" href="classdl_1_1_array.html">Array<T, N></a> ret;</div>
|
||
<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"> 211</span> <span class="keywordflow">for</span> (std::size_t i = 0; i < <a class="code hl_enumvalue" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132a8d9c307cb7f3c4a32822a51922d1ceaa">N</a>; ++i)</div>
|
||
<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"> 212</span> {</div>
|
||
<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span> ret[i] = (size[i] / <span class="keyword">static_cast<</span><a class="code hl_enumvalue" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a><span class="keyword">></span>(2)) * ((<span class="keywordtype">int</span>)dir[i] + 1);</div>
|
||
<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span> }</div>
|
||
<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</span> <span class="keywordflow">return</span> ret;</div>
|
||
<div class="line"><a id="l00216" name="l00216"></a><span class="lineno"> 216</span>}</div>
|
||
</div>
|
||
<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"> 217</span></div>
|
||
<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"> 222</span><span class="keyword">template</span><IsSigned T, std::<span class="keywordtype">size_t</span> N></div>
|
||
<div class="foldopen" id="foldopen00223" data-start="{" data-end="}">
|
||
<div class="line"><a id="l00223" name="l00223"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#a770916af1526e09b23aba60dd337d777"> 223</a></span><span class="keyword">constexpr</span> <a class="code hl_class" href="classdl_1_1_array.html">Array<T, N></a> <a class="code hl_function" href="namespacedl_1_1_align.html#ad714df65beaef3ed8c4a3c51747b142f">Size2Anchor</a>(</div>
|
||
<div class="line"><a id="l00224" name="l00224"></a><span class="lineno"> 224</span> <span class="keyword">const</span> <a class="code hl_class" href="classdl_1_1_array.html">Array<T, N></a>& size,</div>
|
||
<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"> 225</span> <span class="keyword">const</span> <a class="code hl_class" href="classdl_1_1_array.html">Array<T, N></a>& size_self,</div>
|
||
<div class="line"><a id="l00226" name="l00226"></a><span class="lineno"> 226</span> <span class="keyword">const</span> <a class="code hl_class" href="classdl_1_1_array.html">Array<Direction, N></a>& dir)</div>
|
||
<div class="line"><a id="l00227" name="l00227"></a><span class="lineno"> 227</span>{</div>
|
||
<div class="line"><a id="l00228" name="l00228"></a><span class="lineno"> 228</span> <a class="code hl_class" href="classdl_1_1_array.html">Array<T, N></a> ret;</div>
|
||
<div class="line"><a id="l00229" name="l00229"></a><span class="lineno"> 229</span> <span class="keywordflow">for</span> (std::size_t i = 0; i < <a class="code hl_enumvalue" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132a8d9c307cb7f3c4a32822a51922d1ceaa">N</a>; ++i)</div>
|
||
<div class="line"><a id="l00230" name="l00230"></a><span class="lineno"> 230</span> {</div>
|
||
<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"> 231</span> ret[i] = ((size[i] - size_self[i]) / <span class="keyword">static_cast<</span><a class="code hl_enumvalue" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a><span class="keyword">></span>(2)) * ((<span class="keywordtype">int</span>)dir[i] + 1);</div>
|
||
<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"> 232</span> }</div>
|
||
<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"> 233</span> <span class="keywordflow">return</span> ret;</div>
|
||
<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"> 234</span>}</div>
|
||
</div>
|
||
<div class="line"><a id="l00235" name="l00235"></a><span class="lineno"> 235</span></div>
|
||
<div class="line"><a id="l00238" name="l00238"></a><span class="lineno"> 238</span><span class="keyword">template</span><IsSigned T, std::<span class="keywordtype">size_t</span> N></div>
|
||
<div class="foldopen" id="foldopen00239" data-start="{" data-end="}">
|
||
<div class="line"><a id="l00239" name="l00239"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#a9ec918cd3de84e87af4bbaff81226233"> 239</a></span><span class="keyword">constexpr</span> <a class="code hl_class" href="classdl_1_1_array.html">Array<T, N></a> <a class="code hl_function" href="namespacedl_1_1_align.html#a9ec918cd3de84e87af4bbaff81226233">Dir2Offset</a>(<span class="keyword">const</span> <a class="code hl_class" href="classdl_1_1_array.html">Array<T, N></a>& size, <a class="code hl_enumeration" href="namespacedl_1_1_align.html#a5ed4eb33e8047a6cc2a21ab8c035ca81">Dir4</a> dir)</div>
|
||
<div class="line"><a id="l00240" name="l00240"></a><span class="lineno"> 240</span>{</div>
|
||
<div class="line"><a id="l00241" name="l00241"></a><span class="lineno"> 241</span> <span class="keywordflow">switch</span> (dir)</div>
|
||
<div class="line"><a id="l00242" name="l00242"></a><span class="lineno"> 242</span> {</div>
|
||
<div class="line"><a id="l00243" name="l00243"></a><span class="lineno"> 243</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a5ed4eb33e8047a6cc2a21ab8c035ca81a21507b40c80068eda19865706fdc2403">dl::Align::Dir4::RIGHT</a>:</div>
|
||
<div class="line"><a id="l00244" name="l00244"></a><span class="lineno"> 244</span> <span class="keywordflow">return</span> {};</div>
|
||
<div class="line"><a id="l00245" name="l00245"></a><span class="lineno"> 245</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a5ed4eb33e8047a6cc2a21ab8c035ca81a1fabf63de5c96c78e2a40805bcdeb73b">dl::Align::Dir4::BOTTOM</a>:</div>
|
||
<div class="line"><a id="l00246" name="l00246"></a><span class="lineno"> 246</span> <span class="keywordflow">return</span> {size.h, 0};</div>
|
||
<div class="line"><a id="l00247" name="l00247"></a><span class="lineno"> 247</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a5ed4eb33e8047a6cc2a21ab8c035ca81a684d325a7303f52e64011467ff5c5758">dl::Align::Dir4::LEFT</a>:</div>
|
||
<div class="line"><a id="l00248" name="l00248"></a><span class="lineno"> 248</span> <span class="keywordflow">return</span> { -size.w, -size.h };</div>
|
||
<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"> 249</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a5ed4eb33e8047a6cc2a21ab8c035ca81a6705777b712ee811e76fb07162081d63">dl::Align::Dir4::TOP</a>:</div>
|
||
<div class="line"><a id="l00250" name="l00250"></a><span class="lineno"> 250</span> <span class="keywordflow">return</span> { size.h, 0 };</div>
|
||
<div class="line"><a id="l00251" name="l00251"></a><span class="lineno"> 251</span> <span class="keywordflow">default</span>:</div>
|
||
<div class="line"><a id="l00252" name="l00252"></a><span class="lineno"> 252</span> <span class="keywordflow">break</span>;</div>
|
||
<div class="line"><a id="l00253" name="l00253"></a><span class="lineno"> 253</span> }</div>
|
||
<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"> 254</span> <span class="keywordflow">return</span> {};</div>
|
||
<div class="line"><a id="l00255" name="l00255"></a><span class="lineno"> 255</span>}</div>
|
||
</div>
|
||
<div class="line"><a id="l00256" name="l00256"></a><span class="lineno"> 256</span></div>
|
||
<div class="foldopen" id="foldopen00258" data-start="{" data-end="}">
|
||
<div class="line"><a id="l00258" name="l00258"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#ad6c8364747933c9b1466b121b532fe9f"> 258</a></span><span class="keyword">inline</span> <span class="keywordtype">float</span> <a class="code hl_function" href="namespacedl_1_1_align.html#ad6c8364747933c9b1466b121b532fe9f">Dir2Rotate</a>(<a class="code hl_enumeration" href="namespacedl_1_1_align.html#a5ed4eb33e8047a6cc2a21ab8c035ca81">Dir4</a> dir)</div>
|
||
<div class="line"><a id="l00259" name="l00259"></a><span class="lineno"> 259</span>{</div>
|
||
<div class="line"><a id="l00260" name="l00260"></a><span class="lineno"> 260</span> <span class="keywordflow">switch</span> (dir)</div>
|
||
<div class="line"><a id="l00261" name="l00261"></a><span class="lineno"> 261</span> {</div>
|
||
<div class="line"><a id="l00262" name="l00262"></a><span class="lineno"> 262</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a5ed4eb33e8047a6cc2a21ab8c035ca81a21507b40c80068eda19865706fdc2403">Dir4::RIGHT</a>: <span class="keywordflow">return</span> 0.0f;</div>
|
||
<div class="line"><a id="l00263" name="l00263"></a><span class="lineno"> 263</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a5ed4eb33e8047a6cc2a21ab8c035ca81a1fabf63de5c96c78e2a40805bcdeb73b">Dir4::BOTTOM</a>: <span class="keywordflow">return</span> <a class="code hl_function" href="namespacedl_1_1_math.html#a1274044c749de5cfee397f1faf1b0910">Math::PIF</a>(1, 2);</div>
|
||
<div class="line"><a id="l00264" name="l00264"></a><span class="lineno"> 264</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a5ed4eb33e8047a6cc2a21ab8c035ca81a684d325a7303f52e64011467ff5c5758">Dir4::LEFT</a>: <span class="keywordflow">return</span> <a class="code hl_function" href="namespacedl_1_1_math.html#a1274044c749de5cfee397f1faf1b0910">Math::PIF</a>(2, 2);</div>
|
||
<div class="line"><a id="l00265" name="l00265"></a><span class="lineno"> 265</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a5ed4eb33e8047a6cc2a21ab8c035ca81a6705777b712ee811e76fb07162081d63">Dir4::TOP</a>: <span class="keywordflow">return</span> <a class="code hl_function" href="namespacedl_1_1_math.html#a1274044c749de5cfee397f1faf1b0910">Math::PIF</a>(3, 2);</div>
|
||
<div class="line"><a id="l00266" name="l00266"></a><span class="lineno"> 266</span> }</div>
|
||
<div class="line"><a id="l00267" name="l00267"></a><span class="lineno"> 267</span> <span class="keywordflow">return</span> 0.0f;</div>
|
||
<div class="line"><a id="l00268" name="l00268"></a><span class="lineno"> 268</span>}</div>
|
||
</div>
|
||
<div class="line"><a id="l00269" name="l00269"></a><span class="lineno"> 269</span> </div>
|
||
<div class="line"><a id="l00270" name="l00270"></a><span class="lineno"> 270</span></div>
|
||
<div class="line"><a id="l00276" name="l00276"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#a79009de32340c0a32fd5f4f4f65756cd"> 276</a></span><a class="code hl_typedef" href="namespacedl_1_1_align.html#a48cd0eba7de9d3427adf72f9d9bf50f5">Direction2</a> <a class="code hl_function" href="namespacedl_1_1_align.html#a79009de32340c0a32fd5f4f4f65756cd">Anchor2Direction</a>(std::string_view anchor);</div>
|
||
<div class="line"><a id="l00277" name="l00277"></a><span class="lineno"> 277</span></div>
|
||
<div class="line"><a id="l00284" name="l00284"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#a124e957ef2aa87de0f09352e5219409d"> 284</a></span><a class="code hl_typedef" href="namespacedl.html#af6ec361004784c4eabc4ee2b9e85d603">Point</a> <a class="code hl_function" href="namespacedl_1_1_align.html#a124e957ef2aa87de0f09352e5219409d">Anchor2Point</a>(<span class="keyword">const</span> <a class="code hl_typedef" href="namespacedl.html#af4b025efbd5dae0045cce4cbc9546416">Size</a>& size, std::string_view anchor);</div>
|
||
<div class="line"><a id="l00285" name="l00285"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#a146b85edb873f3951c061924b878e428"> 285</a></span><a class="code hl_typedef" href="namespacedl.html#a04611b2d3b24b5b4ad6569cdea6f62d4">Position</a> <a class="code hl_function" href="namespacedl_1_1_align.html#a146b85edb873f3951c061924b878e428">Anchor2Position</a>(<span class="keyword">const</span> <a class="code hl_typedef" href="namespacedl.html#a04611b2d3b24b5b4ad6569cdea6f62d4">Position</a>& size, std::string_view anchor);</div>
|
||
<div class="line"><a id="l00286" name="l00286"></a><span class="lineno"> 286</span> </div>
|
||
<div class="line"><a id="l00287" name="l00287"></a><span class="lineno"> 287</span><span class="comment">//-----------------------获取Rect斜角方位-----------------------------</span></div>
|
||
<div class="line"><a id="l00288" name="l00288"></a><span class="lineno"> 288</span><span class="keyword">template</span><<span class="keyword">typename</span> T></div>
|
||
<div class="foldopen" id="foldopen00289" data-start="{" data-end="}">
|
||
<div class="line"><a id="l00289" name="l00289"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#a8f4b0ab21ff681dac0c359f391974eeb"> 289</a></span><span class="keyword">constexpr</span> <a class="code hl_class" href="classdl_1_1_array.html">Array<T, 2></a> <a class="code hl_function" href="namespacedl_1_1_align.html#a8f4b0ab21ff681dac0c359f391974eeb">GetLT</a>(<span class="keyword">const</span> <a class="code hl_class" href="classdl_1_1_array.html">Array<T, 4></a>& rect)</div>
|
||
<div class="line"><a id="l00290" name="l00290"></a><span class="lineno"> 290</span>{</div>
|
||
<div class="line"><a id="l00291" name="l00291"></a><span class="lineno"> 291</span> <span class="keywordflow">return</span> { rect[(size_t)<a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a2a32f7b0906c35f1afb7d5496cbdaf00a684d325a7303f52e64011467ff5c5758">LTRB::LEFT</a>], rect[(<span class="keywordtype">size_t</span>)<a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a2a32f7b0906c35f1afb7d5496cbdaf00a6705777b712ee811e76fb07162081d63">LTRB::TOP</a>] };</div>
|
||
<div class="line"><a id="l00292" name="l00292"></a><span class="lineno"> 292</span>}</div>
|
||
</div>
|
||
<div class="line"><a id="l00293" name="l00293"></a><span class="lineno"> 293</span><span class="keyword">template</span><<span class="keyword">typename</span> T></div>
|
||
<div class="foldopen" id="foldopen00294" data-start="{" data-end="}">
|
||
<div class="line"><a id="l00294" name="l00294"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#a4c4da16bc42afb0ae0913797b9a6f0e3"> 294</a></span><span class="keyword">constexpr</span> <a class="code hl_class" href="classdl_1_1_array.html">Array<T, 2></a> <a class="code hl_function" href="namespacedl_1_1_align.html#a4c4da16bc42afb0ae0913797b9a6f0e3">GetRT</a>(<span class="keyword">const</span> <a class="code hl_class" href="classdl_1_1_array.html">Array<T, 4></a>& rect)</div>
|
||
<div class="line"><a id="l00295" name="l00295"></a><span class="lineno"> 295</span>{</div>
|
||
<div class="line"><a id="l00296" name="l00296"></a><span class="lineno"> 296</span> <span class="keywordflow">return</span> { rect[(size_t)<a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a2a32f7b0906c35f1afb7d5496cbdaf00a21507b40c80068eda19865706fdc2403">LTRB::RIGHT</a>], rect[(<span class="keywordtype">size_t</span>)<a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a2a32f7b0906c35f1afb7d5496cbdaf00a6705777b712ee811e76fb07162081d63">LTRB::TOP</a>] };</div>
|
||
<div class="line"><a id="l00297" name="l00297"></a><span class="lineno"> 297</span>}</div>
|
||
</div>
|
||
<div class="line"><a id="l00298" name="l00298"></a><span class="lineno"> 298</span><span class="keyword">template</span><<span class="keyword">typename</span> T></div>
|
||
<div class="foldopen" id="foldopen00299" data-start="{" data-end="}">
|
||
<div class="line"><a id="l00299" name="l00299"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#a525217696d6e6a57c6b5221b5d3f3471"> 299</a></span><span class="keyword">constexpr</span> <a class="code hl_class" href="classdl_1_1_array.html">Array<T, 2></a> <a class="code hl_function" href="namespacedl_1_1_align.html#a525217696d6e6a57c6b5221b5d3f3471">GetRB</a>(<span class="keyword">const</span> <a class="code hl_class" href="classdl_1_1_array.html">Array<T, 4></a>& rect)</div>
|
||
<div class="line"><a id="l00300" name="l00300"></a><span class="lineno"> 300</span>{</div>
|
||
<div class="line"><a id="l00301" name="l00301"></a><span class="lineno"> 301</span> <span class="keywordflow">return</span> { rect[(size_t)<a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a2a32f7b0906c35f1afb7d5496cbdaf00a21507b40c80068eda19865706fdc2403">LTRB::RIGHT</a>], rect[(<span class="keywordtype">size_t</span>)<a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a2a32f7b0906c35f1afb7d5496cbdaf00a1fabf63de5c96c78e2a40805bcdeb73b">LTRB::BOTTOM</a>] };</div>
|
||
<div class="line"><a id="l00302" name="l00302"></a><span class="lineno"> 302</span>}</div>
|
||
</div>
|
||
<div class="line"><a id="l00303" name="l00303"></a><span class="lineno"> 303</span><span class="keyword">template</span><<span class="keyword">typename</span> T></div>
|
||
<div class="foldopen" id="foldopen00304" data-start="{" data-end="}">
|
||
<div class="line"><a id="l00304" name="l00304"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#a5d50dc8d55bdebb9971a5e03da79ea05"> 304</a></span><span class="keyword">constexpr</span> <a class="code hl_class" href="classdl_1_1_array.html">Array<T, 2></a> <a class="code hl_function" href="namespacedl_1_1_align.html#a5d50dc8d55bdebb9971a5e03da79ea05">GetLB</a>(<span class="keyword">const</span> <a class="code hl_class" href="classdl_1_1_array.html">Array<T, 4></a>& rect)</div>
|
||
<div class="line"><a id="l00305" name="l00305"></a><span class="lineno"> 305</span>{</div>
|
||
<div class="line"><a id="l00306" name="l00306"></a><span class="lineno"> 306</span> <span class="keywordflow">return</span> { rect[(size_t)<a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a2a32f7b0906c35f1afb7d5496cbdaf00a684d325a7303f52e64011467ff5c5758">LTRB::LEFT</a>], rect[(<span class="keywordtype">size_t</span>)<a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a2a32f7b0906c35f1afb7d5496cbdaf00a1fabf63de5c96c78e2a40805bcdeb73b">LTRB::BOTTOM</a>] };</div>
|
||
<div class="line"><a id="l00307" name="l00307"></a><span class="lineno"> 307</span>}</div>
|
||
</div>
|
||
<div class="line"><a id="l00308" name="l00308"></a><span class="lineno"> 308</span><span class="comment">//-----------------------获取Rect水平垂直方位-----------------------------</span></div>
|
||
<div class="line"><a id="l00309" name="l00309"></a><span class="lineno"> 309</span><span class="keyword">template</span><<span class="keyword">typename</span> T></div>
|
||
<div class="foldopen" id="foldopen00310" data-start="{" data-end="}">
|
||
<div class="line"><a id="l00310" name="l00310"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#a5397d776ab4fb21c41d7107d25af7448"> 310</a></span><span class="keyword">constexpr</span> <a class="code hl_enumvalue" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a>& <a class="code hl_function" href="namespacedl_1_1_align.html#a5397d776ab4fb21c41d7107d25af7448">GetLeft</a>(<a class="code hl_class" href="classdl_1_1_array.html">Array<T, 4></a>& rect)</div>
|
||
<div class="line"><a id="l00311" name="l00311"></a><span class="lineno"> 311</span>{</div>
|
||
<div class="line"><a id="l00312" name="l00312"></a><span class="lineno"> 312</span> <span class="keywordflow">return</span> rect[(size_t)<a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a2a32f7b0906c35f1afb7d5496cbdaf00a684d325a7303f52e64011467ff5c5758">LTRB::LEFT</a>];</div>
|
||
<div class="line"><a id="l00313" name="l00313"></a><span class="lineno"> 313</span>}</div>
|
||
</div>
|
||
<div class="line"><a id="l00314" name="l00314"></a><span class="lineno"> 314</span><span class="keyword">template</span><<span class="keyword">typename</span> T></div>
|
||
<div class="foldopen" id="foldopen00315" data-start="{" data-end="}">
|
||
<div class="line"><a id="l00315" name="l00315"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#a336bac34d798792d7c0463504e6e05f6"> 315</a></span><span class="keyword">constexpr</span> <a class="code hl_enumvalue" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a>& <a class="code hl_function" href="namespacedl_1_1_align.html#a336bac34d798792d7c0463504e6e05f6">GetTop</a>(<a class="code hl_class" href="classdl_1_1_array.html">Array<T, 4></a>& rect)</div>
|
||
<div class="line"><a id="l00316" name="l00316"></a><span class="lineno"> 316</span>{</div>
|
||
<div class="line"><a id="l00317" name="l00317"></a><span class="lineno"> 317</span> <span class="keywordflow">return</span> rect[(size_t)<a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a2a32f7b0906c35f1afb7d5496cbdaf00a6705777b712ee811e76fb07162081d63">LTRB::TOP</a>];</div>
|
||
<div class="line"><a id="l00318" name="l00318"></a><span class="lineno"> 318</span>}</div>
|
||
</div>
|
||
<div class="line"><a id="l00319" name="l00319"></a><span class="lineno"> 319</span><span class="keyword">template</span><<span class="keyword">typename</span> T></div>
|
||
<div class="foldopen" id="foldopen00320" data-start="{" data-end="}">
|
||
<div class="line"><a id="l00320" name="l00320"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#a68bb59094a272311df75fdf0854993e1"> 320</a></span><span class="keyword">constexpr</span> <a class="code hl_enumvalue" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a>& <a class="code hl_function" href="namespacedl_1_1_align.html#a68bb59094a272311df75fdf0854993e1">GetRight</a>(<a class="code hl_class" href="classdl_1_1_array.html">Array<T, 4></a>& rect)</div>
|
||
<div class="line"><a id="l00321" name="l00321"></a><span class="lineno"> 321</span>{</div>
|
||
<div class="line"><a id="l00322" name="l00322"></a><span class="lineno"> 322</span> <span class="keywordflow">return</span> rect[(size_t)<a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a2a32f7b0906c35f1afb7d5496cbdaf00a21507b40c80068eda19865706fdc2403">LTRB::RIGHT</a>];</div>
|
||
<div class="line"><a id="l00323" name="l00323"></a><span class="lineno"> 323</span>}</div>
|
||
</div>
|
||
<div class="line"><a id="l00324" name="l00324"></a><span class="lineno"> 324</span><span class="keyword">template</span><<span class="keyword">typename</span> T></div>
|
||
<div class="foldopen" id="foldopen00325" data-start="{" data-end="}">
|
||
<div class="line"><a id="l00325" name="l00325"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#a08f5b7acc5e9e2d5d726dbd5009c7454"> 325</a></span><span class="keyword">constexpr</span> <a class="code hl_enumvalue" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a>& <a class="code hl_function" href="namespacedl_1_1_align.html#a08f5b7acc5e9e2d5d726dbd5009c7454">GetBottom</a>(<a class="code hl_class" href="classdl_1_1_array.html">Array<T, 4></a>& rect)</div>
|
||
<div class="line"><a id="l00326" name="l00326"></a><span class="lineno"> 326</span>{</div>
|
||
<div class="line"><a id="l00327" name="l00327"></a><span class="lineno"> 327</span> <span class="keywordflow">return</span> rect[(size_t)<a class="code hl_enumvalue" href="namespacedl_1_1_align.html#a2a32f7b0906c35f1afb7d5496cbdaf00a1fabf63de5c96c78e2a40805bcdeb73b">LTRB::BOTTOM</a>];</div>
|
||
<div class="line"><a id="l00328" name="l00328"></a><span class="lineno"> 328</span>}</div>
|
||
</div>
|
||
<div class="line"><a id="l00329" name="l00329"></a><span class="lineno"> 329</span> </div>
|
||
<div class="line"><a id="l00330" name="l00330"></a><span class="lineno"> 330</span><span class="comment">//-------------------------------隐藏含义获取--------------------------------</span></div>
|
||
<div class="line"><a id="l00335" name="l00335"></a><span class="lineno"> 335</span><span class="keyword">template</span><<span class="keyword">typename</span> T></div>
|
||
<div class="foldopen" id="foldopen00336" data-start="{" data-end="}">
|
||
<div class="line"><a id="l00336" name="l00336"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#af452e76f6b63b9a02ca6a13d025e9fbd"> 336</a></span><span class="keyword">constexpr</span> <a class="code hl_enumvalue" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a> <a class="code hl_function" href="namespacedl_1_1_align.html#af452e76f6b63b9a02ca6a13d025e9fbd">GetHeight</a>(<span class="keyword">const</span> <a class="code hl_class" href="classdl_1_1_array.html">Array<T, 4></a>& rect)</div>
|
||
<div class="line"><a id="l00337" name="l00337"></a><span class="lineno"> 337</span>{</div>
|
||
<div class="line"><a id="l00338" name="l00338"></a><span class="lineno"> 338</span> <span class="keywordflow">return</span> rect[3] - rect[1];</div>
|
||
<div class="line"><a id="l00339" name="l00339"></a><span class="lineno"> 339</span>}</div>
|
||
</div>
|
||
<div class="line"><a id="l00340" name="l00340"></a><span class="lineno"> 340</span></div>
|
||
<div class="line"><a id="l00345" name="l00345"></a><span class="lineno"> 345</span><span class="keyword">template</span><<span class="keyword">typename</span> T></div>
|
||
<div class="foldopen" id="foldopen00346" data-start="{" data-end="}">
|
||
<div class="line"><a id="l00346" name="l00346"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#aa578b926f9679b46ad30bff43f10f612"> 346</a></span><span class="keyword">constexpr</span> <a class="code hl_enumvalue" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a> <a class="code hl_function" href="namespacedl_1_1_align.html#aa578b926f9679b46ad30bff43f10f612">GetWidth</a>(<span class="keyword">const</span> <a class="code hl_class" href="classdl_1_1_array.html">Array<T, 4></a>& rect)</div>
|
||
<div class="line"><a id="l00347" name="l00347"></a><span class="lineno"> 347</span>{</div>
|
||
<div class="line"><a id="l00348" name="l00348"></a><span class="lineno"> 348</span> <span class="keywordflow">return</span> rect[2] - rect[0];</div>
|
||
<div class="line"><a id="l00349" name="l00349"></a><span class="lineno"> 349</span>}</div>
|
||
</div>
|
||
<div class="line"><a id="l00350" name="l00350"></a><span class="lineno"> 350</span></div>
|
||
<div class="line"><a id="l00355" name="l00355"></a><span class="lineno"> 355</span><span class="keyword">template</span><<span class="keyword">typename</span> T></div>
|
||
<div class="foldopen" id="foldopen00356" data-start="{" data-end="}">
|
||
<div class="line"><a id="l00356" name="l00356"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#a61835f381b8a591ef72cf67d60645d4b"> 356</a></span><span class="keyword">constexpr</span> <a class="code hl_class" href="classdl_1_1_array.html">Array<T, 2></a> <a class="code hl_function" href="namespacedl_1_1_align.html#a61835f381b8a591ef72cf67d60645d4b">GetSize</a>(<span class="keyword">const</span> <a class="code hl_class" href="classdl_1_1_array.html">Array<T, 4></a>& rect)</div>
|
||
<div class="line"><a id="l00357" name="l00357"></a><span class="lineno"> 357</span>{</div>
|
||
<div class="line"><a id="l00358" name="l00358"></a><span class="lineno"> 358</span> <span class="keywordflow">return</span> { <a class="code hl_function" href="namespacedl_1_1_align.html#aa578b926f9679b46ad30bff43f10f612">GetWidth</a>(rect), <a class="code hl_function" href="namespacedl_1_1_align.html#af452e76f6b63b9a02ca6a13d025e9fbd">GetHeight</a>(rect) };</div>
|
||
<div class="line"><a id="l00359" name="l00359"></a><span class="lineno"> 359</span>}</div>
|
||
</div>
|
||
<div class="line"><a id="l00360" name="l00360"></a><span class="lineno"> 360</span></div>
|
||
<div class="line"><a id="l00364" name="l00364"></a><span class="lineno"> 364</span><span class="keyword">template</span><<span class="keyword">typename</span> T></div>
|
||
<div class="foldopen" id="foldopen00365" data-start="{" data-end="}">
|
||
<div class="line"><a id="l00365" name="l00365"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#aa060d1ce553a0fe8f3ad5a048afc2029"> 365</a></span><span class="keyword">constexpr</span> <span class="keywordtype">void</span> <a class="code hl_function" href="namespacedl_1_1_align.html#aa060d1ce553a0fe8f3ad5a048afc2029">Shrink</a>(<a class="code hl_class" href="classdl_1_1_array.html">Array<T, 4></a>& rect, <span class="keyword">const</span> <a class="code hl_enumvalue" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a>& v)</div>
|
||
<div class="line"><a id="l00366" name="l00366"></a><span class="lineno"> 366</span>{</div>
|
||
<div class="line"><a id="l00367" name="l00367"></a><span class="lineno"> 367</span> rect[0] += v;</div>
|
||
<div class="line"><a id="l00368" name="l00368"></a><span class="lineno"> 368</span> rect[1] += v;</div>
|
||
<div class="line"><a id="l00369" name="l00369"></a><span class="lineno"> 369</span> rect[2] -= v;</div>
|
||
<div class="line"><a id="l00370" name="l00370"></a><span class="lineno"> 370</span> rect[3] -= v;</div>
|
||
<div class="line"><a id="l00371" name="l00371"></a><span class="lineno"> 371</span>}</div>
|
||
</div>
|
||
<div class="line"><a id="l00372" name="l00372"></a><span class="lineno"> 372</span><span class="keyword">template</span><<span class="keyword">typename</span> T></div>
|
||
<div class="foldopen" id="foldopen00373" data-start="{" data-end="}">
|
||
<div class="line"><a id="l00373" name="l00373"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#a1be1edd972cee4992edacd178eb221d7"> 373</a></span><span class="keyword">constexpr</span> <a class="code hl_class" href="classdl_1_1_array.html">Array<T, 4></a> <a class="code hl_function" href="namespacedl_1_1_align.html#aa060d1ce553a0fe8f3ad5a048afc2029">Shrink</a>(<span class="keyword">const</span> <a class="code hl_class" href="classdl_1_1_array.html">Array<T, 4></a>& rect, <span class="keyword">const</span> <a class="code hl_enumvalue" href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">T</a>& v)</div>
|
||
<div class="line"><a id="l00374" name="l00374"></a><span class="lineno"> 374</span>{</div>
|
||
<div class="line"><a id="l00375" name="l00375"></a><span class="lineno"> 375</span> <a class="code hl_class" href="classdl_1_1_array.html">Array<T, 4></a> ret = rect;</div>
|
||
<div class="line"><a id="l00376" name="l00376"></a><span class="lineno"> 376</span> <a class="code hl_function" href="namespacedl_1_1_align.html#aa060d1ce553a0fe8f3ad5a048afc2029">Shrink</a>(ret, v);</div>
|
||
<div class="line"><a id="l00377" name="l00377"></a><span class="lineno"> 377</span> <span class="keywordflow">return</span> ret;</div>
|
||
<div class="line"><a id="l00378" name="l00378"></a><span class="lineno"> 378</span>}</div>
|
||
</div>
|
||
<div class="line"><a id="l00379" name="l00379"></a><span class="lineno"> 379</span> </div>
|
||
<div class="line"><a id="l00380" name="l00380"></a><span class="lineno"> 380</span></div>
|
||
<div class="line"><a id="l00385" name="l00385"></a><span class="lineno"> 385</span><span class="keyword">template</span><<span class="keyword">typename</span> T></div>
|
||
<div class="foldopen" id="foldopen00386" data-start="{" data-end="}">
|
||
<div class="line"><a id="l00386" name="l00386"></a><span class="lineno"><a class="line" href="namespacedl_1_1_align.html#a056a50ddadf644ec40ce325a8c239647"> 386</a></span><span class="keyword">constexpr</span> <span class="keywordtype">void</span> <a class="code hl_function" href="namespacedl_1_1_align.html#a056a50ddadf644ec40ce325a8c239647">OffsetRect</a>(<a class="code hl_class" href="classdl_1_1_array.html">Array<T, 4></a>& rect, <span class="keyword">const</span> <a class="code hl_class" href="classdl_1_1_array.html">Array<T, 2></a>& offset)</div>
|
||
<div class="line"><a id="l00387" name="l00387"></a><span class="lineno"> 387</span>{</div>
|
||
<div class="line"><a id="l00388" name="l00388"></a><span class="lineno"> 388</span> rect.left += offset.x;</div>
|
||
<div class="line"><a id="l00389" name="l00389"></a><span class="lineno"> 389</span> rect.right += offset.x;</div>
|
||
<div class="line"><a id="l00390" name="l00390"></a><span class="lineno"> 390</span> rect.top += offset.y;</div>
|
||
<div class="line"><a id="l00391" name="l00391"></a><span class="lineno"> 391</span> rect.bottom += offset.y;</div>
|
||
<div class="line"><a id="l00392" name="l00392"></a><span class="lineno"> 392</span>}</div>
|
||
</div>
|
||
<div class="line"><a id="l00393" name="l00393"></a><span class="lineno"> 393</span> </div>
|
||
<div class="line"><a id="l00394" name="l00394"></a><span class="lineno"> 394</span>}</div>
|
||
</div>
|
||
<div class="ttc" id="aclassdl_1_1_array_html"><div class="ttname"><a href="classdl_1_1_array.html">dl::Array</a></div><div class="ttdoc">Array</div><div class="ttdef"><b>定义</b> <a href="dl__array_8h_source.html#l00028">dl_array.h:29</a></div></div>
|
||
<div class="ttc" id="adl__concept_8h_html"><div class="ttname"><a href="dl__concept_8h.html">dl_concept.h</a></div><div class="ttdoc">用于模板限定,更好的报错信息</div></div>
|
||
<div class="ttc" id="adl__log_8h_html"><div class="ttname"><a href="dl__log_8h.html">dl_log.h</a></div><div class="ttdoc">日志系统</div></div>
|
||
<div class="ttc" id="adl__string_8h_html"><div class="ttname"><a href="dl__string_8h.html">dl_string.h</a></div><div class="ttdoc">字符串相关</div></div>
|
||
<div class="ttc" id="anamespacedl_1_1_align_html"><div class="ttname"><a href="namespacedl_1_1_align.html">dl::Align</a></div><div class="ttdoc">方向、对齐定义</div><div class="ttdef"><b>定义</b> <a href="#l00022">dl_align.h:23</a></div></div>
|
||
<div class="ttc" id="anamespacedl_1_1_align_html_a056a50ddadf644ec40ce325a8c239647"><div class="ttname"><a href="namespacedl_1_1_align.html#a056a50ddadf644ec40ce325a8c239647">dl::Align::OffsetRect</a></div><div class="ttdeci">constexpr void OffsetRect(Array< T, 4 > &rect, const Array< T, 2 > &offset)</div><div class="ttdoc">偏移矩形</div><div class="ttdef"><b>定义</b> <a href="#l00386">dl_align.h:386</a></div></div>
|
||
<div class="ttc" id="anamespacedl_1_1_align_html_a08f5b7acc5e9e2d5d726dbd5009c7454"><div class="ttname"><a href="namespacedl_1_1_align.html#a08f5b7acc5e9e2d5d726dbd5009c7454">dl::Align::GetBottom</a></div><div class="ttdeci">constexpr T & GetBottom(Array< T, 4 > &rect)</div><div class="ttdef"><b>定义</b> <a href="#l00325">dl_align.h:325</a></div></div>
|
||
<div class="ttc" id="anamespacedl_1_1_align_html_a124e957ef2aa87de0f09352e5219409d"><div class="ttname"><a href="namespacedl_1_1_align.html#a124e957ef2aa87de0f09352e5219409d">dl::Align::Anchor2Point</a></div><div class="ttdeci">Point Anchor2Point(const Size &size, std::string_view anchor)</div><div class="ttdoc">锚点(字符串)返回 偏移</div></div>
|
||
<div class="ttc" id="anamespacedl_1_1_align_html_a12ce7f2b903017ba79df1c04af28ffe2"><div class="ttname"><a href="namespacedl_1_1_align.html#a12ce7f2b903017ba79df1c04af28ffe2">dl::Align::GetDir8R</a></div><div class="ttdeci">constexpr Dir8 GetDir8R(Dir8 dir)</div><div class="ttdoc">获取相反方向</div><div class="ttdef"><b>定义</b> <a href="#l00093">dl_align.h:93</a></div></div>
|
||
<div class="ttc" id="anamespacedl_1_1_align_html_a146b85edb873f3951c061924b878e428"><div class="ttname"><a href="namespacedl_1_1_align.html#a146b85edb873f3951c061924b878e428">dl::Align::Anchor2Position</a></div><div class="ttdeci">Position Anchor2Position(const Position &size, std::string_view anchor)</div></div>
|
||
<div class="ttc" id="anamespacedl_1_1_align_html_a1789a208149b8d39397532b4c50b99f8"><div class="ttname"><a href="namespacedl_1_1_align.html#a1789a208149b8d39397532b4c50b99f8">dl::Align::GetMask</a></div><div class="ttdeci">int GetMask(const std::array< T, 4 > &arr, F func)</div><div class="ttdef"><b>定义</b> <a href="#l00147">dl_align.h:147</a></div></div>
|
||
<div class="ttc" id="anamespacedl_1_1_align_html_a2a32f7b0906c35f1afb7d5496cbdaf00"><div class="ttname"><a href="namespacedl_1_1_align.html#a2a32f7b0906c35f1afb7d5496cbdaf00">dl::Align::LTRB</a></div><div class="ttdeci">LTRB</div><div class="ttdoc">左上右下(2个点,rect用)</div><div class="ttdef"><b>定义</b> <a href="#l00124">dl_align.h:125</a></div></div>
|
||
<div class="ttc" id="anamespacedl_1_1_align_html_a2a32f7b0906c35f1afb7d5496cbdaf00a1fabf63de5c96c78e2a40805bcdeb73b"><div class="ttname"><a href="namespacedl_1_1_align.html#a2a32f7b0906c35f1afb7d5496cbdaf00a1fabf63de5c96c78e2a40805bcdeb73b">dl::Align::LTRB::BOTTOM</a></div><div class="ttdeci">@ BOTTOM</div><div class="ttdef"><b>定义</b> <a href="#l00129">dl_align.h:129</a></div></div>
|
||
<div class="ttc" id="anamespacedl_1_1_align_html_a2a32f7b0906c35f1afb7d5496cbdaf00a21507b40c80068eda19865706fdc2403"><div class="ttname"><a href="namespacedl_1_1_align.html#a2a32f7b0906c35f1afb7d5496cbdaf00a21507b40c80068eda19865706fdc2403">dl::Align::LTRB::RIGHT</a></div><div class="ttdeci">@ RIGHT</div><div class="ttdef"><b>定义</b> <a href="#l00128">dl_align.h:128</a></div></div>
|
||
<div class="ttc" id="anamespacedl_1_1_align_html_a2a32f7b0906c35f1afb7d5496cbdaf00a6705777b712ee811e76fb07162081d63"><div class="ttname"><a href="namespacedl_1_1_align.html#a2a32f7b0906c35f1afb7d5496cbdaf00a6705777b712ee811e76fb07162081d63">dl::Align::LTRB::TOP</a></div><div class="ttdeci">@ TOP</div><div class="ttdef"><b>定义</b> <a href="#l00127">dl_align.h:127</a></div></div>
|
||
<div class="ttc" id="anamespacedl_1_1_align_html_a2a32f7b0906c35f1afb7d5496cbdaf00a684d325a7303f52e64011467ff5c5758"><div class="ttname"><a href="namespacedl_1_1_align.html#a2a32f7b0906c35f1afb7d5496cbdaf00a684d325a7303f52e64011467ff5c5758">dl::Align::LTRB::LEFT</a></div><div class="ttdeci">@ LEFT</div><div class="ttdef"><b>定义</b> <a href="#l00126">dl_align.h:126</a></div></div>
|
||
<div class="ttc" id="anamespacedl_1_1_align_html_a336bac34d798792d7c0463504e6e05f6"><div class="ttname"><a href="namespacedl_1_1_align.html#a336bac34d798792d7c0463504e6e05f6">dl::Align::GetTop</a></div><div class="ttdeci">constexpr T & GetTop(Array< T, 4 > &rect)</div><div class="ttdef"><b>定义</b> <a href="#l00315">dl_align.h:315</a></div></div>
|
||
<div class="ttc" id="anamespacedl_1_1_align_html_a3753f75e15f331c3f99065d512a195c0"><div class="ttname"><a href="namespacedl_1_1_align.html#a3753f75e15f331c3f99065d512a195c0">dl::Align::LB</a></div><div class="ttdeci">constexpr Direction2 LB</div><div class="ttdef"><b>定义</b> <a href="#l00036">dl_align.h:36</a></div></div>
|
||
<div class="ttc" id="anamespacedl_1_1_align_html_a48cd0eba7de9d3427adf72f9d9bf50f5"><div class="ttname"><a href="namespacedl_1_1_align.html#a48cd0eba7de9d3427adf72f9d9bf50f5">dl::Align::Direction2</a></div><div class="ttdeci">Array< Direction, 2 > Direction2</div><div class="ttdef"><b>定义</b> <a href="#l00032">dl_align.h:32</a></div></div>
|
||
<div class="ttc" id="anamespacedl_1_1_align_html_a4a2717e37f7f86f1ebba6f7518652f86"><div class="ttname"><a href="namespacedl_1_1_align.html#a4a2717e37f7f86f1ebba6f7518652f86">dl::Align::Dir8</a></div><div class="ttdeci">Dir8</div><div class="ttdef"><b>定义</b> <a href="#l00054">dl_align.h:55</a></div></div>
|
||
<div class="ttc" id="anamespacedl_1_1_align_html_a4a2717e37f7f86f1ebba6f7518652f86a1fabf63de5c96c78e2a40805bcdeb73b"><div class="ttname"><a href="namespacedl_1_1_align.html#a4a2717e37f7f86f1ebba6f7518652f86a1fabf63de5c96c78e2a40805bcdeb73b">dl::Align::Dir8::BOTTOM</a></div><div class="ttdeci">@ BOTTOM</div><div class="ttdef"><b>定义</b> <a href="#l00058">dl_align.h:58</a></div></div>
|
||
<div class="ttc" id="anamespacedl_1_1_align_html_a4a2717e37f7f86f1ebba6f7518652f86a21507b40c80068eda19865706fdc2403"><div class="ttname"><a href="namespacedl_1_1_align.html#a4a2717e37f7f86f1ebba6f7518652f86a21507b40c80068eda19865706fdc2403">dl::Align::Dir8::RIGHT</a></div><div class="ttdeci">@ RIGHT</div><div class="ttdef"><b>定义</b> <a href="#l00056">dl_align.h:56</a></div></div>
|
||
<div class="ttc" id="anamespacedl_1_1_align_html_a4a2717e37f7f86f1ebba6f7518652f86a6705777b712ee811e76fb07162081d63"><div class="ttname"><a href="namespacedl_1_1_align.html#a4a2717e37f7f86f1ebba6f7518652f86a6705777b712ee811e76fb07162081d63">dl::Align::Dir8::TOP</a></div><div class="ttdeci">@ TOP</div><div class="ttdef"><b>定义</b> <a href="#l00062">dl_align.h:62</a></div></div>
|
||
<div class="ttc" id="anamespacedl_1_1_align_html_a4a2717e37f7f86f1ebba6f7518652f86a684d325a7303f52e64011467ff5c5758"><div class="ttname"><a href="namespacedl_1_1_align.html#a4a2717e37f7f86f1ebba6f7518652f86a684d325a7303f52e64011467ff5c5758">dl::Align::Dir8::LEFT</a></div><div class="ttdeci">@ LEFT</div><div class="ttdef"><b>定义</b> <a href="#l00060">dl_align.h:60</a></div></div>
|
||
<div class="ttc" id="anamespacedl_1_1_align_html_a4a2717e37f7f86f1ebba6f7518652f86a705610ed3e5ec724f5cb0d76a5fd3aa1"><div class="ttname"><a href="namespacedl_1_1_align.html#a4a2717e37f7f86f1ebba6f7518652f86a705610ed3e5ec724f5cb0d76a5fd3aa1">dl::Align::Dir8::RT</a></div><div class="ttdeci">@ RT</div><div class="ttdef"><b>定义</b> <a href="#l00063">dl_align.h:63</a></div></div>
|
||
<div class="ttc" id="anamespacedl_1_1_align_html_a4a2717e37f7f86f1ebba6f7518652f86ab50339a10e1de285ac99d4c3990b8693"><div class="ttname"><a href="namespacedl_1_1_align.html#a4a2717e37f7f86f1ebba6f7518652f86ab50339a10e1de285ac99d4c3990b8693">dl::Align::Dir8::NONE</a></div><div class="ttdeci">@ NONE</div><div class="ttdef"><b>定义</b> <a href="#l00064">dl_align.h:64</a></div></div>
|
||
<div class="ttc" id="anamespacedl_1_1_align_html_a4a2717e37f7f86f1ebba6f7518652f86ac562607189d77eb9dfb707464c1e7b0b"><div class="ttname"><a href="namespacedl_1_1_align.html#a4a2717e37f7f86f1ebba6f7518652f86ac562607189d77eb9dfb707464c1e7b0b">dl::Align::Dir8::LT</a></div><div class="ttdeci">@ LT</div><div class="ttdef"><b>定义</b> <a href="#l00061">dl_align.h:61</a></div></div>
|
||
<div class="ttc" id="anamespacedl_1_1_align_html_a4a2717e37f7f86f1ebba6f7518652f86ac8ee22e1fc2165dfd3d2b04aef93b2f2"><div class="ttname"><a href="namespacedl_1_1_align.html#a4a2717e37f7f86f1ebba6f7518652f86ac8ee22e1fc2165dfd3d2b04aef93b2f2">dl::Align::Dir8::RB</a></div><div class="ttdeci">@ RB</div><div class="ttdef"><b>定义</b> <a href="#l00057">dl_align.h:57</a></div></div>
|
||
<div class="ttc" id="anamespacedl_1_1_align_html_a4a2717e37f7f86f1ebba6f7518652f86ac951270e425b15fc20c64da4341c1d89"><div class="ttname"><a href="namespacedl_1_1_align.html#a4a2717e37f7f86f1ebba6f7518652f86ac951270e425b15fc20c64da4341c1d89">dl::Align::Dir8::LB</a></div><div class="ttdeci">@ LB</div><div class="ttdef"><b>定义</b> <a href="#l00059">dl_align.h:59</a></div></div>
|
||
<div class="ttc" id="anamespacedl_1_1_align_html_a4c4da16bc42afb0ae0913797b9a6f0e3"><div class="ttname"><a href="namespacedl_1_1_align.html#a4c4da16bc42afb0ae0913797b9a6f0e3">dl::Align::GetRT</a></div><div class="ttdeci">constexpr Array< T, 2 > GetRT(const Array< T, 4 > &rect)</div><div class="ttdef"><b>定义</b> <a href="#l00294">dl_align.h:294</a></div></div>
|
||
<div class="ttc" id="anamespacedl_1_1_align_html_a5151d3d49e4c178180183ec07e428129"><div class="ttname"><a href="namespacedl_1_1_align.html#a5151d3d49e4c178180183ec07e428129">dl::Align::Direction</a></div><div class="ttdeci">Direction</div><div class="ttdef"><b>定义</b> <a href="#l00024">dl_align.h:25</a></div></div>
|
||
<div class="ttc" id="anamespacedl_1_1_align_html_a5151d3d49e4c178180183ec07e428129a1dd26f1f1790f0b56d5752fb0fbecef0"><div class="ttname"><a href="namespacedl_1_1_align.html#a5151d3d49e4c178180183ec07e428129a1dd26f1f1790f0b56d5752fb0fbecef0">dl::Align::Direction::BACK</a></div><div class="ttdeci">@ BACK</div><div class="ttdef"><b>定义</b> <a href="#l00026">dl_align.h:26</a></div></div>
|
||
<div class="ttc" id="anamespacedl_1_1_align_html_a5151d3d49e4c178180183ec07e428129a529e9e0beb5f85d1f132917c1a09860c"><div class="ttname"><a href="namespacedl_1_1_align.html#a5151d3d49e4c178180183ec07e428129a529e9e0beb5f85d1f132917c1a09860c">dl::Align::Direction::ZERO</a></div><div class="ttdeci">@ ZERO</div><div class="ttdef"><b>定义</b> <a href="#l00027">dl_align.h:27</a></div></div>
|
||
<div class="ttc" id="anamespacedl_1_1_align_html_a5151d3d49e4c178180183ec07e428129abb2fe5c916efb43aab8cbb68f997d2ee"><div class="ttname"><a href="namespacedl_1_1_align.html#a5151d3d49e4c178180183ec07e428129abb2fe5c916efb43aab8cbb68f997d2ee">dl::Align::Direction::FRONT</a></div><div class="ttdeci">@ FRONT</div><div class="ttdef"><b>定义</b> <a href="#l00028">dl_align.h:28</a></div></div>
|
||
<div class="ttc" id="anamespacedl_1_1_align_html_a5151d3d49e4c178180183ec07e428129ae6887a217aac2e6a015efe499d1c0f81"><div class="ttname"><a href="namespacedl_1_1_align.html#a5151d3d49e4c178180183ec07e428129ae6887a217aac2e6a015efe499d1c0f81">dl::Align::Direction::FARTHEST</a></div><div class="ttdeci">@ FARTHEST</div><div class="ttdef"><b>定义</b> <a href="#l00029">dl_align.h:29</a></div></div>
|
||
<div class="ttc" id="anamespacedl_1_1_align_html_a525217696d6e6a57c6b5221b5d3f3471"><div class="ttname"><a href="namespacedl_1_1_align.html#a525217696d6e6a57c6b5221b5d3f3471">dl::Align::GetRB</a></div><div class="ttdeci">constexpr Array< T, 2 > GetRB(const Array< T, 4 > &rect)</div><div class="ttdef"><b>定义</b> <a href="#l00299">dl_align.h:299</a></div></div>
|
||
<div class="ttc" id="anamespacedl_1_1_align_html_a5371d8f109bc49105b803b381008bf07"><div class="ttname"><a href="namespacedl_1_1_align.html#a5371d8f109bc49105b803b381008bf07">dl::Align::GetDir8</a></div><div class="ttdeci">constexpr Dir8 GetDir8(const PointU &p0, const PointU &p1)</div><div class="ttdef"><b>定义</b> <a href="#l00070">dl_align.h:70</a></div></div>
|
||
<div class="ttc" id="anamespacedl_1_1_align_html_a5397d776ab4fb21c41d7107d25af7448"><div class="ttname"><a href="namespacedl_1_1_align.html#a5397d776ab4fb21c41d7107d25af7448">dl::Align::GetLeft</a></div><div class="ttdeci">constexpr T & GetLeft(Array< T, 4 > &rect)</div><div class="ttdef"><b>定义</b> <a href="#l00310">dl_align.h:310</a></div></div>
|
||
<div class="ttc" id="anamespacedl_1_1_align_html_a55deda4e85c43f11caf78360cd0655e8"><div class="ttname"><a href="namespacedl_1_1_align.html#a55deda4e85c43f11caf78360cd0655e8">dl::Align::CB</a></div><div class="ttdeci">constexpr Direction2 CB</div><div class="ttdef"><b>定义</b> <a href="#l00040">dl_align.h:40</a></div></div>
|
||
<div class="ttc" id="anamespacedl_1_1_align_html_a5d50dc8d55bdebb9971a5e03da79ea05"><div class="ttname"><a href="namespacedl_1_1_align.html#a5d50dc8d55bdebb9971a5e03da79ea05">dl::Align::GetLB</a></div><div class="ttdeci">constexpr Array< T, 2 > GetLB(const Array< T, 4 > &rect)</div><div class="ttdef"><b>定义</b> <a href="#l00304">dl_align.h:304</a></div></div>
|
||
<div class="ttc" id="anamespacedl_1_1_align_html_a5ed4eb33e8047a6cc2a21ab8c035ca81"><div class="ttname"><a href="namespacedl_1_1_align.html#a5ed4eb33e8047a6cc2a21ab8c035ca81">dl::Align::Dir4</a></div><div class="ttdeci">Dir4</div><div class="ttdef"><b>定义</b> <a href="#l00046">dl_align.h:47</a></div></div>
|
||
<div class="ttc" id="anamespacedl_1_1_align_html_a5ed4eb33e8047a6cc2a21ab8c035ca81a1fabf63de5c96c78e2a40805bcdeb73b"><div class="ttname"><a href="namespacedl_1_1_align.html#a5ed4eb33e8047a6cc2a21ab8c035ca81a1fabf63de5c96c78e2a40805bcdeb73b">dl::Align::Dir4::BOTTOM</a></div><div class="ttdeci">@ BOTTOM</div><div class="ttdef"><b>定义</b> <a href="#l00049">dl_align.h:49</a></div></div>
|
||
<div class="ttc" id="anamespacedl_1_1_align_html_a5ed4eb33e8047a6cc2a21ab8c035ca81a21507b40c80068eda19865706fdc2403"><div class="ttname"><a href="namespacedl_1_1_align.html#a5ed4eb33e8047a6cc2a21ab8c035ca81a21507b40c80068eda19865706fdc2403">dl::Align::Dir4::RIGHT</a></div><div class="ttdeci">@ RIGHT</div><div class="ttdef"><b>定义</b> <a href="#l00048">dl_align.h:48</a></div></div>
|
||
<div class="ttc" id="anamespacedl_1_1_align_html_a5ed4eb33e8047a6cc2a21ab8c035ca81a6705777b712ee811e76fb07162081d63"><div class="ttname"><a href="namespacedl_1_1_align.html#a5ed4eb33e8047a6cc2a21ab8c035ca81a6705777b712ee811e76fb07162081d63">dl::Align::Dir4::TOP</a></div><div class="ttdeci">@ TOP</div><div class="ttdef"><b>定义</b> <a href="#l00051">dl_align.h:51</a></div></div>
|
||
<div class="ttc" id="anamespacedl_1_1_align_html_a5ed4eb33e8047a6cc2a21ab8c035ca81a684d325a7303f52e64011467ff5c5758"><div class="ttname"><a href="namespacedl_1_1_align.html#a5ed4eb33e8047a6cc2a21ab8c035ca81a684d325a7303f52e64011467ff5c5758">dl::Align::Dir4::LEFT</a></div><div class="ttdeci">@ LEFT</div><div class="ttdef"><b>定义</b> <a href="#l00050">dl_align.h:50</a></div></div>
|
||
<div class="ttc" id="anamespacedl_1_1_align_html_a61835f381b8a591ef72cf67d60645d4b"><div class="ttname"><a href="namespacedl_1_1_align.html#a61835f381b8a591ef72cf67d60645d4b">dl::Align::GetSize</a></div><div class="ttdeci">constexpr Array< T, 2 > GetSize(const Array< T, 4 > &rect)</div><div class="ttdoc">计算返回 矩形 宽和高</div><div class="ttdef"><b>定义</b> <a href="#l00356">dl_align.h:356</a></div></div>
|
||
<div class="ttc" id="anamespacedl_1_1_align_html_a68bb59094a272311df75fdf0854993e1"><div class="ttname"><a href="namespacedl_1_1_align.html#a68bb59094a272311df75fdf0854993e1">dl::Align::GetRight</a></div><div class="ttdeci">constexpr T & GetRight(Array< T, 4 > &rect)</div><div class="ttdef"><b>定义</b> <a href="#l00320">dl_align.h:320</a></div></div>
|
||
<div class="ttc" id="anamespacedl_1_1_align_html_a693337a9158a3e3a5e59c468f664a275"><div class="ttname"><a href="namespacedl_1_1_align.html#a693337a9158a3e3a5e59c468f664a275">dl::Align::RC</a></div><div class="ttdeci">constexpr Direction2 RC</div><div class="ttdef"><b>定义</b> <a href="#l00043">dl_align.h:43</a></div></div>
|
||
<div class="ttc" id="anamespacedl_1_1_align_html_a79009de32340c0a32fd5f4f4f65756cd"><div class="ttname"><a href="namespacedl_1_1_align.html#a79009de32340c0a32fd5f4f4f65756cd">dl::Align::Anchor2Direction</a></div><div class="ttdeci">Direction2 Anchor2Direction(std::string_view anchor)</div><div class="ttdoc">锚点(字符串)返回 对齐</div></div>
|
||
<div class="ttc" id="anamespacedl_1_1_align_html_a895bb673c7a98f4b12b7626926e9da69"><div class="ttname"><a href="namespacedl_1_1_align.html#a895bb673c7a98f4b12b7626926e9da69">dl::Align::MASK_L</a></div><div class="ttdeci">constexpr int MASK_L</div><div class="ttdef"><b>定义</b> <a href="#l00142">dl_align.h:142</a></div></div>
|
||
<div class="ttc" id="anamespacedl_1_1_align_html_a8f4b0ab21ff681dac0c359f391974eeb"><div class="ttname"><a href="namespacedl_1_1_align.html#a8f4b0ab21ff681dac0c359f391974eeb">dl::Align::GetLT</a></div><div class="ttdeci">constexpr Array< T, 2 > GetLT(const Array< T, 4 > &rect)</div><div class="ttdef"><b>定义</b> <a href="#l00289">dl_align.h:289</a></div></div>
|
||
<div class="ttc" id="anamespacedl_1_1_align_html_a908a97eff5085ef24d7a7f38071b7ec5"><div class="ttname"><a href="namespacedl_1_1_align.html#a908a97eff5085ef24d7a7f38071b7ec5">dl::Align::CT</a></div><div class="ttdeci">constexpr Direction2 CT</div><div class="ttdef"><b>定义</b> <a href="#l00038">dl_align.h:38</a></div></div>
|
||
<div class="ttc" id="anamespacedl_1_1_align_html_a9ec918cd3de84e87af4bbaff81226233"><div class="ttname"><a href="namespacedl_1_1_align.html#a9ec918cd3de84e87af4bbaff81226233">dl::Align::Dir2Offset</a></div><div class="ttdeci">constexpr Array< T, N > Dir2Offset(const Array< T, N > &size, Dir4 dir)</div><div class="ttdoc">根据大小和朝向,计算偏移</div><div class="ttdef"><b>定义</b> <a href="#l00239">dl_align.h:239</a></div></div>
|
||
<div class="ttc" id="anamespacedl_1_1_align_html_aa060d1ce553a0fe8f3ad5a048afc2029"><div class="ttname"><a href="namespacedl_1_1_align.html#aa060d1ce553a0fe8f3ad5a048afc2029">dl::Align::Shrink</a></div><div class="ttdeci">constexpr void Shrink(Array< T, 4 > &rect, const T &v)</div><div class="ttdoc">拓展矩形</div><div class="ttdef"><b>定义</b> <a href="#l00365">dl_align.h:365</a></div></div>
|
||
<div class="ttc" id="anamespacedl_1_1_align_html_aa12b82d91d5bf75ecf092f3b3dafdbbd"><div class="ttname"><a href="namespacedl_1_1_align.html#aa12b82d91d5bf75ecf092f3b3dafdbbd">dl::Align::RT</a></div><div class="ttdeci">constexpr Direction2 RT</div><div class="ttdef"><b>定义</b> <a href="#l00042">dl_align.h:42</a></div></div>
|
||
<div class="ttc" id="anamespacedl_1_1_align_html_aa578b926f9679b46ad30bff43f10f612"><div class="ttname"><a href="namespacedl_1_1_align.html#aa578b926f9679b46ad30bff43f10f612">dl::Align::GetWidth</a></div><div class="ttdeci">constexpr T GetWidth(const Array< T, 4 > &rect)</div><div class="ttdoc">计算返回 矩形 右下角坐标x 减去 左上角坐标x</div><div class="ttdef"><b>定义</b> <a href="#l00346">dl_align.h:346</a></div></div>
|
||
<div class="ttc" id="anamespacedl_1_1_align_html_ac1dc4a33033f2c915be4bf51abd7acd3"><div class="ttname"><a href="namespacedl_1_1_align.html#ac1dc4a33033f2c915be4bf51abd7acd3">dl::Align::Dir8ToMir2</a></div><div class="ttdeci">constexpr int Dir8ToMir2(Dir8 dir)</div><div class="ttdef"><b>定义</b> <a href="#l00119">dl_align.h:119</a></div></div>
|
||
<div class="ttc" id="anamespacedl_1_1_align_html_ac209a03bf892bbcc2b5d1f0227126ffe"><div class="ttname"><a href="namespacedl_1_1_align.html#ac209a03bf892bbcc2b5d1f0227126ffe">dl::Align::CC</a></div><div class="ttdeci">constexpr Direction2 CC</div><div class="ttdef"><b>定义</b> <a href="#l00039">dl_align.h:39</a></div></div>
|
||
<div class="ttc" id="anamespacedl_1_1_align_html_acbbfe7747d3c469a72dc31c0436d197e"><div class="ttname"><a href="namespacedl_1_1_align.html#acbbfe7747d3c469a72dc31c0436d197e">dl::Align::Mask2Index</a></div><div class="ttdeci">constexpr size_t Mask2Index(int mask)</div><div class="ttdef"><b>定义</b> <a href="#l00161">dl_align.h:161</a></div></div>
|
||
<div class="ttc" id="anamespacedl_1_1_align_html_ad6c8364747933c9b1466b121b532fe9f"><div class="ttname"><a href="namespacedl_1_1_align.html#ad6c8364747933c9b1466b121b532fe9f">dl::Align::Dir2Rotate</a></div><div class="ttdeci">float Dir2Rotate(Dir4 dir)</div><div class="ttdoc">方向对应的旋转角度(弧度)</div><div class="ttdef"><b>定义</b> <a href="#l00258">dl_align.h:258</a></div></div>
|
||
<div class="ttc" id="anamespacedl_1_1_align_html_ad714df65beaef3ed8c4a3c51747b142f"><div class="ttname"><a href="namespacedl_1_1_align.html#ad714df65beaef3ed8c4a3c51747b142f">dl::Align::Size2Anchor</a></div><div class="ttdeci">constexpr Array< T, N > Size2Anchor(const Array< T, N > &size, const Array< Direction, N > &dir)</div><div class="ttdoc">根据大小和对齐,计算锚点</div><div class="ttdef"><b>定义</b> <a href="#l00208">dl_align.h:208</a></div></div>
|
||
<div class="ttc" id="anamespacedl_1_1_align_html_ad84b240b963cebbd1b30aa69916dee5b"><div class="ttname"><a href="namespacedl_1_1_align.html#ad84b240b963cebbd1b30aa69916dee5b">dl::Align::LT</a></div><div class="ttdeci">constexpr Direction2 LT</div><div class="ttdef"><b>定义</b> <a href="#l00034">dl_align.h:34</a></div></div>
|
||
<div class="ttc" id="anamespacedl_1_1_align_html_add8862386c1ad39f756e12912764a584"><div class="ttname"><a href="namespacedl_1_1_align.html#add8862386c1ad39f756e12912764a584">dl::Align::RB</a></div><div class="ttdeci">constexpr Direction2 RB</div><div class="ttdef"><b>定义</b> <a href="#l00044">dl_align.h:44</a></div></div>
|
||
<div class="ttc" id="anamespacedl_1_1_align_html_ae1eaa667a7b7247b7950dd50568dc550"><div class="ttname"><a href="namespacedl_1_1_align.html#ae1eaa667a7b7247b7950dd50568dc550">dl::Align::Corner</a></div><div class="ttdeci">Corner</div><div class="ttdoc">斜角位置(4个点,quad用)</div><div class="ttdef"><b>定义</b> <a href="#l00132">dl_align.h:133</a></div></div>
|
||
<div class="ttc" id="anamespacedl_1_1_align_html_af0432b5677167032d88f47bd6c95a645"><div class="ttname"><a href="namespacedl_1_1_align.html#af0432b5677167032d88f47bd6c95a645">dl::Align::MASK_Γ</a></div><div class="ttdeci">constexpr int MASK_Γ</div><div class="ttdef"><b>定义</b> <a href="#l00144">dl_align.h:144</a></div></div>
|
||
<div class="ttc" id="anamespacedl_1_1_align_html_af1e5f722e9c33dc1909dd059929db7c9"><div class="ttname"><a href="namespacedl_1_1_align.html#af1e5f722e9c33dc1909dd059929db7c9">dl::Align::LC</a></div><div class="ttdeci">constexpr Direction2 LC</div><div class="ttdef"><b>定义</b> <a href="#l00035">dl_align.h:35</a></div></div>
|
||
<div class="ttc" id="anamespacedl_1_1_align_html_af452e76f6b63b9a02ca6a13d025e9fbd"><div class="ttname"><a href="namespacedl_1_1_align.html#af452e76f6b63b9a02ca6a13d025e9fbd">dl::Align::GetHeight</a></div><div class="ttdeci">constexpr T GetHeight(const Array< T, 4 > &rect)</div><div class="ttdoc">计算返回 矩形 右下角坐标y 减去 左上角坐标y</div><div class="ttdef"><b>定义</b> <a href="#l00336">dl_align.h:336</a></div></div>
|
||
<div class="ttc" id="anamespacedl_1_1_align_html_af588659f22a3d7db21de7b018f6f8f98"><div class="ttname"><a href="namespacedl_1_1_align.html#af588659f22a3d7db21de7b018f6f8f98">dl::Align::MASK_7</a></div><div class="ttdeci">constexpr int MASK_7</div><div class="ttdef"><b>定义</b> <a href="#l00143">dl_align.h:143</a></div></div>
|
||
<div class="ttc" id="anamespacedl_1_1_align_html_af95bf29b8a87fe331c60cc976ecc1dbc"><div class="ttname"><a href="namespacedl_1_1_align.html#af95bf29b8a87fe331c60cc976ecc1dbc">dl::Align::MASK_J</a></div><div class="ttdeci">constexpr int MASK_J</div><div class="ttdoc">平滑地图 四方向掩码</div><div class="ttdef"><b>定义</b> <a href="#l00141">dl_align.h:141</a></div></div>
|
||
<div class="ttc" id="anamespacedl_1_1_math_html_a1274044c749de5cfee397f1faf1b0910"><div class="ttname"><a href="namespacedl_1_1_math.html#a1274044c749de5cfee397f1faf1b0910">dl::Math::PIF</a></div><div class="ttdeci">constexpr float PIF(unsigned n=1, unsigned d=1)</div><div class="ttdef"><b>定义</b> <a href="dl__math_8h_source.html#l00497">dl_math.h:497</a></div></div>
|
||
<div class="ttc" id="anamespacedl_html_a04611b2d3b24b5b4ad6569cdea6f62d4"><div class="ttname"><a href="namespacedl.html#a04611b2d3b24b5b4ad6569cdea6f62d4">dl::Position</a></div><div class="ttdeci">Position2 Position</div><div class="ttdef"><b>定义</b> <a href="dl__type__def_8h_source.html#l00044">dl_type_def.h:44</a></div></div>
|
||
<div class="ttc" id="anamespacedl_html_a38a0162879cdbfbbe99ba16e7a170132a800618943025315f869e4e1f09471012"><div class="ttname"><a href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132a800618943025315f869e4e1f09471012">dl::KeyCode::F</a></div><div class="ttdeci">@ F</div><div class="ttdef"><b>定义</b> <a href="dl__input_8h_source.html#l00107">dl_input.h:107</a></div></div>
|
||
<div class="ttc" id="anamespacedl_html_a38a0162879cdbfbbe99ba16e7a170132a8d9c307cb7f3c4a32822a51922d1ceaa"><div class="ttname"><a href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132a8d9c307cb7f3c4a32822a51922d1ceaa">dl::KeyCode::N</a></div><div class="ttdeci">@ N</div><div class="ttdef"><b>定义</b> <a href="dl__input_8h_source.html#l00115">dl_input.h:115</a></div></div>
|
||
<div class="ttc" id="anamespacedl_html_a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3"><div class="ttname"><a href="namespacedl.html#a38a0162879cdbfbbe99ba16e7a170132ab9ece18c950afbfa6b0fdbfa4ff731d3">dl::KeyCode::T</a></div><div class="ttdeci">@ T</div><div class="ttdef"><b>定义</b> <a href="dl__input_8h_source.html#l00121">dl_input.h:121</a></div></div>
|
||
<div class="ttc" id="anamespacedl_html_a6347394cca146fd6b8fedf1d3545de59"><div class="ttname"><a href="namespacedl.html#a6347394cca146fd6b8fedf1d3545de59">dl::PointU</a></div><div class="ttdeci">Point2U PointU</div><div class="ttdef"><b>定义</b> <a href="dl__type__def_8h_source.html#l00034">dl_type_def.h:34</a></div></div>
|
||
<div class="ttc" id="anamespacedl_html_af4b025efbd5dae0045cce4cbc9546416"><div class="ttname"><a href="namespacedl.html#af4b025efbd5dae0045cce4cbc9546416">dl::Size</a></div><div class="ttdeci">PointU Size</div><div class="ttdef"><b>定义</b> <a href="dl__type__def_8h_source.html#l00035">dl_type_def.h:35</a></div></div>
|
||
<div class="ttc" id="anamespacedl_html_af6ec361004784c4eabc4ee2b9e85d603"><div class="ttname"><a href="namespacedl.html#af6ec361004784c4eabc4ee2b9e85d603">dl::Point</a></div><div class="ttdeci">Point2 Point</div><div class="ttdef"><b>定义</b> <a href="dl__type__def_8h_source.html#l00026">dl_type_def.h:26</a></div></div>
|
||
</div><!-- fragment --></div><!-- contents -->
|
||
<!-- start footer part -->
|
||
<hr class="footer"/><address class="footer"><small>
|
||
制作者 <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.1
|
||
</small></address>
|
||
</div><!-- doc-content -->
|
||
</body>
|
||
</html>
|