This commit is contained in:
NoryiE
2025-02-09 18:26:07 +00:00
parent 85a9180fe6
commit 0a914c109f
2 changed files with 110 additions and 263 deletions

256
index.md
View File

@@ -1,8 +1,8 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>Basalt Documentation</title>
<link rel="stylesheet" href="ldoc.css" type="text/css" />
</head>
@@ -16,318 +16,182 @@
<div id="product_description"></div>
</div> <!-- id="product" -->
<div id="main">
<!-- Menu -->
<div id="navigation">
<br/>
<h1>Basalt2</h1>
<h1>Basalt 2</h1>
<p>A UI Framework for ComputerCraft</p>
<h2>Contents</h2>
<hr/>
<ul>
<li><a href="#Class_Basalt">Class Basalt </a></li>
</ul>
<h2>Modules</h2>
<ul class="nowrap">
<li><strong>basalt</strong></li>
<li><a href="#basalt:create">basalt:create&nbsp;(type, id)</a></li>
<li><a href="#basalt:createFrame">basalt:createFrame&nbsp;()</a></li>
<li><a href="#basalt:getElementManager">basalt:getElementManager&nbsp;()</a></li>
<li><a href="#basalt:getMainFrame">basalt:getMainFrame&nbsp;()</a></li>
<li><a href="#basalt:setActiveFrame">basalt:setActiveFrame&nbsp;(frame)</a></li>
<li><a href="#basalt:scheduleUpdate">basalt:scheduleUpdate&nbsp;(func)</a></li>
<li><a href="#basalt:removeSchedule">basalt:removeSchedule&nbsp;(id)</a></li>
<li><a href="#basalt.updateEvent">basalt.updateEvent</a></li>
<li><a href="#basalt.renderFrames">basalt.renderFrames</a></li>
<li><a href="#basalt:update">basalt:update&nbsp;()</a></li>
<li><a href="#basalt:stop">basalt:stop&nbsp;()</a></li>
<li><a href="#basalt:run">basalt:run&nbsp;(isActive)</a></li>
</ul>
</div>
<div id="content">
<h1>Module <code>basalt</code></h1>
<p>Basalt UI Framework main module.</p>
<p> This is the main entry point for the Basalt UI Framework.
It provides functions for creating and managing UI elements and handling events.</p>
<h3>Usage:</h3>
<ul>
<pre class="example">local basalt = require(&quot;basalt&quot;)
local mainFrame = basalt.createFrame()
mainFrame:show()
basalt.run()
</pre>
</ul>
<h2><a href="#Class_Basalt">Class Basalt </a></h2>
<table class="function_list">
<tr>
<td class="name" nowrap><a href="#basalt:create">basalt:create (type, id)</a></td>
<td class="summary">Creates and returns a new UI element of the specified type</td>
</tr>
<tr>
<td class="name" nowrap><a href="#basalt:createFrame">basalt:createFrame ()</a></td>
<td class="summary">Creates and returns a new frame</td>
</tr>
<tr>
<td class="name" nowrap><a href="#basalt:getElementManager">basalt:getElementManager ()</a></td>
<td class="summary">Returns the element manager instance</td>
</tr>
<tr>
<td class="name" nowrap><a href="#basalt:getMainFrame">basalt:getMainFrame ()</a></td>
<td class="summary">Gets or creates the main frame</td>
</tr>
<tr>
<td class="name" nowrap><a href="#basalt:setActiveFrame">basalt:setActiveFrame (frame)</a></td>
<td class="summary">Sets the active frame</td>
</tr>
<tr>
<td class="name" nowrap><a href="#basalt:scheduleUpdate">basalt:scheduleUpdate (func)</a></td>
<td class="summary">Schedules a function to be updated</td>
</tr>
<tr>
<td class="name" nowrap><a href="#basalt:removeSchedule">basalt:removeSchedule (id)</a></td>
<td class="summary">Removes a scheduled update</td>
</tr>
<tr>
<td class="name" nowrap><a href="#basalt.updateEvent">basalt.updateEvent (event, ...)</a></td>
<td class="summary">Internal event handler</td>
</tr>
<tr>
<td class="name" nowrap><a href="#basalt.renderFrames">basalt.renderFrames ()</a></td>
<td class="summary">Internal render function</td>
</tr>
<tr>
<td class="name" nowrap><a href="#basalt:update">basalt:update ()</a></td>
<td class="summary">Updates all scheduled functions</td>
</tr>
<tr>
<td class="name" nowrap><a href="#basalt:stop">basalt:stop ()</a></td>
<td class="summary">Stops the Basalt runtime</td>
</tr>
<tr>
<td class="name" nowrap><a href="#basalt:run">basalt:run (isActive)</a></td>
<td class="summary">Starts the Basalt runtime</td>
</tr>
</table>
<br/>
<br/>
<h2 class="section-header has-description"><a name="Class_Basalt"></a>Class Basalt </h2>
<div class="section-description">
The main Basalt instance
Contains all core functionality and management functions
</div>
<dl class="function">
<dt>
<a name = "basalt:create"></a>
<strong>basalt:create (type, id)</strong>
<strong>basalt:create&nbsp;(type, id)</strong>
</dt>
<dd>
Creates and returns a new UI element of the specified type
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">type</span>
string The type of element to create (e.g. "Button", "Label", "BaseFrame")
</li>
<li><span class="parameter">id</span>
? string Optional unique identifier for the element
</li>
</ul>
<h3>Returns:</h3>
<ol>
table element The created element instance
</ol>
<h3>Usage:</h3>
<ul>
<pre class="example"><span class="keyword">local</span> button = basalt.<span class="function-name">create</span>(<span class="string">"Button"</span>)</pre>
<pre class="example">local button = basalt.create("Button")
</pre>
</ul>
</dd>
<dt>
<a name = "basalt:createFrame"></a>
<strong>basalt:createFrame ()</strong>
<strong>basalt:createFrame&nbsp;()</strong>
</dt>
<dd>
Creates and returns a new frame
<h3>Returns:</h3>
<ol>
table BaseFrame The created frame instance
</ol>
<h3>Usage:</h3>
<ul>
<pre class="example"><span class="keyword">local</span> mainFrame = basalt.<span class="function-name">createFrame</span>()</pre>
<pre class="example">local mainFrame = basalt.createFrame()
</pre>
</ul>
</dd>
<dt>
<a name = "basalt:getElementManager"></a>
<strong>basalt:getElementManager ()</strong>
<strong>basalt:getElementManager&nbsp;()</strong>
</dt>
<dd>
Returns the element manager instance
<h3>Returns:</h3>
<ol>
table ElementManager The element manager
</ol>
<h3>Usage:</h3>
<ul>
<pre class="example"><span class="keyword">local</span> manager = basalt.<span class="function-name">getElementManager</span>()</pre>
<pre class="example">local manager = basalt.getElementManager()
</pre>
</ul>
</dd>
<dt>
<a name = "basalt:getMainFrame"></a>
<strong>basalt:getMainFrame ()</strong>
<strong>basalt:getMainFrame&nbsp;()</strong>
</dt>
<dd>
Gets or creates the main frame
<h3>Returns:</h3>
<ol>
BaseFrame table The main frame instance
</ol>
<h3>Usage:</h3>
<ul>
<pre class="example"><span class="keyword">local</span> frame = basalt.<span class="function-name">getMainFrame</span>()</pre>
<pre class="example">local frame = basalt.getMainFrame()
</pre>
</ul>
</dd>
<dt>
<a name = "basalt:setActiveFrame"></a>
<strong>basalt:setActiveFrame (frame)</strong>
<strong>basalt:setActiveFrame&nbsp;(frame)</strong>
</dt>
<dd>
Sets the active frame
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">frame</span>
table The frame to set as active
</li>
</ul>
<h3>Usage:</h3>
<ul>
<pre class="example">basalt.<span class="function-name">setActiveFrame</span>(myFrame)</pre>
<pre class="example">basalt.setActiveFrame(myFrame)
</pre>
</ul>
</dd>
<dt>
<a name = "basalt:scheduleUpdate"></a>
<strong>basalt:scheduleUpdate (func)</strong>
<strong>basalt:scheduleUpdate&nbsp;(func)</strong>
</dt>
<dd>
Schedules a function to be updated
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">func</span>
function The function to schedule
</li>
</ul>
<h3>Returns:</h3>
<ol>
number Id The schedule ID
</ol>
<h3>Usage:</h3>
<ul>
<pre class="example"><span class="keyword">local</span> id = basalt.<span class="function-name">scheduleUpdate</span>(myFunction)</pre>
<pre class="example">local id = basalt.scheduleUpdate(myFunction)
</pre>
</ul>
</dd>
<dt>
<a name = "basalt:removeSchedule"></a>
<strong>basalt:removeSchedule (id)</strong>
<strong>basalt:removeSchedule&nbsp;(id)</strong>
</dt>
<dd>
Removes a scheduled update
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">id</span>
number The schedule ID to remove
</li>
</ul>
<h3>Usage:</h3>
<ul>
<pre class="example">basalt.<span class="function-name">removeSchedule</span>(scheduleId)</pre>
<pre class="example">basalt.removeSchedule(scheduleId)
</pre>
</ul>
</dd>
<dt>
<a name = "basalt.updateEvent"></a>
<strong>basalt.updateEvent (event, ...)</strong>
<strong>basalt.updateEvent</strong>
</dt>
<dd>
Internal event handler
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">event</span>
</li>
<li><span class="parameter">...</span>
</li>
</ul>
</dd>
<dt>
<a name = "basalt.renderFrames"></a>
<strong>basalt.renderFrames ()</strong>
<strong>basalt.renderFrames</strong>
</dt>
<dd>
Internal render function
@@ -336,12 +200,10 @@ basalt.run()
</dd>
<dt>
<a name = "basalt:update"></a>
<strong>basalt:update ()</strong>
<strong>basalt:update&nbsp;()</strong>
</dt>
<dd>
Updates all scheduled functions
@@ -349,17 +211,16 @@ basalt.run()
<h3>Usage:</h3>
<ul>
<pre class="example">basalt.<span class="function-name">update</span>()</pre>
<pre class="example">basalt.update()
</pre>
</ul>
</dd>
<dt>
<a name = "basalt:stop"></a>
<strong>basalt:stop ()</strong>
<strong>basalt:stop&nbsp;()</strong>
</dt>
<dd>
Stops the Basalt runtime
@@ -367,36 +228,29 @@ basalt.run()
<h3>Usage:</h3>
<ul>
<pre class="example">basalt.<span class="function-name">stop</span>()</pre>
<pre class="example">basalt.stop()
</pre>
</ul>
</dd>
<dt>
<a name = "basalt:run"></a>
<strong>basalt:run (isActive)</strong>
<strong>basalt:run&nbsp;(isActive)</strong>
</dt>
<dd>
Starts the Basalt runtime
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">isActive</span>
boolean Whether to start active (default: true)
</li>
</ul>
<h3>Usage:</h3>
<ul>
<li><pre class="example">basalt.<span class="function-name">run</span>()</pre></li>
<li><pre class="example">basalt.<span class="function-name">run</span>(<span class="keyword">false</span>)</pre></li>
<li><pre class="example">basalt.run()
</pre></li>
<li><pre class="example">basalt.run(false)
</pre></li>
</ul>
</dd>
@@ -406,8 +260,6 @@ basalt.run()
</div> <!-- id="content" -->
</div> <!-- id="main" -->
<div id="about">
<i>generated by <a href="http://github.com/lunarmodules/LDoc">LDoc 1.5.0</a></i>
<i style="float:right;">Last updated 2025-02-09 18:12:54 </i>
</div> <!-- id="about" -->
</div> <!-- id="container" -->
</body>

