196 lines
68 KiB
JavaScript
196 lines
68 KiB
JavaScript
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 "Basalt""></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;">"basalt"</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;">"basalt"</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 "basalt".</p><h2 id="methods" tabindex="-1">Methods <a class="header-anchor" href="#methods" aria-label="Permalink to "Methods""></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 "Parameters""></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;">"basalt"</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;">"basalt"</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;">"basalt"</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;">"basalt"</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'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 "Returns""></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;">"basalt"</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;">"basalt"</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 "Parameters""></a></h3><ol><li><code>string?</code> id - if you don’t 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 "Returns""></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;">"Switch"</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 "hides" 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;">"We are currently on main2"</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;">"Switch"</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 "hides" 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;">"We are currently on main2"</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 "Parameters""></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 "Returns""></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 "Parameters""></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 "Parameters""></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 "Parameters""></a></h3><ol><li><code>string?</code> id - if you don’t 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 "Returns""></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 "Parameters""></a></h3><ol><li><code>string?</code> id - if you don’t 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 "Returns""></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 "Parameters""></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 "Returns""></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 "Parameters""></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 "Returns""></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 "Parameters""></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 "Returns""></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'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 "Parameters""></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;">"char"</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;">"got pressed"</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;">"char"</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;">"got pressed"</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 "Parameters""></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 "Parameters""></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 "Returns""></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;">"Hello World!"</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;">"Hello World!"</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 "Returns""></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 "Returns""></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'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 "Parameters""></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 "Parameters""></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 "Returns""></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;">"RandomId"</span><span style="color:#E1E4E8;">, </span><span style="color:#79B8FF;">nil</span><span style="color:#E1E4E8;">, </span><span style="color:#9ECBFF;">"Button"</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;">"RandomId"</span><span style="color:#24292E;">, </span><span style="color:#005CC5;">nil</span><span style="color:#24292E;">, </span><span style="color:#032F62;">"Button"</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};
|