{"route":"/en-US-v0.13.1/reference/layout/rotate/","title":"Rotate","description":"Documentation for the `rotate` function.","part":null,"outline":[{"id":"summary","name":"Summary","children":[]},{"id":"example","name":"Example","children":[]},{"id":"parameters","name":"Parameters","children":[{"id":"parameters-angle","name":"angle","children":[]},{"id":"parameters-origin","name":"origin","children":[]},{"id":"parameters-reflow","name":"reflow","children":[]},{"id":"parameters-body","name":"body","children":[]}]}],"body":{"kind":"func","content":{"path":[],"name":"rotate","title":"Rotate","keywords":[],"oneliner":"Rotates content without affecting layout.","element":true,"contextual":false,"deprecation":null,"details":"<p>Rotates content without affecting layout.</p>\n<p>Rotates an element by a given angle. The layout will act as if the element\nwas not rotated unless you specify <code>reflow: <span class=\"typ-key\">true</span></code>.</p>\n<h2 id=\"example\">Example</h2>\n<div class=\"previewed-code\"><pre><code><span class=\"typ-func\">#</span><span class=\"typ-func\">stack</span><span class=\"typ-punct\">(</span>\n  dir<span class=\"typ-punct\">:</span> ltr<span class=\"typ-punct\">,</span>\n  spacing<span class=\"typ-punct\">:</span> <span class=\"typ-num\">1fr</span><span class=\"typ-punct\">,</span>\n  <span class=\"typ-op\">..</span><span class=\"typ-func\">range</span><span class=\"typ-punct\">(</span><span class=\"typ-num\">16</span><span class=\"typ-punct\">)</span>\n    <span class=\"typ-punct\">.</span><span class=\"typ-func\">map</span><span class=\"typ-punct\">(</span>i <span class=\"typ-op\">=&gt;</span> <span class=\"typ-func\">rotate</span><span class=\"typ-punct\">(</span><span class=\"typ-num\">24deg</span> <span class=\"typ-op\">*</span> i<span class=\"typ-punct\">)</span><span class=\"typ-punct\">[</span>X<span class=\"typ-punct\">]</span><span class=\"typ-punct\">)</span><span class=\"typ-punct\">,</span>\n<span class=\"typ-punct\">)</span>\n</code></pre><div class=\"preview\"><img src=\"/en-US-v0.13.1/assets/2913652711733d7c7032c2817b4bd215.png\" alt=\"Preview\"></div></div>","example":null,"self":false,"params":[{"name":"angle","details":"<p>The amount of rotation.</p>","example":"<div class=\"previewed-code\"><pre><code><span class=\"typ-func\">#</span><span class=\"typ-func\">rotate</span><span class=\"typ-punct\">(</span><span class=\"typ-op\">-</span><span class=\"typ-num\">1.571rad</span><span class=\"typ-punct\">)</span><span class=\"typ-punct\">[</span>Space!<span class=\"typ-punct\">]</span>\n</code></pre><div class=\"preview\"><img src=\"/en-US-v0.13.1/assets/fe4c7be5f5b5d6ef1363f663ea5bb2b7.png\" alt=\"Preview\"></div></div>","types":["angle"],"strings":[],"default":"<code><span class=\"typ-num\">0deg</span></code>","positional":true,"named":false,"required":false,"variadic":false,"settable":true},{"name":"origin","details":"<p>The origin of the rotation.</p>\n<p>If, for instance, you wanted the bottom left corner of the rotated\nelement to stay aligned with the baseline, you would set it to <code>bottom + left</code> instead.</p>","example":"<div class=\"previewed-code\"><pre><code><span class=\"typ-key\">#</span><span class=\"typ-key\">set</span> <span class=\"typ-func\">text</span><span class=\"typ-punct\">(</span>spacing<span class=\"typ-punct\">:</span> <span class=\"typ-num\">8pt</span><span class=\"typ-punct\">)</span>\n<span class=\"typ-key\">#</span><span class=\"typ-key\">let</span> square <span class=\"typ-op\">=</span> square<span class=\"typ-punct\">.</span><span class=\"typ-func\">with</span><span class=\"typ-punct\">(</span>width<span class=\"typ-punct\">:</span> <span class=\"typ-num\">8pt</span><span class=\"typ-punct\">)</span>\n\n<span class=\"typ-func\">#</span><span class=\"typ-func\">box</span><span class=\"typ-punct\">(</span><span class=\"typ-func\">square</span><span class=\"typ-punct\">(</span><span class=\"typ-punct\">)</span><span class=\"typ-punct\">)</span>\n<span class=\"typ-func\">#</span><span class=\"typ-func\">box</span><span class=\"typ-punct\">(</span><span class=\"typ-func\">rotate</span><span class=\"typ-punct\">(</span><span class=\"typ-num\">30deg</span><span class=\"typ-punct\">,</span> origin<span class=\"typ-punct\">:</span> center<span class=\"typ-punct\">,</span> <span class=\"typ-func\">square</span><span class=\"typ-punct\">(</span><span class=\"typ-punct\">)</span><span class=\"typ-punct\">)</span><span class=\"typ-punct\">)</span>\n<span class=\"typ-func\">#</span><span class=\"typ-func\">box</span><span class=\"typ-punct\">(</span><span class=\"typ-func\">rotate</span><span class=\"typ-punct\">(</span><span class=\"typ-num\">30deg</span><span class=\"typ-punct\">,</span> origin<span class=\"typ-punct\">:</span> top <span class=\"typ-op\">+</span> left<span class=\"typ-punct\">,</span> <span class=\"typ-func\">square</span><span class=\"typ-punct\">(</span><span class=\"typ-punct\">)</span><span class=\"typ-punct\">)</span><span class=\"typ-punct\">)</span>\n<span class=\"typ-func\">#</span><span class=\"typ-func\">box</span><span class=\"typ-punct\">(</span><span class=\"typ-func\">rotate</span><span class=\"typ-punct\">(</span><span class=\"typ-num\">30deg</span><span class=\"typ-punct\">,</span> origin<span class=\"typ-punct\">:</span> bottom <span class=\"typ-op\">+</span> right<span class=\"typ-punct\">,</span> <span class=\"typ-func\">square</span><span class=\"typ-punct\">(</span><span class=\"typ-punct\">)</span><span class=\"typ-punct\">)</span><span class=\"typ-punct\">)</span>\n</code></pre><div class=\"preview\"><img src=\"/en-US-v0.13.1/assets/673042934ca6888793e71a385d773ef1.png\" alt=\"Preview\"></div></div>","types":["alignment"],"strings":[],"default":"<code>center <span class=\"typ-op\">+</span> horizon</code>","positional":false,"named":true,"required":false,"variadic":false,"settable":true},{"name":"reflow","details":"<p>Whether the rotation impacts the layout.</p>\n<p>If set to <code><span class=\"typ-key\">false</span></code>, the rotated content will retain the bounding box of\nthe original content. If set to <code><span class=\"typ-key\">true</span></code>, the bounding box will take the\nrotation of the content into account and adjust the layout accordingly.</p>","example":"<div class=\"previewed-code\"><pre><code>Hello <span class=\"typ-func\">#</span><span class=\"typ-func\">rotate</span><span class=\"typ-punct\">(</span><span class=\"typ-num\">90deg</span><span class=\"typ-punct\">,</span> reflow<span class=\"typ-punct\">:</span> <span class=\"typ-key\">true</span><span class=\"typ-punct\">)</span><span class=\"typ-punct\">[</span>World<span class=\"typ-punct\">]</span>!\n</code></pre><div class=\"preview\"><img src=\"/en-US-v0.13.1/assets/8bc00ca76bf198a9f7367d30c00d59d3.png\" alt=\"Preview\"></div></div>","types":["bool"],"strings":[],"default":"<code><span class=\"typ-key\">false</span></code>","positional":false,"named":true,"required":false,"variadic":false,"settable":true},{"name":"body","details":"<p>The content to rotate.</p>","example":null,"types":["content"],"strings":[],"default":null,"positional":true,"named":false,"required":true,"variadic":false,"settable":false}],"returns":["content"],"scope":[]}}}