Files
Basalt2/docs/.vitepress/dist/assets/references_basalt.md.35d93f52.js
Robert Jelic 31787b0e9b Fix
2025-02-16 18:04:24 +01:00

196 lines
68 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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

import{_ as o,C as t,o as p,c as r,k as a,a as s,H as e,Q as n}from"./chunks/framework.4313453f.js";const vs=JSON.parse('{"title":"Basalt","description":"","frontmatter":{},"headers":[],"relativePath":"references/basalt.md","filePath":"references/basalt.md","lastUpdated":null}'),c={name:"references/basalt.md"},i=n('<h1 id="basalt" tabindex="-1">Basalt <a class="header-anchor" href="#basalt" aria-label="Permalink to &quot;Basalt&quot;"></a></h1><p>This is the UI Manager and the starting point for your project. The following functions allow you to influence the default behavior of Basalt.</p><p>Before you can access Basalt, you need to add the following code on top of your file:</p><div class="language-lua vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">lua</span><pre class="shiki github-dark vp-code-dark"><code><span class="line"><span style="color:#F97583;">local</span><span style="color:#E1E4E8;"> basalt </span><span style="color:#F97583;">=</span><span style="color:#E1E4E8;"> </span><span style="color:#79B8FF;">require</span><span style="color:#E1E4E8;">(</span><span style="color:#9ECBFF;">&quot;basalt&quot;</span><span style="color:#E1E4E8;">)</span></span></code></pre><pre class="shiki github-light vp-code-light"><code><span class="line"><span style="color:#D73A49;">local</span><span style="color:#24292E;"> basalt </span><span style="color:#D73A49;">=</span><span style="color:#24292E;"> </span><span style="color:#005CC5;">require</span><span style="color:#24292E;">(</span><span style="color:#032F62;">&quot;basalt&quot;</span><span style="color:#24292E;">)</span></span></code></pre></div><p>What this code does is it loads basalt into the project, and you can access it by using the variable defined as &quot;basalt&quot;.</p><h2 id="methods" tabindex="-1">Methods <a class="header-anchor" href="#methods" aria-label="Permalink to &quot;Methods&quot;"></a></h2><p>Here is a list with all available methods for basalt.</p><table><thead><tr><th>Method</th><th>Returns</th><th>Description</th></tr></thead><tbody><tr><td><a href="#basalt-run">basalt.run</a></td><td>-</td><td>Starts the event/draw system.</td></tr><tr><td><a href="#basalt-stop">basalt.stop</a></td><td>-</td><td>Stops the event/draw system.</td></tr><tr><td><a href="#basalt-getmainframe">basalt.getMainFrame</a></td><td>BaseFrame</td><td>Returns or creates a BaseFrame.</td></tr><tr><td><a href="#basalt-addframe">basalt.addFrame</a></td><td>BaseFrame</td><td>Creates a new BaseFrame.</td></tr><tr><td><a href="#basalt-removeframe">basalt.removeFrame</a></td><td>boolean</td><td>Removes a frame.</td></tr><tr><td><a href="#basalt-switchframe">basalt.switchFrame</a></td><td>-</td><td>Switches to a new BaseFrame.</td></tr><tr><td><a href="#basalt-setfocusedframe">basalt.setFocusedFrame</a></td><td>-</td><td>Changes the focus between frames.</td></tr><tr><td><a href="#basalt-addmonitor">basalt.addMonitor</a></td><td>Monitor</td><td>Creates a new Monitor frame.</td></tr><tr><td><a href="#basalt-addbigmonitor">basalt.addBigMonitor</a></td><td>BigMonitor</td><td>Creates a new BigMonitor frame.</td></tr><tr><td><a href="#basalt-removemonitor">basalt.removeMonitor</a></td><td>boolean</td><td>Removes a monitor.</td></tr><tr><td><a href="#basalt-iskeydown">basalt.isKeyDown</a></td><td>boolean</td><td>Returns if a certain key is currently held down.</td></tr><tr><td><a href="#basalt-ismousedown">basalt.isMouseDown</a></td><td>boolean</td><td>Returns if a certain mouse button is currently held down.</td></tr><tr><td><a href="#basalt-onevent">basalt.onEvent</a></td><td>-</td><td>Adds a new event listener to basalt.</td></tr><tr><td><a href="#basalt-removeevent">basalt.removeEvent</a></td><td>-</td><td>Removes a event from basalts event listener.</td></tr><tr><td><a href="#basalt-thread">basalt.thread</a></td><td>Thread</td><td>Adds a new thread (coroutine) to basalt.</td></tr><tr><td><a href="#basalt-getelements">basalt.getElements</a></td><td>table</td><td>Returns a list of available elements.</td></tr><tr><td><a href="#basalt-getterm">basalt.getTerm</a></td><td>term</td><td>Returns the term used by basalt.</td></tr><tr><td><a href="#basalt-errorhandler">basalt.errorHandler</a></td><td>-</td><td>Handles all incoming errors.</td></tr><tr><td><a href="#basalt-create">basalt.create</a></td><td>object</td><td>Can create a new element.</td></tr></tbody></table>',8),y={id:"basalt-run",tabindex:"-1"},d=a("a",{class:"header-anchor",href:"#basalt-run","aria-label":'Permalink to "basalt.run <C content="basalt.run"/>"'},"",-1),E=n(`<p><code>basalt.run</code> starts the event and draw handler. The listeners will run until you stop them.</p><h3 id="parameters" tabindex="-1">Parameters <a class="header-anchor" href="#parameters" aria-label="Permalink to &quot;Parameters&quot;"></a></h3><ol><li><code>boolean?</code> - if you use false as the first parameter it would stop the listeners. Using false is a synonym for <code>basalt.stop()</code>.</li></ol><details class="details custom-block"><summary>Click to see example</summary><div class="language-lua vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">lua</span><pre class="shiki github-dark vp-code-dark"><code><span class="line"><span style="color:#F97583;">local</span><span style="color:#E1E4E8;"> basalt </span><span style="color:#F97583;">=</span><span style="color:#E1E4E8;"> </span><span style="color:#79B8FF;">require</span><span style="color:#E1E4E8;">(</span><span style="color:#9ECBFF;">&quot;basalt&quot;</span><span style="color:#E1E4E8;">)</span></span>
<span class="line"></span>
<span class="line"><span style="color:#F97583;">local</span><span style="color:#E1E4E8;"> main </span><span style="color:#F97583;">=</span><span style="color:#E1E4E8;"> basalt.</span><span style="color:#79B8FF;">getMainFrame</span><span style="color:#E1E4E8;">()</span></span>
<span class="line"></span>
<span class="line"><span style="color:#B392F0;">main</span><span style="color:#E1E4E8;">:</span><span style="color:#79B8FF;">addButton</span><span style="color:#E1E4E8;">():</span><span style="color:#79B8FF;">onClick</span><span style="color:#E1E4E8;">(</span><span style="color:#F97583;">function</span><span style="color:#E1E4E8;">()</span></span>
<span class="line"><span style="color:#E1E4E8;"> basalt.</span><span style="color:#79B8FF;">run</span><span style="color:#E1E4E8;">(</span><span style="color:#79B8FF;">false</span><span style="color:#E1E4E8;">) </span><span style="color:#6A737D;">-- Stops the event and draw listeners</span></span>
<span class="line"><span style="color:#F97583;">end</span><span style="color:#E1E4E8;">)</span></span>
<span class="line"></span>
<span class="line"><span style="color:#E1E4E8;">basalt.</span><span style="color:#79B8FF;">run</span><span style="color:#E1E4E8;">() </span><span style="color:#6A737D;">-- Start the event and draw listeners</span></span></code></pre><pre class="shiki github-light vp-code-light"><code><span class="line"><span style="color:#D73A49;">local</span><span style="color:#24292E;"> basalt </span><span style="color:#D73A49;">=</span><span style="color:#24292E;"> </span><span style="color:#005CC5;">require</span><span style="color:#24292E;">(</span><span style="color:#032F62;">&quot;basalt&quot;</span><span style="color:#24292E;">)</span></span>
<span class="line"></span>
<span class="line"><span style="color:#D73A49;">local</span><span style="color:#24292E;"> main </span><span style="color:#D73A49;">=</span><span style="color:#24292E;"> basalt.</span><span style="color:#005CC5;">getMainFrame</span><span style="color:#24292E;">()</span></span>
<span class="line"></span>
<span class="line"><span style="color:#6F42C1;">main</span><span style="color:#24292E;">:</span><span style="color:#005CC5;">addButton</span><span style="color:#24292E;">():</span><span style="color:#005CC5;">onClick</span><span style="color:#24292E;">(</span><span style="color:#D73A49;">function</span><span style="color:#24292E;">()</span></span>
<span class="line"><span style="color:#24292E;"> basalt.</span><span style="color:#005CC5;">run</span><span style="color:#24292E;">(</span><span style="color:#005CC5;">false</span><span style="color:#24292E;">) </span><span style="color:#6A737D;">-- Stops the event and draw listeners</span></span>
<span class="line"><span style="color:#D73A49;">end</span><span style="color:#24292E;">)</span></span>
<span class="line"></span>
<span class="line"><span style="color:#24292E;">basalt.</span><span style="color:#005CC5;">run</span><span style="color:#24292E;">() </span><span style="color:#6A737D;">-- Start the event and draw listeners</span></span></code></pre></div></details>`,4),h={id:"basalt-stop",tabindex:"-1"},u=a("a",{class:"header-anchor",href:"#basalt-stop","aria-label":'Permalink to "basalt.stop <C content="basalt.stop"/>"'},"",-1),m=n(`<p>This method stops the automatic draw and event handler that was started by <code>basalt.run()</code>. <code>basalt.run(false)</code> achieves the same result</p><details class="details custom-block"><summary>Click to see example</summary><div class="language-lua vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">lua</span><pre class="shiki github-dark vp-code-dark"><code><span class="line"><span style="color:#F97583;">local</span><span style="color:#E1E4E8;"> basalt </span><span style="color:#F97583;">=</span><span style="color:#E1E4E8;"> </span><span style="color:#79B8FF;">require</span><span style="color:#E1E4E8;">(</span><span style="color:#9ECBFF;">&quot;basalt&quot;</span><span style="color:#E1E4E8;">)</span></span>
<span class="line"></span>
<span class="line"><span style="color:#F97583;">local</span><span style="color:#E1E4E8;"> main </span><span style="color:#F97583;">=</span><span style="color:#E1E4E8;"> basalt.</span><span style="color:#79B8FF;">getMainFrame</span><span style="color:#E1E4E8;">()</span></span>
<span class="line"></span>
<span class="line"><span style="color:#B392F0;">main</span><span style="color:#E1E4E8;">:</span><span style="color:#79B8FF;">addButton</span><span style="color:#E1E4E8;">():</span><span style="color:#79B8FF;">onClick</span><span style="color:#E1E4E8;">(</span><span style="color:#F97583;">function</span><span style="color:#E1E4E8;">()</span></span>
<span class="line"><span style="color:#E1E4E8;"> basalt.</span><span style="color:#79B8FF;">stop</span><span style="color:#E1E4E8;">() </span><span style="color:#6A737D;">-- Stops the event and draw listeners</span></span>
<span class="line"><span style="color:#F97583;">end</span><span style="color:#E1E4E8;">)</span></span>
<span class="line"></span>
<span class="line"><span style="color:#E1E4E8;">basalt.</span><span style="color:#79B8FF;">run</span><span style="color:#E1E4E8;">() </span><span style="color:#6A737D;">-- Start the event and draw listeners</span></span></code></pre><pre class="shiki github-light vp-code-light"><code><span class="line"><span style="color:#D73A49;">local</span><span style="color:#24292E;"> basalt </span><span style="color:#D73A49;">=</span><span style="color:#24292E;"> </span><span style="color:#005CC5;">require</span><span style="color:#24292E;">(</span><span style="color:#032F62;">&quot;basalt&quot;</span><span style="color:#24292E;">)</span></span>
<span class="line"></span>
<span class="line"><span style="color:#D73A49;">local</span><span style="color:#24292E;"> main </span><span style="color:#D73A49;">=</span><span style="color:#24292E;"> basalt.</span><span style="color:#005CC5;">getMainFrame</span><span style="color:#24292E;">()</span></span>
<span class="line"></span>
<span class="line"><span style="color:#6F42C1;">main</span><span style="color:#24292E;">:</span><span style="color:#005CC5;">addButton</span><span style="color:#24292E;">():</span><span style="color:#005CC5;">onClick</span><span style="color:#24292E;">(</span><span style="color:#D73A49;">function</span><span style="color:#24292E;">()</span></span>
<span class="line"><span style="color:#24292E;"> basalt.</span><span style="color:#005CC5;">stop</span><span style="color:#24292E;">() </span><span style="color:#6A737D;">-- Stops the event and draw listeners</span></span>
<span class="line"><span style="color:#D73A49;">end</span><span style="color:#24292E;">)</span></span>
<span class="line"></span>
<span class="line"><span style="color:#24292E;">basalt.</span><span style="color:#005CC5;">run</span><span style="color:#24292E;">() </span><span style="color:#6A737D;">-- Start the event and draw listeners</span></span></code></pre></div></details>`,2),b={id:"basalt-getmainframe",tabindex:"-1"},F=a("a",{class:"header-anchor",href:"#basalt-getmainframe","aria-label":'Permalink to "basalt.getMainFrame <C content="basalt.getMainFrame"/>"'},"",-1),C=n(`<p>Returns the current main frame, if there&#39;s no main frame it creates a new one</p><h3 id="returns" tabindex="-1">Returns <a class="header-anchor" href="#returns" aria-label="Permalink to &quot;Returns&quot;"></a></h3><ol><li><code>BaseFrame</code></li></ol><details class="details custom-block"><summary>Click to see example</summary><div class="language-lua vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">lua</span><pre class="shiki github-dark vp-code-dark"><code><span class="line"><span style="color:#F97583;">local</span><span style="color:#E1E4E8;"> basalt </span><span style="color:#F97583;">=</span><span style="color:#E1E4E8;"> </span><span style="color:#79B8FF;">require</span><span style="color:#E1E4E8;">(</span><span style="color:#9ECBFF;">&quot;basalt&quot;</span><span style="color:#E1E4E8;">)</span></span>
<span class="line"></span>
<span class="line"><span style="color:#F97583;">local</span><span style="color:#E1E4E8;"> main </span><span style="color:#F97583;">=</span><span style="color:#E1E4E8;"> basalt.</span><span style="color:#79B8FF;">getMainFrame</span><span style="color:#E1E4E8;">()</span></span>
<span class="line"></span>
<span class="line"><span style="color:#E1E4E8;">basalt.</span><span style="color:#79B8FF;">run</span><span style="color:#E1E4E8;">()</span></span></code></pre><pre class="shiki github-light vp-code-light"><code><span class="line"><span style="color:#D73A49;">local</span><span style="color:#24292E;"> basalt </span><span style="color:#D73A49;">=</span><span style="color:#24292E;"> </span><span style="color:#005CC5;">require</span><span style="color:#24292E;">(</span><span style="color:#032F62;">&quot;basalt&quot;</span><span style="color:#24292E;">)</span></span>
<span class="line"></span>
<span class="line"><span style="color:#D73A49;">local</span><span style="color:#24292E;"> main </span><span style="color:#D73A49;">=</span><span style="color:#24292E;"> basalt.</span><span style="color:#005CC5;">getMainFrame</span><span style="color:#24292E;">()</span></span>
<span class="line"></span>
<span class="line"><span style="color:#24292E;">basalt.</span><span style="color:#005CC5;">run</span><span style="color:#24292E;">()</span></span></code></pre></div></details>`,4),_={id:"basalt-addframe",tabindex:"-1"},g=a("a",{class:"header-anchor",href:"#basalt-addframe","aria-label":'Permalink to "basalt.addFrame <C content="basalt.addFrame"/>"'},"",-1),v=n(`<p>Creates a new base frame, which is essentially a frame without a parent. You can have as many base frames as you want, but only one can be active (visible) at a time. You can always switch between your base frames.</p><p>Only the currently active base frame listens to incoming events (except for some events like time-events and peripheral-events).</p><h3 id="parameters-1" tabindex="-1">Parameters <a class="header-anchor" href="#parameters-1" aria-label="Permalink to &quot;Parameters&quot;"></a></h3><ol><li><code>string?</code> id - if you dont set an ID, it will automatically create a UUID for you</li></ol><h3 id="returns-1" tabindex="-1">Returns <a class="header-anchor" href="#returns-1" aria-label="Permalink to &quot;Returns&quot;"></a></h3><ol><li><code>BaseFrame</code></li></ol><details class="details custom-block"><summary>Click to see example</summary><div class="language-lua vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">lua</span><pre class="shiki github-dark vp-code-dark"><code><span class="line"><span style="color:#F97583;">local</span><span style="color:#E1E4E8;"> main1 </span><span style="color:#F97583;">=</span><span style="color:#E1E4E8;"> basalt.</span><span style="color:#79B8FF;">addFrame</span><span style="color:#E1E4E8;">() </span><span style="color:#6A737D;">-- Visible base frame on program start</span></span>
<span class="line"><span style="color:#F97583;">local</span><span style="color:#E1E4E8;"> main2 </span><span style="color:#F97583;">=</span><span style="color:#E1E4E8;"> basalt.</span><span style="color:#79B8FF;">addFrame</span><span style="color:#E1E4E8;">()</span></span>
<span class="line"><span style="color:#F97583;">local</span><span style="color:#E1E4E8;"> main3 </span><span style="color:#F97583;">=</span><span style="color:#E1E4E8;"> basalt.</span><span style="color:#79B8FF;">addFrame</span><span style="color:#E1E4E8;">()</span></span>
<span class="line"><span style="color:#B392F0;">main1</span><span style="color:#E1E4E8;">:</span><span style="color:#79B8FF;">addButton</span><span style="color:#E1E4E8;">()</span></span>
<span class="line"><span style="color:#E1E4E8;"> :</span><span style="color:#79B8FF;">setPosition</span><span style="color:#E1E4E8;">(</span><span style="color:#79B8FF;">2</span><span style="color:#E1E4E8;">, </span><span style="color:#79B8FF;">2</span><span style="color:#E1E4E8;">)</span></span>
<span class="line"><span style="color:#E1E4E8;"> :</span><span style="color:#79B8FF;">setText</span><span style="color:#E1E4E8;">(</span><span style="color:#9ECBFF;">&quot;Switch&quot;</span><span style="color:#E1E4E8;">)</span></span>
<span class="line"><span style="color:#E1E4E8;"> :</span><span style="color:#79B8FF;">onClick</span><span style="color:#E1E4E8;">(</span><span style="color:#F97583;">function</span><span style="color:#E1E4E8;">()</span></span>
<span class="line"><span style="color:#E1E4E8;"> </span><span style="color:#B392F0;">main2</span><span style="color:#E1E4E8;">:</span><span style="color:#79B8FF;">show</span><span style="color:#E1E4E8;">() </span><span style="color:#6A737D;">-- this function automatically &quot;hides&quot; the first one and shows the second one</span></span>
<span class="line"><span style="color:#E1E4E8;"> </span><span style="color:#F97583;">end</span><span style="color:#E1E4E8;">)</span></span>
<span class="line"><span style="color:#B392F0;">main2</span><span style="color:#E1E4E8;">:</span><span style="color:#79B8FF;">addLabel</span><span style="color:#E1E4E8;">()</span></span>
<span class="line"><span style="color:#E1E4E8;"> :</span><span style="color:#79B8FF;">setText</span><span style="color:#E1E4E8;">(</span><span style="color:#9ECBFF;">&quot;We are currently on main2&quot;</span><span style="color:#E1E4E8;">)</span></span>
<span class="line"><span style="color:#E1E4E8;">basalt.</span><span style="color:#79B8FF;">run</span><span style="color:#E1E4E8;">()</span></span></code></pre><pre class="shiki github-light vp-code-light"><code><span class="line"><span style="color:#D73A49;">local</span><span style="color:#24292E;"> main1 </span><span style="color:#D73A49;">=</span><span style="color:#24292E;"> basalt.</span><span style="color:#005CC5;">addFrame</span><span style="color:#24292E;">() </span><span style="color:#6A737D;">-- Visible base frame on program start</span></span>
<span class="line"><span style="color:#D73A49;">local</span><span style="color:#24292E;"> main2 </span><span style="color:#D73A49;">=</span><span style="color:#24292E;"> basalt.</span><span style="color:#005CC5;">addFrame</span><span style="color:#24292E;">()</span></span>
<span class="line"><span style="color:#D73A49;">local</span><span style="color:#24292E;"> main3 </span><span style="color:#D73A49;">=</span><span style="color:#24292E;"> basalt.</span><span style="color:#005CC5;">addFrame</span><span style="color:#24292E;">()</span></span>
<span class="line"><span style="color:#6F42C1;">main1</span><span style="color:#24292E;">:</span><span style="color:#005CC5;">addButton</span><span style="color:#24292E;">()</span></span>
<span class="line"><span style="color:#24292E;"> :</span><span style="color:#005CC5;">setPosition</span><span style="color:#24292E;">(</span><span style="color:#005CC5;">2</span><span style="color:#24292E;">, </span><span style="color:#005CC5;">2</span><span style="color:#24292E;">)</span></span>
<span class="line"><span style="color:#24292E;"> :</span><span style="color:#005CC5;">setText</span><span style="color:#24292E;">(</span><span style="color:#032F62;">&quot;Switch&quot;</span><span style="color:#24292E;">)</span></span>
<span class="line"><span style="color:#24292E;"> :</span><span style="color:#005CC5;">onClick</span><span style="color:#24292E;">(</span><span style="color:#D73A49;">function</span><span style="color:#24292E;">()</span></span>
<span class="line"><span style="color:#24292E;"> </span><span style="color:#6F42C1;">main2</span><span style="color:#24292E;">:</span><span style="color:#005CC5;">show</span><span style="color:#24292E;">() </span><span style="color:#6A737D;">-- this function automatically &quot;hides&quot; the first one and shows the second one</span></span>
<span class="line"><span style="color:#24292E;"> </span><span style="color:#D73A49;">end</span><span style="color:#24292E;">)</span></span>
<span class="line"><span style="color:#6F42C1;">main2</span><span style="color:#24292E;">:</span><span style="color:#005CC5;">addLabel</span><span style="color:#24292E;">()</span></span>
<span class="line"><span style="color:#24292E;"> :</span><span style="color:#005CC5;">setText</span><span style="color:#24292E;">(</span><span style="color:#032F62;">&quot;We are currently on main2&quot;</span><span style="color:#24292E;">)</span></span>
<span class="line"><span style="color:#24292E;">basalt.</span><span style="color:#005CC5;">run</span><span style="color:#24292E;">()</span></span></code></pre></div></details>`,7),f={id:"basalt-removeframe",tabindex:"-1"},k=a("a",{class:"header-anchor",href:"#basalt-removeframe","aria-label":'Permalink to "basalt.removeFrame <C content="basalt.removeFrame"/>"'},"",-1),B=n(`<p>Removes the given frame from basalts listeners. This will ignore the BaseFrame in every way.</p><h3 id="parameters-2" tabindex="-1">Parameters <a class="header-anchor" href="#parameters-2" aria-label="Permalink to &quot;Parameters&quot;"></a></h3><ol><li><code>string|BaseFrame</code> id or the object itself</li></ol><h3 id="returns-2" tabindex="-1">Returns <a class="header-anchor" href="#returns-2" aria-label="Permalink to &quot;Returns&quot;"></a></h3><ol><li><code>boolean</code> if the frame got successfully removed</li></ol><details class="details custom-block"><summary>Click to see example</summary><div class="language-lua vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">lua</span><pre class="shiki github-dark vp-code-dark"><code><span class="line"><span style="color:#F97583;">local</span><span style="color:#E1E4E8;"> main </span><span style="color:#F97583;">=</span><span style="color:#E1E4E8;"> basalt.</span><span style="color:#79B8FF;">addFrame</span><span style="color:#E1E4E8;">()</span></span>
<span class="line"><span style="color:#B392F0;">main</span><span style="color:#E1E4E8;">:</span><span style="color:#79B8FF;">addButton</span><span style="color:#E1E4E8;">()</span></span>
<span class="line"><span style="color:#E1E4E8;"> :</span><span style="color:#79B8FF;">onClick</span><span style="color:#E1E4E8;">(</span><span style="color:#F97583;">function</span><span style="color:#E1E4E8;">()</span></span>
<span class="line"><span style="color:#E1E4E8;"> basalt.</span><span style="color:#79B8FF;">removeFrame</span><span style="color:#E1E4E8;">(main)</span></span>
<span class="line"><span style="color:#E1E4E8;"> </span><span style="color:#F97583;">end</span><span style="color:#E1E4E8;">)</span></span>
<span class="line"><span style="color:#E1E4E8;">basalt.</span><span style="color:#79B8FF;">run</span><span style="color:#E1E4E8;">()</span></span></code></pre><pre class="shiki github-light vp-code-light"><code><span class="line"><span style="color:#D73A49;">local</span><span style="color:#24292E;"> main </span><span style="color:#D73A49;">=</span><span style="color:#24292E;"> basalt.</span><span style="color:#005CC5;">addFrame</span><span style="color:#24292E;">()</span></span>
<span class="line"><span style="color:#6F42C1;">main</span><span style="color:#24292E;">:</span><span style="color:#005CC5;">addButton</span><span style="color:#24292E;">()</span></span>
<span class="line"><span style="color:#24292E;"> :</span><span style="color:#005CC5;">onClick</span><span style="color:#24292E;">(</span><span style="color:#D73A49;">function</span><span style="color:#24292E;">()</span></span>
<span class="line"><span style="color:#24292E;"> basalt.</span><span style="color:#005CC5;">removeFrame</span><span style="color:#24292E;">(main)</span></span>
<span class="line"><span style="color:#24292E;"> </span><span style="color:#D73A49;">end</span><span style="color:#24292E;">)</span></span>
<span class="line"><span style="color:#24292E;">basalt.</span><span style="color:#005CC5;">run</span><span style="color:#24292E;">()</span></span></code></pre></div></details>`,6),A={id:"basalt-switchframe",tabindex:"-1"},T=a("a",{class:"header-anchor",href:"#basalt-switchframe","aria-label":'Permalink to "basalt.switchFrame <C content="basalt.switchFrame"/>"'},"",-1),D=n(`<p>With <code>basalt.switchFrame</code> you are able to switch to a new BaseFrame.</p><h3 id="parameters-3" tabindex="-1">Parameters <a class="header-anchor" href="#parameters-3" aria-label="Permalink to &quot;Parameters&quot;"></a></h3><ol><li><code>string|BaseFrame</code> The baseframe you want to switch to.</li></ol><details class="details custom-block"><summary>Click to see example</summary><div class="language-lua vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">lua</span><pre class="shiki github-dark vp-code-dark"><code><span class="line"><span style="color:#F97583;">local</span><span style="color:#E1E4E8;"> main </span><span style="color:#F97583;">=</span><span style="color:#E1E4E8;"> basalt.</span><span style="color:#79B8FF;">getMainFrame</span><span style="color:#E1E4E8;">()</span></span>
<span class="line"><span style="color:#F97583;">local</span><span style="color:#E1E4E8;"> second </span><span style="color:#F97583;">=</span><span style="color:#E1E4E8;"> basalt.</span><span style="color:#79B8FF;">addFrame</span><span style="color:#E1E4E8;">()</span></span>
<span class="line"></span>
<span class="line"><span style="color:#B392F0;">second</span><span style="color:#E1E4E8;">:</span><span style="color:#79B8FF;">addButton</span><span style="color:#E1E4E8;">()</span></span>
<span class="line"></span>
<span class="line"><span style="color:#E1E4E8;">basalt.</span><span style="color:#79B8FF;">switchFrame</span><span style="color:#E1E4E8;">(second)</span></span></code></pre><pre class="shiki github-light vp-code-light"><code><span class="line"><span style="color:#D73A49;">local</span><span style="color:#24292E;"> main </span><span style="color:#D73A49;">=</span><span style="color:#24292E;"> basalt.</span><span style="color:#005CC5;">getMainFrame</span><span style="color:#24292E;">()</span></span>
<span class="line"><span style="color:#D73A49;">local</span><span style="color:#24292E;"> second </span><span style="color:#D73A49;">=</span><span style="color:#24292E;"> basalt.</span><span style="color:#005CC5;">addFrame</span><span style="color:#24292E;">()</span></span>
<span class="line"></span>
<span class="line"><span style="color:#6F42C1;">second</span><span style="color:#24292E;">:</span><span style="color:#005CC5;">addButton</span><span style="color:#24292E;">()</span></span>
<span class="line"></span>
<span class="line"><span style="color:#24292E;">basalt.</span><span style="color:#005CC5;">switchFrame</span><span style="color:#24292E;">(second)</span></span></code></pre></div></details>`,4),P={id:"basalt-setfocusedframe",tabindex:"-1"},q=a("a",{class:"header-anchor",href:"#basalt-setfocusedframe","aria-label":'Permalink to "basalt.setFocusedFrame <C content="basalt.setFocusedFrame"/>"'},"",-1),w=n(`<p>This will change the focus between frames. It is mostly useful in combination with monitors. Mouse/Touch events also changes the focus for you.</p><h3 id="parameters-4" tabindex="-1">Parameters <a class="header-anchor" href="#parameters-4" aria-label="Permalink to &quot;Parameters&quot;"></a></h3><ol><li><code>string|BaseFrame|Monitor|BigMonitor</code> The frame you want to switch to.</li></ol><details class="details custom-block"><summary>Click to see example</summary><div class="language-lua vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">lua</span><pre class="shiki github-dark vp-code-dark"><code><span class="line"><span style="color:#F97583;">local</span><span style="color:#E1E4E8;"> main </span><span style="color:#F97583;">=</span><span style="color:#E1E4E8;"> basalt.</span><span style="color:#79B8FF;">getMainFrame</span><span style="color:#E1E4E8;">()</span></span>
<span class="line"><span style="color:#F97583;">local</span><span style="color:#E1E4E8;"> monitor </span><span style="color:#F97583;">=</span><span style="color:#E1E4E8;"> basalt.</span><span style="color:#79B8FF;">addMonitor</span><span style="color:#E1E4E8;">()</span></span>
<span class="line"></span>
<span class="line"><span style="color:#B392F0;">main</span><span style="color:#E1E4E8;">:</span><span style="color:#79B8FF;">addButton</span><span style="color:#E1E4E8;">():</span><span style="color:#79B8FF;">onClick</span><span style="color:#E1E4E8;">(</span><span style="color:#F97583;">function</span><span style="color:#E1E4E8;">()</span></span>
<span class="line"><span style="color:#E1E4E8;"> basalt.</span><span style="color:#79B8FF;">setFocusedFrame</span><span style="color:#E1E4E8;">(monitor)</span></span>
<span class="line"><span style="color:#F97583;">end</span><span style="color:#E1E4E8;">)</span></span></code></pre><pre class="shiki github-light vp-code-light"><code><span class="line"><span style="color:#D73A49;">local</span><span style="color:#24292E;"> main </span><span style="color:#D73A49;">=</span><span style="color:#24292E;"> basalt.</span><span style="color:#005CC5;">getMainFrame</span><span style="color:#24292E;">()</span></span>
<span class="line"><span style="color:#D73A49;">local</span><span style="color:#24292E;"> monitor </span><span style="color:#D73A49;">=</span><span style="color:#24292E;"> basalt.</span><span style="color:#005CC5;">addMonitor</span><span style="color:#24292E;">()</span></span>
<span class="line"></span>
<span class="line"><span style="color:#6F42C1;">main</span><span style="color:#24292E;">:</span><span style="color:#005CC5;">addButton</span><span style="color:#24292E;">():</span><span style="color:#005CC5;">onClick</span><span style="color:#24292E;">(</span><span style="color:#D73A49;">function</span><span style="color:#24292E;">()</span></span>
<span class="line"><span style="color:#24292E;"> basalt.</span><span style="color:#005CC5;">setFocusedFrame</span><span style="color:#24292E;">(monitor)</span></span>
<span class="line"><span style="color:#D73A49;">end</span><span style="color:#24292E;">)</span></span></code></pre></div></details>`,4),x={id:"basalt-addmonitor",tabindex:"-1"},S=a("a",{class:"header-anchor",href:"#basalt-addmonitor","aria-label":'Permalink to "basalt.addMonitor <C content="basalt.addMonitor"/>"'},"",-1),M=n(`<p>Creates a new monitor frame which can be used to display your UI onto a monitor.</p><h3 id="parameters-5" tabindex="-1">Parameters <a class="header-anchor" href="#parameters-5" aria-label="Permalink to &quot;Parameters&quot;"></a></h3><ol><li><code>string?</code> id - if you dont set an ID, it will automatically create a UUID for you</li></ol><h3 id="returns-3" tabindex="-1">Returns <a class="header-anchor" href="#returns-3" aria-label="Permalink to &quot;Returns&quot;"></a></h3><ol><li><code>Monitor</code></li></ol><details class="details custom-block"><summary>Click to see example</summary><div class="language-lua vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">lua</span><pre class="shiki github-dark vp-code-dark"><code><span class="line"><span style="color:#F97583;">local</span><span style="color:#E1E4E8;"> monitorFrame </span><span style="color:#F97583;">=</span><span style="color:#E1E4E8;"> basalt.</span><span style="color:#79B8FF;">addMonitor</span><span style="color:#E1E4E8;">()</span></span>
<span class="line"></span>
<span class="line"><span style="color:#B392F0;">monitorFrame</span><span style="color:#E1E4E8;">:</span><span style="color:#79B8FF;">addButton</span><span style="color:#E1E4E8;">()</span></span>
<span class="line"></span>
<span class="line"><span style="color:#E1E4E8;">basalt.</span><span style="color:#79B8FF;">run</span><span style="color:#E1E4E8;">()</span></span></code></pre><pre class="shiki github-light vp-code-light"><code><span class="line"><span style="color:#D73A49;">local</span><span style="color:#24292E;"> monitorFrame </span><span style="color:#D73A49;">=</span><span style="color:#24292E;"> basalt.</span><span style="color:#005CC5;">addMonitor</span><span style="color:#24292E;">()</span></span>
<span class="line"></span>
<span class="line"><span style="color:#6F42C1;">monitorFrame</span><span style="color:#24292E;">:</span><span style="color:#005CC5;">addButton</span><span style="color:#24292E;">()</span></span>
<span class="line"></span>
<span class="line"><span style="color:#24292E;">basalt.</span><span style="color:#005CC5;">run</span><span style="color:#24292E;">()</span></span></code></pre></div></details>`,6),R={id:"basalt-addbigmonitor",tabindex:"-1"},I=a("a",{class:"header-anchor",href:"#basalt-addbigmonitor","aria-label":'Permalink to "basalt.addBigMonitor <C content="basalt.addBigMonitor"/>"'},"",-1),V=n(`<p>Creates a new big-monitor frame which can be used to display your UI onto a monitor.</p><h3 id="parameters-6" tabindex="-1">Parameters <a class="header-anchor" href="#parameters-6" aria-label="Permalink to &quot;Parameters&quot;"></a></h3><ol><li><code>string?</code> id - if you dont set an ID, it will automatically create a UUID for you</li></ol><h3 id="returns-4" tabindex="-1">Returns <a class="header-anchor" href="#returns-4" aria-label="Permalink to &quot;Returns&quot;"></a></h3><ol><li><code>BigMonitor</code></li></ol><details class="details custom-block"><summary>Click to see example</summary><div class="language-lua vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">lua</span><pre class="shiki github-dark vp-code-dark"><code><span class="line"><span style="color:#F97583;">local</span><span style="color:#E1E4E8;"> bigMonitorFrame </span><span style="color:#F97583;">=</span><span style="color:#E1E4E8;"> basalt.</span><span style="color:#79B8FF;">addBigMonitor</span><span style="color:#E1E4E8;">()</span></span>
<span class="line"></span>
<span class="line"><span style="color:#B392F0;">bigMonitorFrame</span><span style="color:#E1E4E8;">:</span><span style="color:#79B8FF;">addButton</span><span style="color:#E1E4E8;">()</span></span>
<span class="line"></span>
<span class="line"><span style="color:#E1E4E8;">basalt.</span><span style="color:#79B8FF;">run</span><span style="color:#E1E4E8;">()</span></span></code></pre><pre class="shiki github-light vp-code-light"><code><span class="line"><span style="color:#D73A49;">local</span><span style="color:#24292E;"> bigMonitorFrame </span><span style="color:#D73A49;">=</span><span style="color:#24292E;"> basalt.</span><span style="color:#005CC5;">addBigMonitor</span><span style="color:#24292E;">()</span></span>
<span class="line"></span>
<span class="line"><span style="color:#6F42C1;">bigMonitorFrame</span><span style="color:#24292E;">:</span><span style="color:#005CC5;">addButton</span><span style="color:#24292E;">()</span></span>
<span class="line"></span>
<span class="line"><span style="color:#24292E;">basalt.</span><span style="color:#005CC5;">run</span><span style="color:#24292E;">()</span></span></code></pre></div></details>`,6),N={id:"basalt-removemonitor",tabindex:"-1"},H=a("a",{class:"header-anchor",href:"#basalt-removemonitor","aria-label":'Permalink to "basalt.removeMonitor <C content="basalt.removeMonitor"/>"'},"",-1),U=n(`<p>Removes the given monitor from basalts listeners.</p><h3 id="parameters-7" tabindex="-1">Parameters <a class="header-anchor" href="#parameters-7" aria-label="Permalink to &quot;Parameters&quot;"></a></h3><ol><li><code>string|Monitor|BigMonitor</code> id or the object itself</li></ol><h3 id="returns-5" tabindex="-1">Returns <a class="header-anchor" href="#returns-5" aria-label="Permalink to &quot;Returns&quot;"></a></h3><ol><li><code>boolean</code> if the monitor got successfully removed</li></ol><details class="details custom-block"><summary>Click to see example</summary><div class="language-lua vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">lua</span><pre class="shiki github-dark vp-code-dark"><code><span class="line"><span style="color:#F97583;">local</span><span style="color:#E1E4E8;"> monitor </span><span style="color:#F97583;">=</span><span style="color:#E1E4E8;"> basalt.</span><span style="color:#79B8FF;">addMonitor</span><span style="color:#E1E4E8;">()</span></span>
<span class="line"><span style="color:#B392F0;">monitor</span><span style="color:#E1E4E8;">:</span><span style="color:#79B8FF;">addButton</span><span style="color:#E1E4E8;">()</span></span>
<span class="line"><span style="color:#E1E4E8;"> :</span><span style="color:#79B8FF;">onClick</span><span style="color:#E1E4E8;">(</span><span style="color:#F97583;">function</span><span style="color:#E1E4E8;">()</span></span>
<span class="line"><span style="color:#E1E4E8;"> basalt.</span><span style="color:#79B8FF;">removeMonitor</span><span style="color:#E1E4E8;">(monitor)</span></span>
<span class="line"><span style="color:#E1E4E8;"> </span><span style="color:#F97583;">end</span><span style="color:#E1E4E8;">)</span></span>
<span class="line"><span style="color:#E1E4E8;">basalt.</span><span style="color:#79B8FF;">run</span><span style="color:#E1E4E8;">()</span></span></code></pre><pre class="shiki github-light vp-code-light"><code><span class="line"><span style="color:#D73A49;">local</span><span style="color:#24292E;"> monitor </span><span style="color:#D73A49;">=</span><span style="color:#24292E;"> basalt.</span><span style="color:#005CC5;">addMonitor</span><span style="color:#24292E;">()</span></span>
<span class="line"><span style="color:#6F42C1;">monitor</span><span style="color:#24292E;">:</span><span style="color:#005CC5;">addButton</span><span style="color:#24292E;">()</span></span>
<span class="line"><span style="color:#24292E;"> :</span><span style="color:#005CC5;">onClick</span><span style="color:#24292E;">(</span><span style="color:#D73A49;">function</span><span style="color:#24292E;">()</span></span>
<span class="line"><span style="color:#24292E;"> basalt.</span><span style="color:#005CC5;">removeMonitor</span><span style="color:#24292E;">(monitor)</span></span>
<span class="line"><span style="color:#24292E;"> </span><span style="color:#D73A49;">end</span><span style="color:#24292E;">)</span></span>
<span class="line"><span style="color:#24292E;">basalt.</span><span style="color:#005CC5;">run</span><span style="color:#24292E;">()</span></span></code></pre></div></details>`,6),K={id:"basalt-iskeydown",tabindex:"-1"},j=a("a",{class:"header-anchor",href:"#basalt-iskeydown","aria-label":'Permalink to "basalt.isKeyDown <C content="basalt.isKeyDown"/>"'},"",-1),W=n('<p>This method returns if a certain key is currently held down. Please try to use the keys API. Here is a list: <a href="https://github.com/cc-tweaked/CC-Tweaked/blob/master/src/main/resources/assets/computercraft/lua/rom/apis/keys.lua#L13" target="_blank" rel="noreferrer">Computercraft Keys</a></p><h3 id="parameters-8" tabindex="-1">Parameters <a class="header-anchor" href="#parameters-8" aria-label="Permalink to &quot;Parameters&quot;"></a></h3><ol><li><code>number</code> The key code</li></ol><h3 id="returns-6" tabindex="-1">Returns <a class="header-anchor" href="#returns-6" aria-label="Permalink to &quot;Returns&quot;"></a></h3><ol><li><code>boolean</code></li></ol><details class="details custom-block"><summary>Click to see example</summary><div class="language-lua vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">lua</span><pre class="shiki github-dark vp-code-dark"><code><span class="line"><span style="color:#E1E4E8;">basalt.</span><span style="color:#79B8FF;">debug</span><span style="color:#E1E4E8;">(basalt.</span><span style="color:#79B8FF;">isKeyDown</span><span style="color:#E1E4E8;">(keys.</span><span style="color:#B392F0;">leftCtrl</span><span style="color:#E1E4E8;">))</span></span></code></pre><pre class="shiki github-light vp-code-light"><code><span class="line"><span style="color:#24292E;">basalt.</span><span style="color:#005CC5;">debug</span><span style="color:#24292E;">(basalt.</span><span style="color:#005CC5;">isKeyDown</span><span style="color:#24292E;">(keys.</span><span style="color:#6F42C1;">leftCtrl</span><span style="color:#24292E;">))</span></span></code></pre></div></details>',6),$={id:"basalt-ismousedown",tabindex:"-1"},L=a("a",{class:"header-anchor",href:"#basalt-ismousedown","aria-label":'Permalink to "basalt.isMouseDown <C content="basalt.isMouseDown"/>"'},"",-1),J=n('<p><code>basalt.isMouseDown</code> returns if a mouse button is held down. 1 = left button, 2 = right button, 3 = middle button</p><h3 id="parameters-9" tabindex="-1">Parameters <a class="header-anchor" href="#parameters-9" aria-label="Permalink to &quot;Parameters&quot;"></a></h3><ol><li><code>number</code> the mouse button</li></ol><h3 id="returns-7" tabindex="-1">Returns <a class="header-anchor" href="#returns-7" aria-label="Permalink to &quot;Returns&quot;"></a></h3><ol><li><code>boolean</code></li></ol><details class="details custom-block"><summary>Click to see example</summary><div class="language-lua vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">lua</span><pre class="shiki github-dark vp-code-dark"><code><span class="line"><span style="color:#E1E4E8;">basalt.</span><span style="color:#79B8FF;">debug</span><span style="color:#E1E4E8;">(basalt.</span><span style="color:#79B8FF;">isMouseDown</span><span style="color:#E1E4E8;">(</span><span style="color:#79B8FF;">1</span><span style="color:#E1E4E8;">))</span></span></code></pre><pre class="shiki github-light vp-code-light"><code><span class="line"><span style="color:#24292E;">basalt.</span><span style="color:#005CC5;">debug</span><span style="color:#24292E;">(basalt.</span><span style="color:#005CC5;">isMouseDown</span><span style="color:#24292E;">(</span><span style="color:#005CC5;">1</span><span style="color:#24292E;">))</span></span></code></pre></div></details>',6),O={id:"basalt-onevent",tabindex:"-1"},Y=a("a",{class:"header-anchor",href:"#basalt-onevent","aria-label":'Permalink to "basalt.onEvent <C content="basalt.onEvent"/>"'},"",-1),Q=n(`<p><code>basalt.onEvent</code> is a core event listener, it doesn&#39;t matter which frame is active, this event listener receives all incoming events</p><h3 id="parameters-10" tabindex="-1">Parameters <a class="header-anchor" href="#parameters-10" aria-label="Permalink to &quot;Parameters&quot;"></a></h3><ol><li><code>function</code> the function which gets called on any event</li></ol><details class="details custom-block"><summary>Click to see example</summary><div class="language-lua vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">lua</span><pre class="shiki github-dark vp-code-dark"><code><span class="line"><span style="color:#E1E4E8;">basalt.</span><span style="color:#79B8FF;">onEvent</span><span style="color:#E1E4E8;">(</span><span style="color:#F97583;">function</span><span style="color:#E1E4E8;">(event, char)</span></span>
<span class="line"><span style="color:#E1E4E8;"> </span><span style="color:#F97583;">if</span><span style="color:#E1E4E8;">(event</span><span style="color:#F97583;">==</span><span style="color:#9ECBFF;">&quot;char&quot;</span><span style="color:#E1E4E8;">)</span><span style="color:#F97583;">then</span></span>
<span class="line"><span style="color:#E1E4E8;"> basalt.</span><span style="color:#79B8FF;">debug</span><span style="color:#E1E4E8;">(char</span><span style="color:#F97583;">..</span><span style="color:#9ECBFF;">&quot;got pressed&quot;</span><span style="color:#E1E4E8;">)</span></span>
<span class="line"><span style="color:#E1E4E8;"> </span><span style="color:#F97583;">end</span></span>
<span class="line"><span style="color:#F97583;">end</span><span style="color:#E1E4E8;">)</span></span></code></pre><pre class="shiki github-light vp-code-light"><code><span class="line"><span style="color:#24292E;">basalt.</span><span style="color:#005CC5;">onEvent</span><span style="color:#24292E;">(</span><span style="color:#D73A49;">function</span><span style="color:#24292E;">(event, char)</span></span>
<span class="line"><span style="color:#24292E;"> </span><span style="color:#D73A49;">if</span><span style="color:#24292E;">(event</span><span style="color:#D73A49;">==</span><span style="color:#032F62;">&quot;char&quot;</span><span style="color:#24292E;">)</span><span style="color:#D73A49;">then</span></span>
<span class="line"><span style="color:#24292E;"> basalt.</span><span style="color:#005CC5;">debug</span><span style="color:#24292E;">(char</span><span style="color:#D73A49;">..</span><span style="color:#032F62;">&quot;got pressed&quot;</span><span style="color:#24292E;">)</span></span>
<span class="line"><span style="color:#24292E;"> </span><span style="color:#D73A49;">end</span></span>
<span class="line"><span style="color:#D73A49;">end</span><span style="color:#24292E;">)</span></span></code></pre></div></details>`,4),z={id:"basalt-removeevent",tabindex:"-1"},G=a("a",{class:"header-anchor",href:"#basalt-removeevent","aria-label":'Permalink to "basalt.removeEvent <C content="basalt.removeEvent"/>"'},"",-1),X=n(`<p>Removes the event from the event listener</p><h3 id="parameters-11" tabindex="-1">Parameters <a class="header-anchor" href="#parameters-11" aria-label="Permalink to &quot;Parameters&quot;"></a></h3><ol><li><code>function</code> the function to remove</li></ol><details class="details custom-block"><summary>Click to see example</summary><div class="language-lua vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">lua</span><pre class="shiki github-dark vp-code-dark"><code><span class="line"><span style="color:#F97583;">local</span><span style="color:#E1E4E8;"> </span><span style="color:#F97583;">function</span><span style="color:#E1E4E8;"> </span><span style="color:#B392F0;">personalEventHandler</span><span style="color:#E1E4E8;">(event)</span></span>
<span class="line"><span style="color:#E1E4E8;"> basalt.</span><span style="color:#79B8FF;">debug</span><span style="color:#E1E4E8;">(event)</span></span>
<span class="line"><span style="color:#F97583;">end</span></span>
<span class="line"></span>
<span class="line"><span style="color:#E1E4E8;">basalt.</span><span style="color:#79B8FF;">onEvent</span><span style="color:#E1E4E8;">(personalEventHandler)</span></span>
<span class="line"></span>
<span class="line"><span style="color:#B392F0;">main</span><span style="color:#E1E4E8;">:</span><span style="color:#79B8FF;">addButton</span><span style="color:#E1E4E8;">():</span><span style="color:#79B8FF;">onClick</span><span style="color:#E1E4E8;">(</span><span style="color:#F97583;">function</span><span style="color:#E1E4E8;">()</span></span>
<span class="line"><span style="color:#E1E4E8;"> basalt.</span><span style="color:#79B8FF;">removeEvent</span><span style="color:#E1E4E8;">(personalEventHandler)</span></span>
<span class="line"><span style="color:#F97583;">end</span><span style="color:#E1E4E8;">)</span></span></code></pre><pre class="shiki github-light vp-code-light"><code><span class="line"><span style="color:#D73A49;">local</span><span style="color:#24292E;"> </span><span style="color:#D73A49;">function</span><span style="color:#24292E;"> </span><span style="color:#6F42C1;">personalEventHandler</span><span style="color:#24292E;">(event)</span></span>
<span class="line"><span style="color:#24292E;"> basalt.</span><span style="color:#005CC5;">debug</span><span style="color:#24292E;">(event)</span></span>
<span class="line"><span style="color:#D73A49;">end</span></span>
<span class="line"></span>
<span class="line"><span style="color:#24292E;">basalt.</span><span style="color:#005CC5;">onEvent</span><span style="color:#24292E;">(personalEventHandler)</span></span>
<span class="line"></span>
<span class="line"><span style="color:#6F42C1;">main</span><span style="color:#24292E;">:</span><span style="color:#005CC5;">addButton</span><span style="color:#24292E;">():</span><span style="color:#005CC5;">onClick</span><span style="color:#24292E;">(</span><span style="color:#D73A49;">function</span><span style="color:#24292E;">()</span></span>
<span class="line"><span style="color:#24292E;"> basalt.</span><span style="color:#005CC5;">removeEvent</span><span style="color:#24292E;">(personalEventHandler)</span></span>
<span class="line"><span style="color:#D73A49;">end</span><span style="color:#24292E;">)</span></span></code></pre></div></details>`,4),Z={id:"basalt-thread",tabindex:"-1"},ss=a("a",{class:"header-anchor",href:"#basalt-thread","aria-label":'Permalink to "basalt.thread <C content="basalt.thread"/>"'},"",-1),as=n(`<p>The <code>basalt.thread</code> module offers a mechanism to handle concurrent tasks within the Basalt framework. By using threads, developers can execute non-blocking operations, ensuring the UI remains responsive.</p><h3 id="parameters-12" tabindex="-1">Parameters <a class="header-anchor" href="#parameters-12" aria-label="Permalink to &quot;Parameters&quot;"></a></h3><ol><li><code>function</code> The function intended for the coroutine</li></ol><h3 id="returns-8" tabindex="-1">Returns <a class="header-anchor" href="#returns-8" aria-label="Permalink to &quot;Returns&quot;"></a></h3><ol><li><code>Thread</code></li></ol><details class="details custom-block"><summary>Click to see example</summary><div class="language-lua vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">lua</span><pre class="shiki github-dark vp-code-dark"><code><span class="line"><span style="color:#6A737D;">-- Create a new thread</span></span>
<span class="line"><span style="color:#E1E4E8;">basalt.</span><span style="color:#79B8FF;">thread</span><span style="color:#E1E4E8;">(</span><span style="color:#F97583;">function</span><span style="color:#E1E4E8;">()</span></span>
<span class="line"><span style="color:#E1E4E8;"> </span><span style="color:#F97583;">while</span><span style="color:#E1E4E8;"> </span><span style="color:#79B8FF;">true</span><span style="color:#E1E4E8;"> </span><span style="color:#F97583;">do</span></span>
<span class="line"><span style="color:#E1E4E8;"> basalt.</span><span style="color:#79B8FF;">debug</span><span style="color:#E1E4E8;">(</span><span style="color:#9ECBFF;">&quot;Hello World!&quot;</span><span style="color:#E1E4E8;">)</span></span>
<span class="line"><span style="color:#E1E4E8;"> </span><span style="color:#79B8FF;">sleep</span><span style="color:#E1E4E8;">(</span><span style="color:#79B8FF;">1</span><span style="color:#E1E4E8;">) </span><span style="color:#6A737D;">-- pause execution for 1 second</span></span>
<span class="line"><span style="color:#E1E4E8;"> </span><span style="color:#F97583;">end</span></span>
<span class="line"><span style="color:#F97583;">end</span><span style="color:#E1E4E8;">)</span></span>
<span class="line"></span>
<span class="line"><span style="color:#6A737D;">-- Start the Basalt event loop</span></span>
<span class="line"><span style="color:#E1E4E8;">basalt.</span><span style="color:#79B8FF;">run</span><span style="color:#E1E4E8;">()</span></span></code></pre><pre class="shiki github-light vp-code-light"><code><span class="line"><span style="color:#6A737D;">-- Create a new thread</span></span>
<span class="line"><span style="color:#24292E;">basalt.</span><span style="color:#005CC5;">thread</span><span style="color:#24292E;">(</span><span style="color:#D73A49;">function</span><span style="color:#24292E;">()</span></span>
<span class="line"><span style="color:#24292E;"> </span><span style="color:#D73A49;">while</span><span style="color:#24292E;"> </span><span style="color:#005CC5;">true</span><span style="color:#24292E;"> </span><span style="color:#D73A49;">do</span></span>
<span class="line"><span style="color:#24292E;"> basalt.</span><span style="color:#005CC5;">debug</span><span style="color:#24292E;">(</span><span style="color:#032F62;">&quot;Hello World!&quot;</span><span style="color:#24292E;">)</span></span>
<span class="line"><span style="color:#24292E;"> </span><span style="color:#005CC5;">sleep</span><span style="color:#24292E;">(</span><span style="color:#005CC5;">1</span><span style="color:#24292E;">) </span><span style="color:#6A737D;">-- pause execution for 1 second</span></span>
<span class="line"><span style="color:#24292E;"> </span><span style="color:#D73A49;">end</span></span>
<span class="line"><span style="color:#D73A49;">end</span><span style="color:#24292E;">)</span></span>
<span class="line"></span>
<span class="line"><span style="color:#6A737D;">-- Start the Basalt event loop</span></span>
<span class="line"><span style="color:#24292E;">basalt.</span><span style="color:#005CC5;">run</span><span style="color:#24292E;">()</span></span></code></pre></div></details>`,6),ns={id:"basalt-getelements",tabindex:"-1"},ls=a("a",{class:"header-anchor",href:"#basalt-getelements","aria-label":'Permalink to "basalt.getElements <C content="basalt.getElements"/>"'},"",-1),es=n(`<p>Returns a list of all available elements.</p><h3 id="returns-9" tabindex="-1">Returns <a class="header-anchor" href="#returns-9" aria-label="Permalink to &quot;Returns&quot;"></a></h3><ol><li><code>table</code></li></ol><details class="details custom-block"><summary>Click to see example</summary><div class="language-lua vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">lua</span><pre class="shiki github-dark vp-code-dark"><code><span class="line"><span style="color:#F97583;">for</span><span style="color:#E1E4E8;"> _,elements </span><span style="color:#F97583;">in</span><span style="color:#E1E4E8;"> </span><span style="color:#79B8FF;">pairs</span><span style="color:#E1E4E8;">(basalt.</span><span style="color:#79B8FF;">getElements</span><span style="color:#E1E4E8;">())</span><span style="color:#F97583;">do</span></span>
<span class="line"><span style="color:#E1E4E8;"> </span><span style="color:#79B8FF;">print</span><span style="color:#E1E4E8;">(elements)</span></span>
<span class="line"><span style="color:#F97583;">end</span></span></code></pre><pre class="shiki github-light vp-code-light"><code><span class="line"><span style="color:#D73A49;">for</span><span style="color:#24292E;"> _,elements </span><span style="color:#D73A49;">in</span><span style="color:#24292E;"> </span><span style="color:#005CC5;">pairs</span><span style="color:#24292E;">(basalt.</span><span style="color:#005CC5;">getElements</span><span style="color:#24292E;">())</span><span style="color:#D73A49;">do</span></span>
<span class="line"><span style="color:#24292E;"> </span><span style="color:#005CC5;">print</span><span style="color:#24292E;">(elements)</span></span>
<span class="line"><span style="color:#D73A49;">end</span></span></code></pre></div></details>`,4),os={id:"basalt-getterm",tabindex:"-1"},ts=a("a",{class:"header-anchor",href:"#basalt-getterm","aria-label":'Permalink to "basalt.getTerm <C content="basalt.getTerm"/>"'},"",-1),ps=n(`<p>The main term, which gets defined once basalt gets required.</p><h3 id="returns-10" tabindex="-1">Returns <a class="header-anchor" href="#returns-10" aria-label="Permalink to &quot;Returns&quot;"></a></h3><ol><li><code>term</code></li></ol><details class="details custom-block"><summary>Click to see example</summary><div class="language-lua vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">lua</span><pre class="shiki github-dark vp-code-dark"><code><span class="line"><span style="color:#F97583;">local</span><span style="color:#E1E4E8;"> main </span><span style="color:#F97583;">=</span><span style="color:#E1E4E8;"> basalt.</span><span style="color:#79B8FF;">getMainFrame</span><span style="color:#E1E4E8;">()</span></span>
<span class="line"></span>
<span class="line"><span style="color:#B392F0;">main</span><span style="color:#E1E4E8;">:</span><span style="color:#79B8FF;">addButton</span><span style="color:#E1E4E8;">():</span><span style="color:#79B8FF;">onClick</span><span style="color:#E1E4E8;">(</span><span style="color:#F97583;">function</span><span style="color:#E1E4E8;">()</span></span>
<span class="line"><span style="color:#E1E4E8;"> basalt.</span><span style="color:#79B8FF;">debug</span><span style="color:#E1E4E8;">(basalt.</span><span style="color:#79B8FF;">getTerm</span><span style="color:#E1E4E8;">())</span></span>
<span class="line"><span style="color:#F97583;">end</span><span style="color:#E1E4E8;">)</span></span>
<span class="line"></span>
<span class="line"><span style="color:#E1E4E8;">basalt.</span><span style="color:#79B8FF;">run</span><span style="color:#E1E4E8;">()</span></span></code></pre><pre class="shiki github-light vp-code-light"><code><span class="line"><span style="color:#D73A49;">local</span><span style="color:#24292E;"> main </span><span style="color:#D73A49;">=</span><span style="color:#24292E;"> basalt.</span><span style="color:#005CC5;">getMainFrame</span><span style="color:#24292E;">()</span></span>
<span class="line"></span>
<span class="line"><span style="color:#6F42C1;">main</span><span style="color:#24292E;">:</span><span style="color:#005CC5;">addButton</span><span style="color:#24292E;">():</span><span style="color:#005CC5;">onClick</span><span style="color:#24292E;">(</span><span style="color:#D73A49;">function</span><span style="color:#24292E;">()</span></span>
<span class="line"><span style="color:#24292E;"> basalt.</span><span style="color:#005CC5;">debug</span><span style="color:#24292E;">(basalt.</span><span style="color:#005CC5;">getTerm</span><span style="color:#24292E;">())</span></span>
<span class="line"><span style="color:#D73A49;">end</span><span style="color:#24292E;">)</span></span>
<span class="line"></span>
<span class="line"><span style="color:#24292E;">basalt.</span><span style="color:#005CC5;">run</span><span style="color:#24292E;">()</span></span></code></pre></div></details>`,4),rs={id:"basalt-errorhandler",tabindex:"-1"},cs=a("a",{class:"header-anchor",href:"#basalt-errorhandler","aria-label":'Permalink to "basalt.errorHandler <C content="basalt.errorHandler"/>"'},"",-1),is=n(`<p>This is basalt&#39;s default error handler. The reason this is public is, because you can overwrite it if you want. Just make sure to use <code>basalt.stop()</code> to stop basalt.</p><h3 id="parameters-13" tabindex="-1">Parameters <a class="header-anchor" href="#parameters-13" aria-label="Permalink to &quot;Parameters&quot;"></a></h3><ol><li><code>string</code> The error message to show</li></ol><details class="details custom-block"><summary>Click to see example</summary><div class="language-lua vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">lua</span><pre class="shiki github-dark vp-code-dark"><code><span class="line"><span style="color:#E1E4E8;">basalt.</span><span style="color:#B392F0;">errorHandler</span><span style="color:#E1E4E8;"> </span><span style="color:#F97583;">=</span><span style="color:#E1E4E8;"> </span><span style="color:#F97583;">function</span><span style="color:#E1E4E8;">(errMsg)</span></span>
<span class="line"><span style="color:#E1E4E8;"> basalt.</span><span style="color:#79B8FF;">stop</span><span style="color:#E1E4E8;">()</span></span>
<span class="line"><span style="color:#E1E4E8;"> term.</span><span style="color:#79B8FF;">clear</span><span style="color:#E1E4E8;">()</span></span>
<span class="line"><span style="color:#E1E4E8;"> term.</span><span style="color:#79B8FF;">setCursorPos</span><span style="color:#E1E4E8;">(</span><span style="color:#79B8FF;">1</span><span style="color:#E1E4E8;">,</span><span style="color:#79B8FF;">1</span><span style="color:#E1E4E8;">)</span></span>
<span class="line"><span style="color:#E1E4E8;"> term.</span><span style="color:#79B8FF;">setBackgroundColor</span><span style="color:#E1E4E8;">(colors.</span><span style="color:#B392F0;">red</span><span style="color:#E1E4E8;">)</span></span>
<span class="line"><span style="color:#E1E4E8;"> term.</span><span style="color:#79B8FF;">setTextColor</span><span style="color:#E1E4E8;">(colors.</span><span style="color:#B392F0;">black</span><span style="color:#E1E4E8;">)</span></span>
<span class="line"><span style="color:#E1E4E8;"> </span><span style="color:#79B8FF;">print</span><span style="color:#E1E4E8;">(errMsg)</span></span>
<span class="line"><span style="color:#E1E4E8;"> term.</span><span style="color:#79B8FF;">setTextColor</span><span style="color:#E1E4E8;">(colors.</span><span style="color:#B392F0;">white</span><span style="color:#E1E4E8;">)</span></span></code></pre><pre class="shiki github-light vp-code-light"><code><span class="line"><span style="color:#24292E;">basalt.</span><span style="color:#6F42C1;">errorHandler</span><span style="color:#24292E;"> </span><span style="color:#D73A49;">=</span><span style="color:#24292E;"> </span><span style="color:#D73A49;">function</span><span style="color:#24292E;">(errMsg)</span></span>
<span class="line"><span style="color:#24292E;"> basalt.</span><span style="color:#005CC5;">stop</span><span style="color:#24292E;">()</span></span>
<span class="line"><span style="color:#24292E;"> term.</span><span style="color:#005CC5;">clear</span><span style="color:#24292E;">()</span></span>
<span class="line"><span style="color:#24292E;"> term.</span><span style="color:#005CC5;">setCursorPos</span><span style="color:#24292E;">(</span><span style="color:#005CC5;">1</span><span style="color:#24292E;">,</span><span style="color:#005CC5;">1</span><span style="color:#24292E;">)</span></span>
<span class="line"><span style="color:#24292E;"> term.</span><span style="color:#005CC5;">setBackgroundColor</span><span style="color:#24292E;">(colors.</span><span style="color:#6F42C1;">red</span><span style="color:#24292E;">)</span></span>
<span class="line"><span style="color:#24292E;"> term.</span><span style="color:#005CC5;">setTextColor</span><span style="color:#24292E;">(colors.</span><span style="color:#6F42C1;">black</span><span style="color:#24292E;">)</span></span>
<span class="line"><span style="color:#24292E;"> </span><span style="color:#005CC5;">print</span><span style="color:#24292E;">(errMsg)</span></span>
<span class="line"><span style="color:#24292E;"> term.</span><span style="color:#005CC5;">setTextColor</span><span style="color:#24292E;">(colors.</span><span style="color:#6F42C1;">white</span><span style="color:#24292E;">)</span></span></code></pre></div></details>`,4),ys={id:"basalt-create",tabindex:"-1"},ds=a("a",{class:"header-anchor",href:"#basalt-create","aria-label":'Permalink to "basalt.create <C content="basalt.create"/>"'},"",-1),Es=n(`<p>This is used to create new elements.</p><h3 id="parameters-14" tabindex="-1">Parameters <a class="header-anchor" href="#parameters-14" aria-label="Permalink to &quot;Parameters&quot;"></a></h3><ol><li><code>string</code> The id of the element</li><li><code>Container?</code> The error message to show</li><li><code>type</code> The element type you want to create</li><li><code>defaultProperties?</code> A table with default properties</li></ol><h3 id="returns-11" tabindex="-1">Returns <a class="header-anchor" href="#returns-11" aria-label="Permalink to &quot;Returns&quot;"></a></h3><ol><li><code>object</code> The element</li></ol><details class="details custom-block"><summary>Click to see example</summary><div class="language-lua vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">lua</span><pre class="shiki github-dark vp-code-dark"><code><span class="line"><span style="color:#F97583;">local</span><span style="color:#E1E4E8;"> main </span><span style="color:#F97583;">=</span><span style="color:#E1E4E8;"> basalt.</span><span style="color:#79B8FF;">getMainFrame</span><span style="color:#E1E4E8;">()</span></span>
<span class="line"><span style="color:#F97583;">local</span><span style="color:#E1E4E8;"> button </span><span style="color:#F97583;">=</span><span style="color:#E1E4E8;"> basalt.</span><span style="color:#79B8FF;">create</span><span style="color:#E1E4E8;">(</span><span style="color:#9ECBFF;">&quot;RandomId&quot;</span><span style="color:#E1E4E8;">, </span><span style="color:#79B8FF;">nil</span><span style="color:#E1E4E8;">, </span><span style="color:#9ECBFF;">&quot;Button&quot;</span><span style="color:#E1E4E8;">)</span></span>
<span class="line"><span style="color:#B392F0;">button</span><span style="color:#E1E4E8;">:</span><span style="color:#79B8FF;">setParent</span><span style="color:#E1E4E8;">(main)</span></span></code></pre><pre class="shiki github-light vp-code-light"><code><span class="line"><span style="color:#D73A49;">local</span><span style="color:#24292E;"> main </span><span style="color:#D73A49;">=</span><span style="color:#24292E;"> basalt.</span><span style="color:#005CC5;">getMainFrame</span><span style="color:#24292E;">()</span></span>
<span class="line"><span style="color:#D73A49;">local</span><span style="color:#24292E;"> button </span><span style="color:#D73A49;">=</span><span style="color:#24292E;"> basalt.</span><span style="color:#005CC5;">create</span><span style="color:#24292E;">(</span><span style="color:#032F62;">&quot;RandomId&quot;</span><span style="color:#24292E;">, </span><span style="color:#005CC5;">nil</span><span style="color:#24292E;">, </span><span style="color:#032F62;">&quot;Button&quot;</span><span style="color:#24292E;">)</span></span>
<span class="line"><span style="color:#6F42C1;">button</span><span style="color:#24292E;">:</span><span style="color:#005CC5;">setParent</span><span style="color:#24292E;">(main)</span></span></code></pre></div></details>`,6);function hs(us,ms,bs,Fs,Cs,_s){const l=t("C");return p(),r("div",null,[i,a("h2",y,[s("basalt.run "),e(l,{content:"basalt.run"}),s(),d]),E,a("h2",h,[s("basalt.stop "),e(l,{content:"basalt.stop"}),s(),u]),m,a("h2",b,[s("basalt.getMainFrame "),e(l,{content:"basalt.getMainFrame"}),s(),F]),C,a("h2",_,[s("basalt.addFrame "),e(l,{content:"basalt.addFrame"}),s(),g]),v,a("h2",f,[s("basalt.removeFrame "),e(l,{content:"basalt.removeFrame"}),s(),k]),B,a("h2",A,[s("basalt.switchFrame "),e(l,{content:"basalt.switchFrame"}),s(),T]),D,a("h2",P,[s("basalt.setFocusedFrame "),e(l,{content:"basalt.setFocusedFrame"}),s(),q]),w,a("h2",x,[s("basalt.addMonitor "),e(l,{content:"basalt.addMonitor"}),s(),S]),M,a("h2",R,[s("basalt.addBigMonitor "),e(l,{content:"basalt.addBigMonitor"}),s(),I]),V,a("h2",N,[s("basalt.removeMonitor "),e(l,{content:"basalt.removeMonitor"}),s(),H]),U,a("h2",K,[s("basalt.isKeyDown "),e(l,{content:"basalt.isKeyDown"}),s(),j]),W,a("h2",$,[s("basalt.isMouseDown "),e(l,{content:"basalt.isMouseDown"}),s(),L]),J,a("h2",O,[s("basalt.onEvent "),e(l,{content:"basalt.onEvent"}),s(),Y]),Q,a("h2",z,[s("basalt.removeEvent "),e(l,{content:"basalt.removeEvent"}),s(),G]),X,a("h2",Z,[s("basalt.thread "),e(l,{content:"basalt.thread"}),s(),ss]),as,a("h2",ns,[s("basalt.getElements "),e(l,{content:"basalt.getElements"}),s(),ls]),es,a("h2",os,[s("basalt.getTerm "),e(l,{content:"basalt.getTerm"}),s(),ts]),ps,a("h2",rs,[s("basalt.errorHandler "),e(l,{content:"basalt.errorHandler"}),s(),cs]),is,a("h2",ys,[s("basalt.create "),e(l,{content:"basalt.create"}),s(),ds]),Es])}const fs=o(c,[["render",hs]]);export{vs as __pageData,fs as default};