117
ldoc.css
View File

@@ -28,6 +28,7 @@ del,ins {
text-decoration: none;
}
li {
list-style: bullet;
margin-left: 20px;
}
caption,th {
@@ -70,16 +71,11 @@ body {
background-color: #ffffff; margin: 0px;
}
code, tt { font-family: monospace; font-size: 1.1em; }
span.parameter { font-family:monospace; }
span.parameter:after { content:":"; }
span.types:before { content:"("; }
span.types:after { content:")"; }
.type { font-weight: bold; font-style:italic }
code, tt { font-family: monospace; }
body, p, td, th { font-size: .95em; line-height: 1.2em;}
p, ul { margin: 10px 0 0 0px;}
p, ul { margin: 10px 0 0 10px;}
strong { font-weight: bold;}
@@ -87,7 +83,7 @@ em { font-style: italic;}
h1 {
font-size: 1.5em;
margin: 20px 0 20px 0;
margin: 0 0 20px 0;
}
h2, h3, h4 { margin: 15px 0 10px 0; }
h2 { font-size: 1.25em; }
@@ -113,18 +109,23 @@ p.name {
padding-top: 1em;
}
pre {
pre.example {
background-color: rgb(245, 245, 245);
border: 1px solid #C0C0C0; /* silver */
border: 1px solid silver;
padding: 10px;
margin: 10px 0 10px 0;
font-family: "Andale Mono", monospace;
font-size: .85em;
}
pre {
background-color: rgb(245, 245, 245);
border: 1px solid silver;
padding: 10px;
margin: 10px 0 10px 0;
overflow: auto;
font-family: "Andale Mono", monospace;
}
pre.example {
font-size: .85em;
}
table.index { border: 1px #00007f; }
table.index td { text-align: left; vertical-align: top; }
@@ -146,7 +147,7 @@ table.index td { text-align: left; vertical-align: top; }
}
#main {
background-color: #f0f0f0;
background-color: #f0f0ff;
border-left: 2px solid #cccccc;
}
@@ -187,11 +188,11 @@ table.index td { text-align: left; vertical-align: top; }
#content {
margin-left: 14em;
width: 40em;
padding: 1em;
width: 700px;
border-left: 2px solid #cccccc;
border-right: 2px solid #cccccc;
background-color: #ffffff;
background-color: #f0ffff;
}
#about {
@@ -233,72 +234,66 @@ table.index td { text-align: left; vertical-align: top; }
}
}
table.module_list {
border-width: 1px;
border-style: solid;
border-color: #cccccc;
border-collapse: collapse;
}
table.module_list td {
border-width: 1px;
padding: 3px;
border-style: solid;
border-color: #cccccc;
}
table.module_list td.name { background-color: #f0f0f0; min-width: 200px; }
table.module_list td.name { background-color: #f0f0f0; }
table.module_list td.summary { width: 100%; }
table.file_list {
border-width: 1px;
border-style: solid;
border-color: #cccccc;
border-collapse: collapse;
}
table.file_list td {
border-width: 1px;
padding: 3px;
border-style: solid;
border-color: #cccccc;
}
table.file_list td.name { background-color: #fff0ff; }
table.file_list td.summary { width: 100%; }
table.function_list {
border-width: 1px;
border-style: solid;
border-color: #cccccc;
border-color: #aaaaaa;
border-collapse: collapse;
}
table.function_list td {
border-width: 1px;
padding: 3px;
border-style: solid;
border-color: #cccccc;
border-color: #eeeeee;
}
table.function_list td.name { background-color: #f0f0f0; min-width: 200px; }
table.function_list td.name { background-color: #f0f0ff; }
table.function_list td.summary { width: 100%; }
ul.nowrap {
overflow:auto;
white-space:nowrap;
table.table_list {
border-width: 1px;
border-style: solid;
border-color: #cccccc;
border-collapse: collapse;
}
table.table_list td {
border-width: 1px;
padding: 3px;
border-style: solid;
border-color: #cccccc;
}
table.table_list td.name { background-color: #f0f0f0; }
table.table_list td.summary { width: 100%; }
dl.table dt, dl.function dt {border-top: 1px solid #ccc; padding-top: 1em;}
dl.table dd, dl.function dd {padding-bottom: 1em; margin: 10px 0 0 20px;}
dl.table h3, dl.function h3 {font-size: .95em;}
/* stop sublists from having initial vertical space */
ul ul { margin-top: 0px; }
ol ul { margin-top: 0px; }
ol ol { margin-top: 0px; }
ul ol { margin-top: 0px; }
/* make the target distinct; helps when we're navigating to a function */
a:target + * {
background-color: #FF9;
}
/* styles for prettification of source */
pre .comment { color: #558817; }
pre .constant { color: #a8660d; }
pre .escape { color: #844631; }
pre .keyword { color: #aa5050; font-weight: bold; }
pre .library { color: #0e7c6b; }
pre .marker { color: #512b1e; background: #fedc56; font-weight: bold; }
pre .string { color: #8080ff; }
pre .number { color: #f8660d; }
pre .function-name { color: #60447f; }
pre .operator { color: #2239a8; font-weight: bold; }
pre .preprocessor, pre .prepro { color: #a33243; }
pre .global { color: #800080; }
pre .user-keyword { color: #800080; }
pre .prompt { color: #558817; }
pre .url { color: #272fc2; text-decoration: underline; }
dl.table h3, dl.function h3 {font-size: .95em;}