mirror of
https://github.com/TangentFoxy/Pop.Box.git
synced 2024-12-15 12:44:20 +00:00
612 lines
15 KiB
HTML
612 lines
15 KiB
HTML
<!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>
|
|
<title>Documentation</title>
|
|
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
|
|
</head>
|
|
<body>
|
|
|
|
<div id="container">
|
|
|
|
<div id="product">
|
|
<div id="product_logo"></div>
|
|
<div id="product_name"><big><b></b></big></div>
|
|
<div id="product_description"></div>
|
|
</div> <!-- id="product" -->
|
|
|
|
|
|
<div id="main">
|
|
|
|
|
|
<!-- Menu -->
|
|
|
|
<div id="navigation">
|
|
<br/>
|
|
<h1>Pop.Box()</h1>
|
|
|
|
<ul>
|
|
<li><a href="../index.html">Index</a></li>
|
|
</ul>
|
|
|
|
<h2>Contents</h2>
|
|
<ul>
|
|
<li><a href="#Functions">Functions</a></li>
|
|
<li><a href="#Tables">Tables</a></li>
|
|
<li><a href="#Issues">Issues</a></li>
|
|
</ul>
|
|
|
|
|
|
<h2>Modules</h2>
|
|
<ul class="$(kind=='Topics' and '' or 'nowrap'">
|
|
<li><strong>pop</strong></li>
|
|
<li><a href="../modules/util.html">util</a></li>
|
|
</ul>
|
|
|
|
</div>
|
|
|
|
<div id="content">
|
|
|
|
<h1>Module <code>pop</code></h1>
|
|
<p>The Pop.Box GUI itself.</p>
|
|
<p>
|
|
|
|
</p>
|
|
<h3>Info:</h3>
|
|
<ul>
|
|
<li><strong>Copyright</strong>: Paul Liverman III (2015-2016)</li>
|
|
<li><strong>Release</strong>: v0.0.0</li>
|
|
<li><strong>License</strong>: The MIT License (MIT)</li>
|
|
</ul>
|
|
|
|
|
|
<h2><a href="#Functions">Functions</a></h2>
|
|
<table class="function_list">
|
|
<tr>
|
|
<td class="name" nowrap><a href="#load">load ()</a></td>
|
|
<td class="summary">Loads elements, skins, extensions, and initializes <code>pop.screen</code>.</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="name" nowrap><a href="#create">create (element, parent)</a></td>
|
|
<td class="summary">Creates an element.</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="name" nowrap><a href="#update">update (dt, element)</a></td>
|
|
<td class="summary">Event handler for <code>love.update()</code>.</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="name" nowrap><a href="#draw">draw (element)</a></td>
|
|
<td class="summary">Event handler for <code>love.draw()</code>.</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="name" nowrap><a href="#mousemoved">mousemoved (x, y, dx, dy)</a></td>
|
|
<td class="summary">Event handler for <code>love.mousemoved()</code>.</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="name" nowrap><a href="#mousepressed">mousepressed (x, y, button, element)</a></td>
|
|
<td class="summary">Event handler for <code>love.mousepressed()</code>.</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="name" nowrap><a href="#mousereleased">mousereleased (x, y, button, element)</a></td>
|
|
<td class="summary">Event handler for <code>love.mousereleased()</code>.</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="name" nowrap><a href="#keypressed">keypressed (key)</a></td>
|
|
<td class="summary">Event handler for <code>love.keypressed()</code>.</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="name" nowrap><a href="#keyreleased">keyreleased (key)</a></td>
|
|
<td class="summary">Event handler for <code>love.keyreleased()</code>.</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="name" nowrap><a href="#textinput">textinput (text)</a></td>
|
|
<td class="summary">Event handler for <code>love.textinput()</code>.</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="name" nowrap><a href="#skin">skin (element, skin, depth)</a></td>
|
|
<td class="summary">Applies skins to elements.</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="name" nowrap><a href="#debugDraw">debugDraw (element)</a></td>
|
|
<td class="summary">Draws simple rectangle outlines to debug placement of elements.</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="name" nowrap><a href="#printElementTree">printElementTree (element)</a></td>
|
|
<td class="summary">Prints a basic structure of GUI elements with minimal info.</td>
|
|
</tr>
|
|
</table>
|
|
<h2><a href="#Tables">Tables</a></h2>
|
|
<table class="function_list">
|
|
<tr>
|
|
<td class="name" nowrap><a href="#pop">pop</a></td>
|
|
<td class="summary">
|
|
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<h2><a href="#Issues">Issues</a></h2>
|
|
<table class="function_list">
|
|
<tr>
|
|
<td class="name" nowrap><a href="#pop-todo1">pop-todo1</a></td>
|
|
<td class="summary">Find out what happens if someone requires the <code>init.lua</code> / <code>init.moon</code> file instead of the directory, add an error message for this.</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="name" nowrap><a href="#load-todo2">load-todo2</a></td>
|
|
<td class="summary">Determine if extensions should have a reference saved (and the possibility of a load function?)
|
|
require into pop.extensions by filename</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="name" nowrap><a href="#mousemoved-todo3">mousemoved-todo3</a></td>
|
|
<td class="summary">Implement a way for an element to attach itself to <code>love.mousemoved()</code> events?</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="name" nowrap><a href="#mousereleased-todo4">mousereleased-todo4</a></td>
|
|
<td class="summary"> Figure out how to bring a focused element to the front of view (aka the first element in its parent's children).
|
|
(If I do it right here, the for loop above may break! I need to test/figure this out.)
|
|
NOTE this might cause an error in the above for loop!
|
|
basically, move focused element to front of its parent's child
|
|
element.parent\focusChild element
|
|
table.insert element.parent, element.parent\removeChild(element),</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br/>
|
|
<br/>
|
|
|
|
|
|
<h2 class="section-header "><a name="Functions"></a>Functions</h2>
|
|
|
|
<dl class="function">
|
|
<dt>
|
|
<a name = "load"></a>
|
|
<strong>load ()</strong>
|
|
</dt>
|
|
<dd>
|
|
Loads elements, skins, extensions, and initializes <code>pop.screen</code>. <strong>IMPORTANT</strong>: Intended to only be called once, and is automatically called when you require Pop.Box.
|
|
|
|
|
|
|
|
|
|
|
|
<h3>See also:</h3>
|
|
<ul>
|
|
<a href="../modules/pop.html#">pop</a>
|
|
</ul>
|
|
|
|
|
|
</dd>
|
|
<dt>
|
|
<a name = "create"></a>
|
|
<strong>create (element, parent)</strong>
|
|
</dt>
|
|
<dd>
|
|
Creates an element.
|
|
|
|
|
|
<h3>Parameters:</h3>
|
|
<ul>
|
|
<li><span class="parameter">element</span>
|
|
A string naming the element class to use.
|
|
</li>
|
|
<li><span class="parameter">parent</span>
|
|
<em>Optional</em> The parent element. If <code>false</code>, an element is created with no parent. If <code>nil</code>, defaults to <code>pop.screen</code>.
|
|
(<strong>Note</strong>: An element with no parent will not be handled by Pop.Box's event handlers unless you handle it explicitly.)
|
|
</li>
|
|
</ul>
|
|
|
|
|
|
|
|
<h3>See also:</h3>
|
|
<ul>
|
|
<a href="../modules/pop.html#">pop</a>
|
|
</ul>
|
|
|
|
|
|
</dd>
|
|
<dt>
|
|
<a name = "update"></a>
|
|
<strong>update (dt, element)</strong>
|
|
</dt>
|
|
<dd>
|
|
Event handler for <code>love.update()</code>.
|
|
|
|
|
|
<h3>Parameters:</h3>
|
|
<ul>
|
|
<li><span class="parameter">dt</span>
|
|
The amount of time passed since the last call to update, in seconds.
|
|
</li>
|
|
<li><span class="parameter">element</span>
|
|
<em>Optional</em> The element to update. Defaults to <code>pop.screen</code> (and loops through all its children).
|
|
</li>
|
|
</ul>
|
|
|
|
|
|
|
|
|
|
|
|
</dd>
|
|
<dt>
|
|
<a name = "draw"></a>
|
|
<strong>draw (element)</strong>
|
|
</dt>
|
|
<dd>
|
|
Event handler for <code>love.draw()</code>.
|
|
|
|
|
|
<h3>Parameters:</h3>
|
|
<ul>
|
|
<li><span class="parameter">element</span>
|
|
<em>Optional</em> The element to draw. Defaults to <code>pop.screen</code> (and loops through all its children).
|
|
</li>
|
|
</ul>
|
|
|
|
|
|
|
|
|
|
|
|
</dd>
|
|
<dt>
|
|
<a name = "mousemoved"></a>
|
|
<strong>mousemoved (x, y, dx, dy)</strong>
|
|
</dt>
|
|
<dd>
|
|
Event handler for <code>love.mousemoved()</code>. (*LÖVE >= 0.10.0*)
|
|
|
|
|
|
<h3>Parameters:</h3>
|
|
<ul>
|
|
<li><span class="parameter">x</span>
|
|
The x coordinate of the mouse.
|
|
</li>
|
|
<li><span class="parameter">y</span>
|
|
The y coordinate of the mouse.
|
|
</li>
|
|
<li><span class="parameter">dx</span>
|
|
The distance on the x axis the mouse was moved.
|
|
</li>
|
|
<li><span class="parameter">dy</span>
|
|
The distance on the y axis the mouse was moved.
|
|
</li>
|
|
</ul>
|
|
|
|
<h3>Returns:</h3>
|
|
<ol>
|
|
|
|
<code>true</code> / <code>false</code>: Was the event handled?
|
|
</ol>
|
|
|
|
|
|
|
|
|
|
</dd>
|
|
<dt>
|
|
<a name = "mousepressed"></a>
|
|
<strong>mousepressed (x, y, button, element)</strong>
|
|
</dt>
|
|
<dd>
|
|
Event handler for <code>love.mousepressed()</code>.
|
|
|
|
|
|
<h3>Parameters:</h3>
|
|
<ul>
|
|
<li><span class="parameter">x</span>
|
|
The x coordinate of the mouse press.
|
|
</li>
|
|
<li><span class="parameter">y</span>
|
|
The y coordinate of the mouse press.
|
|
</li>
|
|
<li><span class="parameter">button</span>
|
|
The mouse button pressed.
|
|
</li>
|
|
<li><span class="parameter">element</span>
|
|
<em>Optional</em> The element to check for event handling. Defaults to <code>pop.screen</code> (and loops through all its children).
|
|
</li>
|
|
</ul>
|
|
|
|
<h3>Returns:</h3>
|
|
<ol>
|
|
|
|
<code>true</code> / <code>false</code>: Was the event handled?
|
|
</ol>
|
|
|
|
|
|
|
|
|
|
</dd>
|
|
<dt>
|
|
<a name = "mousereleased"></a>
|
|
<strong>mousereleased (x, y, button, element)</strong>
|
|
</dt>
|
|
<dd>
|
|
Event handler for <code>love.mousereleased()</code>.
|
|
|
|
|
|
<h3>Parameters:</h3>
|
|
<ul>
|
|
<li><span class="parameter">x</span>
|
|
The x coordinate of the mouse release.
|
|
</li>
|
|
<li><span class="parameter">y</span>
|
|
The y coordinate of the mouse release.
|
|
</li>
|
|
<li><span class="parameter">button</span>
|
|
The mouse button released.
|
|
</li>
|
|
<li><span class="parameter">element</span>
|
|
<em>Optional</em> The element to check for event handling. Defaults to <code>pop.screen</code> (and loops through all its children).
|
|
</li>
|
|
</ul>
|
|
|
|
<h3>Returns:</h3>
|
|
<ol>
|
|
<li>
|
|
<code>true</code> / <code>false</code>: Was a click handled?</li>
|
|
<li>
|
|
<code>true</code> / <code>false</code>: Was a mouse release handled?</li>
|
|
</ol>
|
|
|
|
|
|
|
|
|
|
</dd>
|
|
<dt>
|
|
<a name = "keypressed"></a>
|
|
<strong>keypressed (key)</strong>
|
|
</dt>
|
|
<dd>
|
|
Event handler for <code>love.keypressed()</code>.
|
|
|
|
|
|
<h3>Parameters:</h3>
|
|
<ul>
|
|
<li><span class="parameter">key</span>
|
|
The key that was pressed.
|
|
</li>
|
|
</ul>
|
|
|
|
<h3>Returns:</h3>
|
|
<ol>
|
|
|
|
<code>true</code> / <code>false</code>: Was the event handled?
|
|
</ol>
|
|
|
|
|
|
|
|
|
|
</dd>
|
|
<dt>
|
|
<a name = "keyreleased"></a>
|
|
<strong>keyreleased (key)</strong>
|
|
</dt>
|
|
<dd>
|
|
Event handler for <code>love.keyreleased()</code>.
|
|
|
|
|
|
<h3>Parameters:</h3>
|
|
<ul>
|
|
<li><span class="parameter">key</span>
|
|
The key that was released.
|
|
</li>
|
|
</ul>
|
|
|
|
<h3>Returns:</h3>
|
|
<ol>
|
|
|
|
<code>true</code> / <code>false</code>: Was the event handled?
|
|
</ol>
|
|
|
|
|
|
|
|
|
|
</dd>
|
|
<dt>
|
|
<a name = "textinput"></a>
|
|
<strong>textinput (text)</strong>
|
|
</dt>
|
|
<dd>
|
|
Event handler for <code>love.textinput()</code>.
|
|
|
|
|
|
<h3>Parameters:</h3>
|
|
<ul>
|
|
<li><span class="parameter">text</span>
|
|
The text that was typed.
|
|
</li>
|
|
</ul>
|
|
|
|
<h3>Returns:</h3>
|
|
<ol>
|
|
|
|
<code>true</code> / <code>false</code>: Was the text input handled?
|
|
</ol>
|
|
|
|
|
|
|
|
|
|
</dd>
|
|
<dt>
|
|
<a name = "skin"></a>
|
|
<strong>skin (element, skin, depth)</strong>
|
|
</dt>
|
|
<dd>
|
|
Applies skins to elements. (<em>*NOTE^</em>: This function will be rewritten and change at some point...)
|
|
|
|
|
|
<h3>Parameters:</h3>
|
|
<ul>
|
|
<li><span class="parameter">element</span>
|
|
The element to skin. Defaults to <code>pop.screen</code> (and loops through all its children).
|
|
</li>
|
|
<li><span class="parameter">skin</span>
|
|
The skin to use, can be a string or an actual skin object, defaults to a default skin that is part of Pop.Box.
|
|
</li>
|
|
<li><span class="parameter">depth</span>
|
|
Can be an integer for how many levels to go skinning. Alternately, if <code>true</code>, will skin all children.
|
|
</li>
|
|
</ul>
|
|
|
|
|
|
|
|
|
|
|
|
</dd>
|
|
<dt>
|
|
<a name = "debugDraw"></a>
|
|
<strong>debugDraw (element)</strong>
|
|
</dt>
|
|
<dd>
|
|
Draws simple rectangle outlines to debug placement of elements.
|
|
|
|
|
|
<h3>Parameters:</h3>
|
|
<ul>
|
|
<li><span class="parameter">element</span>
|
|
The element to draw. Defaults to <code>pop.screen</code> (and loops through all its children).
|
|
</li>
|
|
</ul>
|
|
|
|
|
|
|
|
|
|
|
|
</dd>
|
|
<dt>
|
|
<a name = "printElementTree"></a>
|
|
<strong>printElementTree (element)</strong>
|
|
</dt>
|
|
<dd>
|
|
Prints a basic structure of GUI elements with minimal info.
|
|
|
|
|
|
<h3>Parameters:</h3>
|
|
<ul>
|
|
<li><span class="parameter">element</span>
|
|
The element to start at. Defaults to <code>pop.screen</code> (and loops through all its children).
|
|
</li>
|
|
</ul>
|
|
|
|
|
|
|
|
|
|
|
|
</dd>
|
|
</dl>
|
|
<h2 class="section-header "><a name="Tables"></a>Tables</h2>
|
|
|
|
<dl class="function">
|
|
<dt>
|
|
<a name = "pop"></a>
|
|
<strong>pop</strong>
|
|
</dt>
|
|
<dd>
|
|
|
|
|
|
|
|
|
|
|
|
<h3>Fields:</h3>
|
|
<ul>
|
|
<li><span class="parameter">elements</span>
|
|
All GUI classes are stored here.
|
|
</li>
|
|
<li><span class="parameter">skins</span>
|
|
All skins are stored here.
|
|
</li>
|
|
<li><span class="parameter">screen</span>
|
|
The top level GUI element. Represents the game screen. Initialized in <code>pop.load()</code>
|
|
</li>
|
|
<li><span class="parameter">focused</span>
|
|
The currently focused GUI element (or false if none is focused).
|
|
</li>
|
|
</ul>
|
|
|
|
|
|
|
|
<h3>See also:</h3>
|
|
<ul>
|
|
<a href="../modules/pop.html#load">pop.load</a>
|
|
</ul>
|
|
|
|
|
|
</dd>
|
|
</dl>
|
|
<h2 class="section-header "><a name="Issues"></a>Issues</h2>
|
|
|
|
<dl class="function">
|
|
<dt>
|
|
<a name = "pop-todo1"></a>
|
|
<strong>pop-todo1</strong>
|
|
</dt>
|
|
<dd>
|
|
Find out what happens if someone requires the <code>init.lua</code> / <code>init.moon</code> file instead of the directory, add an error message for this.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</dd>
|
|
<dt>
|
|
<a name = "load-todo2"></a>
|
|
<strong>load-todo2</strong>
|
|
</dt>
|
|
<dd>
|
|
Determine if extensions should have a reference saved (and the possibility of a load function?)
|
|
require into pop.extensions by filename
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</dd>
|
|
<dt>
|
|
<a name = "mousemoved-todo3"></a>
|
|
<strong>mousemoved-todo3</strong>
|
|
</dt>
|
|
<dd>
|
|
Implement a way for an element to attach itself to <code>love.mousemoved()</code> events?
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</dd>
|
|
<dt>
|
|
<a name = "mousereleased-todo4"></a>
|
|
<strong>mousereleased-todo4</strong>
|
|
</dt>
|
|
<dd>
|
|
Figure out how to bring a focused element to the front of view (aka the first element in its parent's children).
|
|
(If I do it right here, the for loop above may break! I need to test/figure this out.)
|
|
NOTE this might cause an error in the above for loop!
|
|
basically, move focused element to front of its parent's child
|
|
element.parent\focusChild element
|
|
table.insert element.parent, element.parent\removeChild(element),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</dd>
|
|
</dl>
|
|
|
|
|
|
</div> <!-- id="content" -->
|
|
</div> <!-- id="main" -->
|
|
<div id="about">
|
|
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.3</a></i>
|
|
<i style="float:right;">Last updated 2016-06-21 12:31:16 </i>
|
|
</div> <!-- id="about" -->
|
|
</div> <!-- id="container" -->
|
|
</body>
|
|
</html>
|