Merge branch 'master' of github.com:buggins/dlangui

This commit is contained in:
Vadim Lopatin 2015-01-20 12:32:53 +03:00
commit 0e79b685a1
55 changed files with 10037 additions and 0 deletions

89
all.html Normal file
View File

@ -0,0 +1,89 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta charset='utf-8'>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<link href='https://fonts.googleapis.com/css?family=Chivo:900' rel='stylesheet' type='text/css'>
<link rel="stylesheet" type="text/css" href="stylesheets/stylesheet.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/pygment_trac.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/print.css" media="print" />
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<title>DlangUI - cross platform GUI library for D programming language - dlangui.all</title>
</head>
<body>
<div id="container">
<div class="inner">
<header>
<h1>DlangUI</h1>
<h2>Cross Platform GUI for D programming language</h2>
</header>
<section id="downloads" class="clearfix">
<a href="index.html" id="home" class="button"><span>Home</span></a>
<a href="api.html" id="home" class="button"><span>API Docs</span></a>
<a href="screenshots.html" id="home" class="button"><span>Screenshots</span></a>
<a href="https://github.com/buggins/dlangui/zipball/master" id="download-zip" class="button"><span>Download .zip</span></a>
<!--a href="https://github.com/buggins/dlangui/tarball/master" id="download-tar-gz" class="button"><span>Download .tar.gz</span></a-->
<a href="https://github.com/buggins/dlangui" id="view-on-github" class="button"><span>View on GitHub</span></a>
</section>
<hr>
<section id="main_content">
<h1>dlangui.all</h1>
<!-- Generated by Ddoc from src\dlangui\all.d -->
This module is just to simplify import of most useful DLANGUI modules.
<br><br>
<b>Synopsis:</b><br>
<pre class="d_code"><font color=green>// helloworld
</font><font color=blue>import</font> dlangui.<u>all</u>;
<font color=green>// required in one of modules
</font><font color=blue>mixin</font> APP_ENTRY_POINT;
<font color=green>/// entry point for dlangui based application
</font><font color=blue>extern</font> (C) <font color=blue>int</font> UIAppMain(string[] args) {
<font color=green>// resource directory search paths
</font> string[] resourceDirs = [
appendPath(exePath, <font color=red>"../../../res/"</font>), <font color=green>// for Visual D and DUB builds
</font> appendPath(exePath, <font color=red>"../../../../res/"</font>), <font color=green>// for Mono-D builds
</font> appendPath(exePath, <font color=red>"res/"</font>) <font color=green>// when res dir is located at the same directory as executable
</font> ];
<font color=green>// setup resource directories - will use only existing directories
</font> Platform.instance.resourceDirs = resourceDirs;
<font color=green>// select translation file - for english language
</font> Platform.instance.uiLanguage = <font color=red>"en"</font>;
<font color=green>// load theme from file "theme_default.xml"
</font> Platform.instance.uiTheme = <font color=red>"theme_default"</font>;
<font color=green>// create window
</font> Window window = Platform.instance.createWindow(<font color=red>"My Window"</font>, <font color=blue>null</font>);
<font color=green>// create some widget to show in window
</font> window.mainWidget = (<font color=blue>new</font> Button()).text(<font color=red>"Hello world"d</font>);
<font color=green>// show window
</font> window.show();
<font color=green>// run message loop
</font> <font color=blue>return</font> Platform.instance.enterMessageLoop();
}
</pre>
<br><br>
<b>License:</b><br>
Boost License 1.0
<br><br>
<b>Authors:</b><br>
Vadim Lopatin, coolreader.org@gmail.com<br><br>
</section>
<footer>
Dlangui is maintained by <a href="https://github.com/buggins">buggins</a><br>
This page was generated by <a href="http://pages.github.com">GitHub Pages</a>. Tactile theme by <a href="https://twitter.com/jasonlong">Jason Long</a>.
</footer>
</div>
</div>
</body>
</html>

102
api.html Normal file
View File

@ -0,0 +1,102 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta charset='utf-8'>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<link href='https://fonts.googleapis.com/css?family=Chivo:900' rel='stylesheet' type='text/css'>
<link rel="stylesheet" type="text/css" href="stylesheets/stylesheet.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/pygment_trac.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/print.css" media="print" />
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<title>DlangUI - cross platform GUI library for D programming language - api</title>
</head>
<body>
<div id="container">
<div class="inner">
<header>
<h1>DlangUI</h1>
<h2>Cross Platform GUI for D programming language</h2>
</header>
<section id="downloads" class="clearfix">
<a href="index.html" id="home" class="button"><span>Home</span></a>
<a href="api.html" id="home" class="button"><span>API Docs</span></a>
<a href="screenshots.html" id="home" class="button"><span>Screenshots</span></a>
<a href="https://github.com/buggins/dlangui/zipball/master" id="download-zip" class="button"><span>Download .zip</span></a>
<!--a href="https://github.com/buggins/dlangui/tarball/master" id="download-tar-gz" class="button"><span>Download .tar.gz</span></a-->
<a href="https://github.com/buggins/dlangui" id="view-on-github" class="button"><span>View on GitHub</span></a>
</section>
<hr>
<section id="main_content">
<h1>api</h1>
<!-- Generated by Ddoc from src\api.d -->
<h2>By Modules</h2>
<ul>
<li>dlangui.core
<ul>
<li><a href="types.html">types</a></li>
<li><a href="events.html">events</a></li>
<li><a href="i18n.html">i18n</a></li>
<li><a href="logger.html">logger</a></li>
<li><a href="signals.html">signals</a></li>
<li><a href="stdaction.html">stdaction</a></li>
<li><a href="collections.html">collections</a></li>
<li><a href="linestream.html">linestream</a></li>
</ul></li>
<li>dlangui.graphics
<ul>
<li><a href="drawbuf.html">drawbuf</a></li>
<li><a href="fonts.html">fonts</a></li>
<li><a href="images.html">images</a></li>
<li><a href="resources.html">resources</a></li>
<li><a href="ftfonts.html">ftfonts</a></li>
<li><a href="gldrawbuf.html">gldrawbuf</a></li>
<li><a href="glsupport.html">glsupport</a></li>
</ul></li>
<li>dlangui.widgets
<ul>
<li><a href="widget.html">widget</a></li>
<li><a href="styles.html">styles</a></li>
<li><a href="controls.html">controls</a></li>
<li><a href="layouts.html">layouts</a></li>
<li><a href="lists.html">lists</a></li>
<li><a href="editors.html">editors</a></li>
<li><a href="menu.html">menu</a></li>
<li><a href="popup.html">popup</a></li>
<li><a href="tabs.html">tabs</a></li>
<li><a href="tree.html">tree</a></li>
<li><a href="scroll.html">scroll</a></li>
<li><a href="grid.html">grid</a></li>
<li><a href="tree.html">tree</a></li>
<li><a href="combobox.html">combobox</a></li>
</ul></li>
<li>dlangui.dialogs
<ul>
<li><a href="dialog.html">dialog</a></li>
<li><a href="filedlg.html">filedlg</a></li>
</ul></li>
<li>dlangui.platforms.common
<ul>
<li><a href="platform.html">platform</a></li>
</ul></li>
<li>dlangui
<ul>
<li><a href="all.html">all</a></li>
</ul></li>
</section>
<footer>
Dlangui is maintained by <a href="https://github.com/buggins">buggins</a><br>
This page was generated by <a href="http://pages.github.com">GitHub Pages</a>. Tactile theme by <a href="https://twitter.com/jasonlong">Jason Long</a>.
</footer>
</div>
</div>
</body>
</html>

187
collections.html Normal file
View File

@ -0,0 +1,187 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta charset='utf-8'>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<link href='https://fonts.googleapis.com/css?family=Chivo:900' rel='stylesheet' type='text/css'>
<link rel="stylesheet" type="text/css" href="stylesheets/stylesheet.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/pygment_trac.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/print.css" media="print" />
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<title>DlangUI - cross platform GUI library for D programming language - dlangui.core.collections</title>
</head>
<body>
<div id="container">
<div class="inner">
<header>
<h1>DlangUI</h1>
<h2>Cross Platform GUI for D programming language</h2>
</header>
<section id="downloads" class="clearfix">
<a href="index.html" id="home" class="button"><span>Home</span></a>
<a href="api.html" id="home" class="button"><span>API Docs</span></a>
<a href="screenshots.html" id="home" class="button"><span>Screenshots</span></a>
<a href="https://github.com/buggins/dlangui/zipball/master" id="download-zip" class="button"><span>Download .zip</span></a>
<!--a href="https://github.com/buggins/dlangui/tarball/master" id="download-tar-gz" class="button"><span>Download .tar.gz</span></a-->
<a href="https://github.com/buggins/dlangui" id="view-on-github" class="button"><span>View on GitHub</span></a>
</section>
<hr>
<section id="main_content">
<h1>dlangui.core.collections</h1>
<!-- Generated by Ddoc from src\dlangui\core\collections.d -->
This module implements array based collection.
<br><br>
<b>Synopsis:</b><br>
<pre class="d_code"><font color=blue>import</font> dlangui.core.<u>collections</u>;
<font color=green>// add
</font>Collection!Widget widgets;
widgets ~= <font color=blue>new</font> Widget(<font color=red>"id1"</font>);
widgets ~= <font color=blue>new</font> Widget(<font color=red>"id2"</font>);
Widget w3 = <font color=blue>new</font> Widget(<font color=red>"id3"</font>);
widgets ~= w3;
<font color=green>// remove by index
</font>widgets.remove(1);
<font color=green>// foreach
</font><font color=blue>foreach</font>(w; widgets)
writeln(<font color=red>"widget: "</font>, w.id);
<font color=green>// remove by value
</font>widgets -= w3;
writeln(widgets[0].id);
</pre>
<br><br>
<b>License:</b><br>
Boost License 1.0
<br><br>
<b>Authors:</b><br>
Vadim Lopatin, coolreader.org@gmail.com<br><br>
<dl><dt><big><a name="Collection"></a>struct <u>Collection</u>(T, bool ownItems = false);
</big></dt>
<dd>array based collection of items
<br><br>
retains item order when during add/remove operations<br><br>
<dl><dt><big><a name="Collection.empty"></a>@property bool <u>empty</u>();
</big></dt>
<dd>returns <b>true</b> if there are no items in collection<br><br>
</dd>
<dt><big><a name="Collection.length"></a>@property size_t <u>length</u>();
</big></dt>
<dd>returns number of items in collection<br><br>
</dd>
<dt><big><a name="Collection.size"></a>@property size_t <u>size</u>();
</big></dt>
<dd>returns currently allocated capacity (may be more than length)<br><br>
</dd>
<dt><big><a name="Collection.size"></a>@property void <u>size</u>(size_t <i>newSize</i>);
</big></dt>
<dd>change capacity (e.g. to reserve big space to avoid multiple reallocations)<br><br>
</dd>
<dt><big><a name="Collection.length"></a>@property void <u>length</u>(size_t <i>newSize</i>);
</big></dt>
<dd>returns number of items in collection<br><br>
</dd>
<dt><big><a name="Collection.opIndex"></a>ref T <u>opIndex</u>(size_t <i>index</i>);
</big></dt>
<dd>access item by <i>index</i><br><br>
</dd>
<dt><big><a name="Collection.add"></a>void <u>add</u>(T <i>item</i>, size_t <i>index</i> = size_t.max);
</big></dt>
<dd>insert new <i>item</i> in specified position<br><br>
</dd>
<dt><big><a name="Collection.addAll"></a>void <u>addAll</u>(ref Collection!(T, ownItems) <i>v</i>);
</big></dt>
<dd>add all items from other collection<br><br>
</dd>
<dt><big><a name="Collection.opOpAssign"></a>ref Collection <u>opOpAssign</u>(string op)(T <i>item</i>);
</big></dt>
<dd>support for appending (~=, +=) and removing by value (-=)<br><br>
</dd>
<dt><big><a name="Collection.indexOf"></a>size_t <u>indexOf</u>(T <i>item</i>);
</big></dt>
<dd>returns index of first occurence of <i>item</i>, size_t.max if not found<br><br>
</dd>
<dt><big><a name="Collection.remove"></a>T <u>remove</u>(size_t <i>index</i>);
</big></dt>
<dd><u>remove</u> single item, returning removed item<br><br>
</dd>
<dt><big><a name="Collection.removeValue"></a>bool <u>removeValue</u>(T <i>value</i>);
</big></dt>
<dd>remove single item by <i>value</i> - if present in collection, returning <b>true</b> if item was found and removed<br><br>
</dd>
<dt><big><a name="Collection.opApply"></a>int <u>opApply</u>(int delegate(ref T param) <i>op</i>);
</big></dt>
<dd>support of foreach with reference<br><br>
</dd>
<dt><big><a name="Collection.clear"></a>void <u>clear</u>();
</big></dt>
<dd>remove all items<br><br>
</dd>
<dt><big><a name="Collection.popFront"></a>@property T <u>popFront</u>();
</big></dt>
<dd>remove first item<br><br>
</dd>
<dt><big><a name="Collection.pushFront"></a>void <u>pushFront</u>(T <i>item</i>);
</big></dt>
<dd>insert <i>item</i> at beginning of collection<br><br>
</dd>
<dt><big><a name="Collection.popBack"></a>@property T <u>popBack</u>();
</big></dt>
<dd>remove last item<br><br>
</dd>
<dt><big><a name="Collection.pushBack"></a>void <u>pushBack</u>(T <i>item</i>);
</big></dt>
<dd>insert <i>item</i> at end of collection<br><br>
</dd>
<dt><big><a name="Collection.front"></a>@property T <u>front</u>();
</big></dt>
<dd>peek first item<br><br>
</dd>
<dt><big><a name="Collection.back"></a>@property T <u>back</u>();
</big></dt>
<dd>peek last item<br><br>
</dd>
</dl>
</dd>
</dl>
</section>
<footer>
Dlangui is maintained by <a href="https://github.com/buggins">buggins</a><br>
This page was generated by <a href="http://pages.github.com">GitHub Pages</a>. Tactile theme by <a href="https://twitter.com/jasonlong">Jason Long</a>.
</footer>
</div>
</div>
</body>
</html>

90
combobox.html Normal file
View File

@ -0,0 +1,90 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta charset='utf-8'>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<link href='https://fonts.googleapis.com/css?family=Chivo:900' rel='stylesheet' type='text/css'>
<link rel="stylesheet" type="text/css" href="stylesheets/stylesheet.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/pygment_trac.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/print.css" media="print" />
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<title>DlangUI - cross platform GUI library for D programming language - dlangui.widgets.combobox</title>
</head>
<body>
<div id="container">
<div class="inner">
<header>
<h1>DlangUI</h1>
<h2>Cross Platform GUI for D programming language</h2>
</header>
<section id="downloads" class="clearfix">
<a href="index.html" id="home" class="button"><span>Home</span></a>
<a href="api.html" id="home" class="button"><span>API Docs</span></a>
<a href="screenshots.html" id="home" class="button"><span>Screenshots</span></a>
<a href="https://github.com/buggins/dlangui/zipball/master" id="download-zip" class="button"><span>Download .zip</span></a>
<!--a href="https://github.com/buggins/dlangui/tarball/master" id="download-tar-gz" class="button"><span>Download .tar.gz</span></a-->
<a href="https://github.com/buggins/dlangui" id="view-on-github" class="button"><span>View on GitHub</span></a>
</section>
<hr>
<section id="main_content">
<h1>dlangui.widgets.combobox</h1>
<!-- Generated by Ddoc from src\dlangui\widgets\combobox.d -->
This module contains Combo Box widgets implementation.
<br><br>
<b>Synopsis:</b><br>
<pre class="d_code"><font color=blue>import</font> dlangui.widgets.<u>combobox</u>;
<font color=green>// creation of simple strings list
</font>ComboBox box = <font color=blue>new</font> ComboBox(<font color=red>"combo1"</font>, [<font color=red>"value 1"d</font>, <font color=red>"value 2"d</font>, <font color=red>"value 3"d</font>]);
<font color=green>// select first item
</font>box.selectedItemIndex = 0;
<font color=green>// get selected item text
</font>println(box.text);
</pre>
<br><br>
<b>License:</b><br>
Boost License 1.0
<br><br>
<b>Authors:</b><br>
Vadim Lopatin, coolreader.org@gmail.com<br><br>
<dl><dt><big><a name="ComboBoxBase"></a>class <u>ComboBoxBase</u>: <u>dlangui.widgets.layouts.HorizontalLayout</u>, <u>dlangui.widgets.widget.OnClickHandler</u>;
</big></dt>
<dd>Abstract ComboBox.<br><br>
<dl><dt><big><a name="ComboBoxBase.onItemClickListener"></a>Signal!OnItemSelectedHandler <u>onItemClickListener</u>;
</big></dt>
<dd>Handle item click.<br><br>
</dd>
<dt><big><a name="ComboBoxBase.selectedItemIndex"></a>@property int <u>selectedItemIndex</u>();
</big></dt>
<dd>Selected item index.<br><br>
</dd>
</dl>
</dd>
<dt><big><a name="ComboBox"></a>class <u>ComboBox</u>: <u>dlangui.widgets.combobox.ComboBoxBase</u>;
</big></dt>
<dd><u>ComboBox</u> with list of strings.<br><br>
</dd>
</dl>
</section>
<footer>
Dlangui is maintained by <a href="https://github.com/buggins">buggins</a><br>
This page was generated by <a href="http://pages.github.com">GitHub Pages</a>. Tactile theme by <a href="https://twitter.com/jasonlong">Jason Long</a>.
</footer>
</div>
</div>
</body>
</html>

257
controls.html Normal file
View File

@ -0,0 +1,257 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta charset='utf-8'>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<link href='https://fonts.googleapis.com/css?family=Chivo:900' rel='stylesheet' type='text/css'>
<link rel="stylesheet" type="text/css" href="stylesheets/stylesheet.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/pygment_trac.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/print.css" media="print" />
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<title>DlangUI - cross platform GUI library for D programming language - dlangui.widgets.controls</title>
</head>
<body>
<div id="container">
<div class="inner">
<header>
<h1>DlangUI</h1>
<h2>Cross Platform GUI for D programming language</h2>
</header>
<section id="downloads" class="clearfix">
<a href="index.html" id="home" class="button"><span>Home</span></a>
<a href="api.html" id="home" class="button"><span>API Docs</span></a>
<a href="screenshots.html" id="home" class="button"><span>Screenshots</span></a>
<a href="https://github.com/buggins/dlangui/zipball/master" id="download-zip" class="button"><span>Download .zip</span></a>
<!--a href="https://github.com/buggins/dlangui/tarball/master" id="download-tar-gz" class="button"><span>Download .tar.gz</span></a-->
<a href="https://github.com/buggins/dlangui" id="view-on-github" class="button"><span>View on GitHub</span></a>
</section>
<hr>
<section id="main_content">
<h1>dlangui.widgets.controls</h1>
<!-- Generated by Ddoc from src\dlangui\widgets\controls.d -->
This module contains simple <u>controls</u> widgets implementation.
<br><br>
TextWidget
<br><br>
ImageWidget
<br><br>
Button
<br><br>
ImageButton
<br><br>
ScrollBar
<br><br>
<br><br>
<b>Synopsis:</b><br>
<pre class="d_code"><font color=blue>import</font> dlangui.widgets.<u>controls</u>;
</pre>
<br><br>
<b>License:</b><br>
Boost License 1.0
<br><br>
<b>Authors:</b><br>
Vadim Lopatin, coolreader.org@gmail.com<br><br>
<dl><dt><big><a name="VSpacer"></a>class <u>VSpacer</u>: <u>dlangui.widgets.widget.Widget</u>;
</big></dt>
<dd>vertical spacer to fill empty space in vertical layouts<br><br>
</dd>
<dt><big><a name="HSpacer"></a>class <u>HSpacer</u>: <u>dlangui.widgets.widget.Widget</u>;
</big></dt>
<dd>horizontal spacer to fill empty space in horizontal layouts<br><br>
</dd>
<dt><big><a name="TextWidget"></a>class <u>TextWidget</u>: <u>dlangui.widgets.widget.Widget</u>;
</big></dt>
<dd>static text widget<br><br>
<dl><dt><big><a name="TextWidget.text"></a>@property dstring <u>text</u>();
</big></dt>
<dd>get widget <u>text</u><br><br>
</dd>
<dt><big><a name="TextWidget.text"></a>@property Widget <u>text</u>(dstring <i>s</i>);
</big></dt>
<dd>set <u>text</u> to show<br><br>
</dd>
<dt><big><a name="TextWidget.text"></a>@property Widget <u>text</u>(UIString <i>s</i>);
</big></dt>
<dd>set <u>text</u> to show<br><br>
</dd>
<dt><big><a name="TextWidget.textResource"></a>@property Widget <u>textResource</u>(string <i>s</i>);
</big></dt>
<dd>set text resource ID to show<br><br>
</dd>
</dl>
</dd>
<dt><big><a name="ImageWidget"></a>class <u>ImageWidget</u>: <u>dlangui.widgets.widget.Widget</u>;
</big></dt>
<dd>static image widget<br><br>
<dl><dt><big><a name="ImageWidget.drawableId"></a>@property string <u>drawableId</u>();
</big></dt>
<dd>get drawable image id<br><br>
</dd>
<dt><big><a name="ImageWidget.drawableId"></a>@property ImageWidget <u>drawableId</u>(string <i>id</i>);
</big></dt>
<dd>set drawable image <i>id</i><br><br>
</dd>
<dt><big><a name="ImageWidget.drawable"></a>@property ref DrawableRef <u>drawable</u>();
</big></dt>
<dd>get <u>drawable</u><br><br>
</dd>
<dt><big><a name="ImageWidget.drawable"></a>@property ImageWidget <u>drawable</u>(DrawableRef <i>img</i>);
</big></dt>
<dd>set custom <u>drawable</u> (not one from resources)<br><br>
</dd>
<dt><big><a name="ImageWidget.drawable"></a>@property ImageWidget <u>drawable</u>(string <i>drawableId</i>);
</big></dt>
<dd>set custom <u>drawable</u> (not one from resources)<br><br>
</dd>
</dl>
</dd>
<dt><big><a name="ImageButton"></a>class <u>ImageButton</u>: <u>dlangui.widgets.controls.ImageWidget</u>;
</big></dt>
<dd>button with image only<br><br>
</dd>
<dt><big><a name="ImageTextButton"></a>class <u>ImageTextButton</u>: <u>dlangui.widgets.layouts.HorizontalLayout</u>;
</big></dt>
<dd>button with image and text<br><br>
</dd>
<dt><big><a name="CheckBox"></a>class <u>CheckBox</u>: <u>dlangui.widgets.controls.ImageTextButton</u>;
</big></dt>
<dd>checkbox<br><br>
</dd>
<dt><big><a name="RadioButton"></a>class <u>RadioButton</u>: <u>dlangui.widgets.controls.ImageTextButton</u>;
</big></dt>
<dd>radio button<br><br>
</dd>
<dt><big><a name="Button"></a>class <u>Button</u>: <u>dlangui.widgets.widget.Widget</u>;
</big></dt>
<dd>Text only button<br><br>
</dd>
<dt><big><a name="OnScrollHandler"></a>interface <u>OnScrollHandler</u>;
</big></dt>
<dd>scroll event handler interface<br><br>
<dl><dt><big><a name="OnScrollHandler.onScrollEvent"></a>abstract bool <u>onScrollEvent</u>(AbstractSlider <i>source</i>, ScrollEvent <i>event</i>);
</big></dt>
<dd>handle scroll <i>event</i><br><br>
</dd>
</dl>
</dd>
<dt><big><a name="AbstractSlider"></a>class <u>AbstractSlider</u>: <u>dlangui.widgets.widget.WidgetGroup</u>;
</big></dt>
<dd>base class for widgets like scrollbars and sliders<br><br>
<dl><dt><big><a name="AbstractSlider.onScrollEventListener"></a>Signal!OnScrollHandler <u>onScrollEventListener</u>;
</big></dt>
<dd>scroll event listeners<br><br>
</dd>
<dt><big><a name="AbstractSlider.position"></a>const @property int <u>position</u>();
</big></dt>
<dd>returns slider <u>position</u><br><br>
</dd>
<dt><big><a name="AbstractSlider.position"></a>@property AbstractSlider <u>position</u>(int <i>newPosition</i>);
</big></dt>
<dd>sets new slider <u>position</u><br><br>
</dd>
<dt><big><a name="AbstractSlider.minValue"></a>const @property int <u>minValue</u>();
</big></dt>
<dd>returns slider range min value<br><br>
</dd>
<dt><big><a name="AbstractSlider.maxValue"></a>const @property int <u>maxValue</u>();
</big></dt>
<dd>returns slider range max value<br><br>
</dd>
<dt><big><a name="AbstractSlider.pageSize"></a>const @property int <u>pageSize</u>();
</big></dt>
<dd>page size (visible area size)<br><br>
</dd>
<dt><big><a name="AbstractSlider.pageSize"></a>@property AbstractSlider <u>pageSize</u>(int <i>size</i>);
</big></dt>
<dd>set page <i>size</i> (visible area <i>size</i>)<br><br>
</dd>
<dt><big><a name="AbstractSlider.setRange"></a>AbstractSlider <u>setRange</u>(int <i>min</i>, int <i>max</i>);
</big></dt>
<dd>set new range (<i>min</i> and <i>max</i> values for slider)<br><br>
</dd>
</dl>
</dd>
<dt><big><a name="ScrollBar"></a>class <u>ScrollBar</u>: <u>dlangui.widgets.controls.AbstractSlider</u>, <u>dlangui.widgets.widget.OnClickHandler</u>;
</big></dt>
<dd>scroll bar - either vertical or horizontal<br><br>
<dl><dt><big><a name="ScrollBar.orientation"></a>@property Orientation <u>orientation</u>();
</big></dt>
<dd>returns scrollbar <u>orientation</u> (Vertical, Horizontal)<br><br>
</dd>
<dt><big><a name="ScrollBar.orientation"></a>@property ScrollBar <u>orientation</u>(Orientation <i>value</i>);
</big></dt>
<dd>sets scrollbar <u>orientation</u><br><br>
</dd>
<dt><big><a name="ScrollBar.updateState"></a>protected void <u>updateState</u>();
</big></dt>
<dd>hide controls when scroll is not possible<br><br>
</dd>
<dt><big><a name="ScrollBar.onMouseEvent"></a>bool <u>onMouseEvent</u>(MouseEvent <i>event</i>);
</big></dt>
<dd>handle mouse wheel events<br><br>
</dd>
<dt><big><a name="ScrollBar.onDraw"></a>void <u>onDraw</u>(DrawBuf <i>buf</i>);
</big></dt>
<dd>Draw widget at its position to buffer<br><br>
</dd>
</dl>
</dd>
</dl>
</section>
<footer>
Dlangui is maintained by <a href="https://github.com/buggins">buggins</a><br>
This page was generated by <a href="http://pages.github.com">GitHub Pages</a>. Tactile theme by <a href="https://twitter.com/jasonlong">Jason Long</a>.
</footer>
</div>
</div>
</body>
</html>

95
dialog.html Normal file
View File

@ -0,0 +1,95 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta charset='utf-8'>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<link href='https://fonts.googleapis.com/css?family=Chivo:900' rel='stylesheet' type='text/css'>
<link rel="stylesheet" type="text/css" href="stylesheets/stylesheet.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/pygment_trac.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/print.css" media="print" />
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<title>DlangUI - cross platform GUI library for D programming language - dlangui.dialogs.dialog</title>
</head>
<body>
<div id="container">
<div class="inner">
<header>
<h1>DlangUI</h1>
<h2>Cross Platform GUI for D programming language</h2>
</header>
<section id="downloads" class="clearfix">
<a href="index.html" id="home" class="button"><span>Home</span></a>
<a href="api.html" id="home" class="button"><span>API Docs</span></a>
<a href="screenshots.html" id="home" class="button"><span>Screenshots</span></a>
<a href="https://github.com/buggins/dlangui/zipball/master" id="download-zip" class="button"><span>Download .zip</span></a>
<!--a href="https://github.com/buggins/dlangui/tarball/master" id="download-tar-gz" class="button"><span>Download .tar.gz</span></a-->
<a href="https://github.com/buggins/dlangui" id="view-on-github" class="button"><span>View on GitHub</span></a>
</section>
<hr>
<section id="main_content">
<h1>dlangui.dialogs.dialog</h1>
<!-- Generated by Ddoc from src\dlangui\dialogs\dialog.d -->
This module contains common Dialog implementation.
<br><br>
<b>Synopsis:</b><br>
<pre class="d_code"><font color=blue>import</font> dlangui.platforms.common.platform;
</pre>
<br><br>
<b>License:</b><br>
Boost License 1.0
<br><br>
<b>Authors:</b><br>
Vadim Lopatin, coolreader.org@gmail.com<br><br>
<dl><dt><big><a name="DialogFlag"></a>enum <u>DialogFlag</u>: uint;
</big></dt>
<dd>dialog flag bits<br><br>
<dl><dt><big><a name="DialogFlag.Modal"></a><u>Modal</u></big></dt>
<dd>dialog is modal<br><br>
</dd>
<dt><big><a name="DialogFlag.Resizable"></a><u>Resizable</u></big></dt>
<dd>dialog can be resized<br><br>
</dd>
</dl>
</dd>
<dt><big><a name="Dialog"></a>class <u>Dialog</u>: <u>dlangui.widgets.layouts.VerticalLayout</u>;
</big></dt>
<dd>base for all dialogs<br><br>
<dl><dt><big><a name="Dialog.createButtonsPanel"></a>Widget <u>createButtonsPanel</u>(const Action[] <i>actions</i>, int <i>defaultActionIndex</i>, int <i>splitBeforeIndex</i>);
</big></dt>
<dd>create panel with buttons based on list of <i>actions</i><br><br>
</dd>
<dt><big><a name="Dialog.init"></a>void <u>init</u>();
</big></dt>
<dd>override to implement creation of dialog controls<br><br>
</dd>
<dt><big><a name="Dialog.show"></a>void <u>show</u>();
</big></dt>
<dd>shows dialog<br><br>
</dd>
</dl>
</dd>
</dl>
</section>
<footer>
Dlangui is maintained by <a href="https://github.com/buggins">buggins</a><br>
This page was generated by <a href="http://pages.github.com">GitHub Pages</a>. Tactile theme by <a href="https://twitter.com/jasonlong">Jason Long</a>.
</footer>
</div>
</div>
</body>
</html>

261
drawbuf.html Normal file
View File

@ -0,0 +1,261 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta charset='utf-8'>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<link href='https://fonts.googleapis.com/css?family=Chivo:900' rel='stylesheet' type='text/css'>
<link rel="stylesheet" type="text/css" href="stylesheets/stylesheet.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/pygment_trac.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/print.css" media="print" />
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<title>DlangUI - cross platform GUI library for D programming language - dlangui.graphics.drawbuf</title>
</head>
<body>
<div id="container">
<div class="inner">
<header>
<h1>DlangUI</h1>
<h2>Cross Platform GUI for D programming language</h2>
</header>
<section id="downloads" class="clearfix">
<a href="index.html" id="home" class="button"><span>Home</span></a>
<a href="api.html" id="home" class="button"><span>API Docs</span></a>
<a href="screenshots.html" id="home" class="button"><span>Screenshots</span></a>
<a href="https://github.com/buggins/dlangui/zipball/master" id="download-zip" class="button"><span>Download .zip</span></a>
<!--a href="https://github.com/buggins/dlangui/tarball/master" id="download-tar-gz" class="button"><span>Download .tar.gz</span></a-->
<a href="https://github.com/buggins/dlangui" id="view-on-github" class="button"><span>View on GitHub</span></a>
</section>
<hr>
<section id="main_content">
<h1>dlangui.graphics.drawbuf</h1>
<!-- Generated by Ddoc from src\dlangui\graphics\drawbuf.d -->
This module contains drawing buffer implementation.
<br><br>
<b>Synopsis:</b><br>
<pre class="d_code"><font color=blue>import</font> dlangui.graphics.<u>drawbuf</u>;
</pre>
<br><br>
<b>License:</b><br>
Boost License 1.0
<br><br>
<b>Authors:</b><br>
Vadim Lopatin, coolreader.org@gmail.com<br><br>
<dl><dt><big><a name="blendARGB"></a>uint <u>blendARGB</u>(uint <i>dst</i>, uint <i>src</i>, uint <i>alpha</i>);
</big></dt>
<dd>blend two RGB pixels using <i>alpha</i><br><br>
</dd>
<dt><big><a name="blendAlpha"></a>uint <u>blendAlpha</u>(uint <i>a1</i>, uint <i>a2</i>);
</big></dt>
<dd>blend two alpha values 0..255 (255 is fully transparent, 0 is opaque)<br><br>
</dd>
<dt><big><a name="blendGray"></a>ubyte <u>blendGray</u>(ubyte <i>dst</i>, ubyte <i>src</i>, uint <i>alpha</i>);
</big></dt>
<dd>blend two RGB pixels using <i>alpha</i><br><br>
</dd>
<dt><big><a name="isFullyTransparentColor"></a>pure nothrow bool <u>isFullyTransparentColor</u>(uint <i>color</i>);
</big></dt>
<dd>returns <b>true</b> if <i>color</i> is #FFxxxxxx (<i>color</i> alpha is 255)<br><br>
</dd>
<dt><big><a name="NinePatch"></a>struct <u>NinePatch</u>;
</big></dt>
<dd>9-patch image scaling information (see Android documentation).
<br><br>
<dl><dt><big><a name="NinePatch.frame"></a>Rect <u>frame</u>;
</big></dt>
<dd><u>frame</u> (non-scalable) part size for left, top, right, bottom edges.<br><br>
</dd>
<dt><big><a name="NinePatch.padding"></a>Rect <u>padding</u>;
</big></dt>
<dd><u>padding</u> (distance to content area) for left, top, right, bottom edges.<br><br>
</dd>
</dl>
</dd>
<dt><big><a name="DrawBuf"></a>abstract class <u>DrawBuf</u>: <u>dlangui.core.types.RefCountedObject</u>;
</big></dt>
<dd>drawing buffer - image container which allows to perform some drawing operations<br><br>
<dl><dt><big><a name="DrawBuf.alpha"></a>@property uint <u>alpha</u>();
</big></dt>
<dd>get current <u>alpha</u> setting (to be applied to all drawing operations)<br><br>
</dd>
<dt><big><a name="DrawBuf.alpha"></a>@property void <u>alpha</u>(uint <u>alpha</u>);
</big></dt>
<dd>set new <u>alpha</u> setting (to be applied to all drawing operations)<br><br>
</dd>
<dt><big><a name="DrawBuf.addAlpha"></a>void <u>addAlpha</u>(uint <i>alpha</i>);
</big></dt>
<dd>apply additional transparency to current drawbuf <i>alpha</i> value<br><br>
</dd>
<dt><big><a name="DrawBuf.applyAlpha"></a>uint <u>applyAlpha</u>(uint <i>argb</i>);
</big></dt>
<dd>applies current drawbuf alpha to <i>argb</i> color value<br><br>
</dd>
<dt><big><a name="DrawBuf.ninePatch"></a>const @property const(NinePatch)* <u>ninePatch</u>();
</big></dt>
<dd>get nine patch information pointer, <b>null</b> if this is not a nine patch image buffer<br><br>
</dd>
<dt><big><a name="DrawBuf.ninePatch"></a>@property void <u>ninePatch</u>(NinePatch* <u>ninePatch</u>);
</big></dt>
<dd>set nine patch information pointer, <b>null</b> if this is not a nine patch image buffer<br><br>
</dd>
<dt><big><a name="DrawBuf.hasNinePatch"></a>@property bool <u>hasNinePatch</u>();
</big></dt>
<dd>check whether there is nine-patch information available for drawing buffer<br><br>
</dd>
<dt><big><a name="DrawBuf.detectNinePatch"></a>bool <u>detectNinePatch</u>();
</big></dt>
<dd>override to detect nine patch using image 1-pixel border; returns <b>true</b> if 9-patch markup is found in image.<br><br>
</dd>
<dt><big><a name="DrawBuf.width"></a>@property int <u>width</u>();
</big></dt>
<dd>returns current <u>width</u><br><br>
</dd>
<dt><big><a name="DrawBuf.height"></a>@property int <u>height</u>();
</big></dt>
<dd>returns current <u>height</u><br><br>
</dd>
<dt><big><a name="DrawBuf.resetClipping"></a>void <u>resetClipping</u>();
</big></dt>
<dd>init clip rectangle to full buffer size<br><br>
</dd>
<dt><big><a name="DrawBuf.clipRect"></a>@property ref Rect <u>clipRect</u>();
</big></dt>
<dd>returns clipping rectangle, when <u>clipRect</u>.isEmpty == <b>true</b> -- means no clipping.<br><br>
</dd>
<dt><big><a name="DrawBuf.clipRect"></a>@property void <u>clipRect</u>(ref const Rect <i>rect</i>);
</big></dt>
<dd>returns clipping rectangle, or (0,0,dx,dy) when no clipping.
<br><br>
sets new clipping rectangle, when <u>clipRect</u>.isEmpty == <b>true</b> -- means no clipping.<br><br>
</dd>
<dt><big><a name="DrawBuf.intersectClipRect"></a>@property void <u>intersectClipRect</u>(ref const Rect <i>rect</i>);
</big></dt>
<dd>sets new clipping rectangle, intersect with previous one.<br><br>
</dd>
<dt><big><a name="DrawBuf.isClippedOut"></a>@property bool <u>isClippedOut</u>(ref const Rect <i>rect</i>);
</big></dt>
<dd>returns <b>true</b> if rectangle is completely clipped out and cannot be drawn.<br><br>
</dd>
<dt><big><a name="DrawBuf.applyClipping"></a>bool <u>applyClipping</u>(ref Rect <i>rc</i>);
</big></dt>
<dd>apply clipRect and buffer bounds clipping to rectangle<br><br>
</dd>
<dt><big><a name="DrawBuf.applyClipping"></a>bool <u>applyClipping</u>(ref Rect <i>rc</i>, ref Rect <i>rc2</i>);
</big></dt>
<dd>apply clipRect and buffer bounds clipping to rectangle; if clippinup applied to first rectangle, reduce second rectangle bounds proportionally.<br><br>
</dd>
<dt><big><a name="DrawBuf.beforeDrawing"></a>void <u>beforeDrawing</u>();
</big></dt>
<dd>reserved for hardware-accelerated drawing - begins drawing batch<br><br>
</dd>
<dt><big><a name="DrawBuf.afterDrawing"></a>void <u>afterDrawing</u>();
</big></dt>
<dd>reserved for hardware-accelerated drawing - ends drawing batch<br><br>
</dd>
<dt><big><a name="DrawBuf.bpp"></a>@property int <u>bpp</u>();
</big></dt>
<dd>returns buffer bits per pixel<br><br>
</dd>
<dt><big><a name="DrawBuf.resize"></a>abstract void <u>resize</u>(int <i>width</i>, int <i>height</i>);
</big></dt>
<dd><u>resize</u> buffer<br><br>
</dd>
<dt><big><a name="DrawBuf.fill"></a>abstract void <u>fill</u>(uint <i>color</i>);
</big></dt>
<dd><u>fill</u> the whole buffer with solid <i>color</i> (no clipping applied)<br><br>
</dd>
<dt><big><a name="DrawBuf.fillRect"></a>abstract void <u>fillRect</u>(Rect <i>rc</i>, uint <i>color</i>);
</big></dt>
<dd>fill rectangle with solid <i>color</i> (clipping is applied)<br><br>
</dd>
<dt><big><a name="DrawBuf.drawGlyph"></a>abstract void <u>drawGlyph</u>(int <i>x</i>, int <i>y</i>, Glyph* <i>glyph</i>, uint <i>color</i>);
</big></dt>
<dd>draw 8bit alpha image - usually font <i>glyph</i> using specified <i>color</i> (clipping is applied)<br><br>
</dd>
<dt><big><a name="DrawBuf.drawFragment"></a>abstract void <u>drawFragment</u>(int <i>x</i>, int <i>y</i>, DrawBuf <i>src</i>, Rect <i>srcrect</i>);
</big></dt>
<dd>draw source buffer rectangle contents to destination buffer<br><br>
</dd>
<dt><big><a name="DrawBuf.drawRescaled"></a>abstract void <u>drawRescaled</u>(Rect <i>dstrect</i>, DrawBuf <i>src</i>, Rect <i>srcrect</i>);
</big></dt>
<dd>draw source buffer rectangle contents to destination buffer rectangle applying rescaling<br><br>
</dd>
<dt><big><a name="DrawBuf.drawImage"></a>void <u>drawImage</u>(int <i>x</i>, int <i>y</i>, DrawBuf <i>src</i>);
</big></dt>
<dd>draw unscaled image at specified coordinates<br><br>
</dd>
<dt><big><a name="DrawBuf.drawFrame"></a>void <u>drawFrame</u>(Rect <i>rc</i>, uint <i>frameColor</i>, Rect <i>frameSideWidths</i>, uint <i>innerAreaColor</i> = 4294967295u);
</big></dt>
<dd>draws rectangle frame of specified color and widths (per side), and optinally fills inner area<br><br>
</dd>
<dt><big><a name="DrawBuf.transformColors"></a>DrawBuf <u>transformColors</u>(ref ColorTransform <i>transform</i>);
</big></dt>
<dd>create drawbuf with copy of current buffer with changed colors (returns this if not supported)<br><br>
</dd>
</dl>
</dd>
<dt><big><a name="ClipRectSaver"></a>struct <u>ClipRectSaver</u>;
</big></dt>
<dd>RAII setting/restoring of clip rectangle<br><br>
<dl><dt><big><a name="ClipRectSaver.this"></a>this(DrawBuf <i>buf</i>, ref Rect <i>newClipRect</i>, uint <i>newAlpha</i> = 0);
</big></dt>
<dd>apply (intersect) new clip rectangle and alpha to draw <i>buf</i>; restore<br><br>
</dd>
</dl>
</dd>
</dl>
</section>
<footer>
Dlangui is maintained by <a href="https://github.com/buggins">buggins</a><br>
This page was generated by <a href="http://pages.github.com">GitHub Pages</a>. Tactile theme by <a href="https://twitter.com/jasonlong">Jason Long</a>.
</footer>
</div>
</div>
</body>
</html>

790
editors.html Normal file
View File

@ -0,0 +1,790 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta charset='utf-8'>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<link href='https://fonts.googleapis.com/css?family=Chivo:900' rel='stylesheet' type='text/css'>
<link rel="stylesheet" type="text/css" href="stylesheets/stylesheet.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/pygment_trac.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/print.css" media="print" />
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<title>DlangUI - cross platform GUI library for D programming language - dlangui.widgets.editors</title>
</head>
<body>
<div id="container">
<div class="inner">
<header>
<h1>DlangUI</h1>
<h2>Cross Platform GUI for D programming language</h2>
</header>
<section id="downloads" class="clearfix">
<a href="index.html" id="home" class="button"><span>Home</span></a>
<a href="api.html" id="home" class="button"><span>API Docs</span></a>
<a href="screenshots.html" id="home" class="button"><span>Screenshots</span></a>
<a href="https://github.com/buggins/dlangui/zipball/master" id="download-zip" class="button"><span>Download .zip</span></a>
<!--a href="https://github.com/buggins/dlangui/tarball/master" id="download-tar-gz" class="button"><span>Download .tar.gz</span></a-->
<a href="https://github.com/buggins/dlangui" id="view-on-github" class="button"><span>View on GitHub</span></a>
</section>
<hr>
<section id="main_content">
<h1>dlangui.widgets.editors</h1>
<!-- Generated by Ddoc from src\dlangui\widgets\editors.d -->
This module contains implementation of <u>editors</u>.
<br><br>
EditLine - single line editor.
<br><br>
EditBox - multiline editor
<br><br>
<br><br>
<b>Synopsis:</b><br>
<pre class="d_code"><font color=blue>import</font> dlangui.widgets.<u>editors</u>;
</pre>
<br><br>
<b>License:</b><br>
Boost License 1.0
<br><br>
<b>Authors:</b><br>
Vadim Lopatin, coolreader.org@gmail.com<br><br>
<dl><dt><big><a name="EditorActions"></a>enum <u>EditorActions</u>: int;
</big></dt>
<dd>Editor action codes<br><br>
<dl><dt><big><a name="EditorActions.Left"></a><u>Left</u></big></dt>
<dd>move cursor one char left<br><br>
</dd>
<dt><big><a name="EditorActions.SelectLeft"></a><u>SelectLeft</u></big></dt>
<dd>move cursor one char left with selection<br><br>
</dd>
<dt><big><a name="EditorActions.Right"></a><u>Right</u></big></dt>
<dd>move cursor one char right<br><br>
</dd>
<dt><big><a name="EditorActions.SelectRight"></a><u>SelectRight</u></big></dt>
<dd>move cursor one char right with selection<br><br>
</dd>
<dt><big><a name="EditorActions.Up"></a><u>Up</u></big></dt>
<dd>move cursor one line up<br><br>
</dd>
<dt><big><a name="EditorActions.SelectUp"></a><u>SelectUp</u></big></dt>
<dd>move cursor one line up with selection<br><br>
</dd>
<dt><big><a name="EditorActions.Down"></a><u>Down</u></big></dt>
<dd>move cursor one line down<br><br>
</dd>
<dt><big><a name="EditorActions.SelectDown"></a><u>SelectDown</u></big></dt>
<dd>move cursor one line down with selection<br><br>
</dd>
<dt><big><a name="EditorActions.WordLeft"></a><u>WordLeft</u></big></dt>
<dd>move cursor one word left<br><br>
</dd>
<dt><big><a name="EditorActions.SelectWordLeft"></a><u>SelectWordLeft</u></big></dt>
<dd>move cursor one word left with selection<br><br>
</dd>
<dt><big><a name="EditorActions.WordRight"></a><u>WordRight</u></big></dt>
<dd>move cursor one word right<br><br>
</dd>
<dt><big><a name="EditorActions.SelectWordRight"></a><u>SelectWordRight</u></big></dt>
<dd>move cursor one word right with selection<br><br>
</dd>
<dt><big><a name="EditorActions.PageUp"></a><u>PageUp</u></big></dt>
<dd>move cursor one page up<br><br>
</dd>
<dt><big><a name="EditorActions.SelectPageUp"></a><u>SelectPageUp</u></big></dt>
<dd>move cursor one page up with selection<br><br>
</dd>
<dt><big><a name="EditorActions.PageDown"></a><u>PageDown</u></big></dt>
<dd>move cursor one page down<br><br>
</dd>
<dt><big><a name="EditorActions.SelectPageDown"></a><u>SelectPageDown</u></big></dt>
<dd>move cursor one page down with selection<br><br>
</dd>
<dt><big><a name="EditorActions.PageBegin"></a><u>PageBegin</u></big></dt>
<dd>move cursor to the beginning of page<br><br>
</dd>
<dt><big><a name="EditorActions.SelectPageBegin"></a><u>SelectPageBegin</u></big></dt>
<dd>move cursor to the beginning of page with selection<br><br>
</dd>
<dt><big><a name="EditorActions.PageEnd"></a><u>PageEnd</u></big></dt>
<dd>move cursor to the end of page<br><br>
</dd>
<dt><big><a name="EditorActions.SelectPageEnd"></a><u>SelectPageEnd</u></big></dt>
<dd>move cursor to the end of page with selection<br><br>
</dd>
<dt><big><a name="EditorActions.LineBegin"></a><u>LineBegin</u></big></dt>
<dd>move cursor to the beginning of line<br><br>
</dd>
<dt><big><a name="EditorActions.SelectLineBegin"></a><u>SelectLineBegin</u></big></dt>
<dd>move cursor to the beginning of line with selection<br><br>
</dd>
<dt><big><a name="EditorActions.LineEnd"></a><u>LineEnd</u></big></dt>
<dd>move cursor to the end of line<br><br>
</dd>
<dt><big><a name="EditorActions.SelectLineEnd"></a><u>SelectLineEnd</u></big></dt>
<dd>move cursor to the end of line with selection<br><br>
</dd>
<dt><big><a name="EditorActions.DocumentBegin"></a><u>DocumentBegin</u></big></dt>
<dd>move cursor to the beginning of document<br><br>
</dd>
<dt><big><a name="EditorActions.SelectDocumentBegin"></a><u>SelectDocumentBegin</u></big></dt>
<dd>move cursor to the beginning of document with selection<br><br>
</dd>
<dt><big><a name="EditorActions.DocumentEnd"></a><u>DocumentEnd</u></big></dt>
<dd>move cursor to the end of document<br><br>
</dd>
<dt><big><a name="EditorActions.SelectDocumentEnd"></a><u>SelectDocumentEnd</u></big></dt>
<dd>move cursor to the end of document with selection<br><br>
</dd>
<dt><big><a name="EditorActions.DelPrevChar"></a><u>DelPrevChar</u></big></dt>
<dd>delete char before cursor (backspace)<br><br>
</dd>
<dt><big><a name="EditorActions.DelNextChar"></a><u>DelNextChar</u></big></dt>
<dd>delete char after cursor (del key)<br><br>
</dd>
<dt><big><a name="EditorActions.DelPrevWord"></a><u>DelPrevWord</u></big></dt>
<dd>delete word before cursor (ctrl + backspace)<br><br>
</dd>
<dt><big><a name="EditorActions.DelNextWord"></a><u>DelNextWord</u></big></dt>
<dd>delete char after cursor (ctrl + del key)<br><br>
</dd>
<dt><big><a name="EditorActions.InsertNewLine"></a><u>InsertNewLine</u></big></dt>
<dd>insert new line (Enter)<br><br>
</dd>
<dt><big><a name="EditorActions.PrependNewLine"></a><u>PrependNewLine</u></big></dt>
<dd>insert new line after current position (Ctrl+Enter)<br><br>
</dd>
<dt><big><a name="EditorActions.ToggleReplaceMode"></a><u>ToggleReplaceMode</u></big></dt>
<dd>Turn On/Off replace mode<br><br>
</dd>
<dt><big><a name="EditorActions.Copy"></a><u>Copy</u></big></dt>
<dd><u>Copy</u> selection to clipboard<br><br>
</dd>
<dt><big><a name="EditorActions.Cut"></a><u>Cut</u></big></dt>
<dd><u>Cut</u> selection to clipboard<br><br>
</dd>
<dt><big><a name="EditorActions.Paste"></a><u>Paste</u></big></dt>
<dd><u>Paste</u> selection from clipboard<br><br>
</dd>
<dt><big><a name="EditorActions.Undo"></a><u>Undo</u></big></dt>
<dd><u>Undo</u> last change<br><br>
</dd>
<dt><big><a name="EditorActions.Redo"></a><u>Redo</u></big></dt>
<dd><u>Redo</u> last undoed change<br><br>
</dd>
<dt><big><a name="EditorActions.Tab"></a><u>Tab</u></big></dt>
<dd><u>Tab</u> (e.g., <u>Tab</u> key to insert tab character or indent text)<br><br>
</dd>
<dt><big><a name="EditorActions.BackTab"></a><u>BackTab</u></big></dt>
<dd>Tab (unindent text, or remove whitespace before cursor, usually Shift+Tab)<br><br>
</dd>
<dt><big><a name="EditorActions.SelectAll"></a><u>SelectAll</u></big></dt>
<dd>Select whole content (usually, Ctrl+A)<br><br>
</dd>
<dt><big><a name="EditorActions.ScrollLineUp"></a><u>ScrollLineUp</u></big></dt>
<dd>Scroll one line up (not changing cursor)<br><br>
</dd>
<dt><big><a name="EditorActions.ScrollLineDown"></a><u>ScrollLineDown</u></big></dt>
<dd>Scroll one line down (not changing cursor)<br><br>
</dd>
<dt><big><a name="EditorActions.ScrollPageUp"></a><u>ScrollPageUp</u></big></dt>
<dd>Scroll one page up (not changing cursor)<br><br>
</dd>
<dt><big><a name="EditorActions.ScrollPageDown"></a><u>ScrollPageDown</u></big></dt>
<dd>Scroll one page down (not changing cursor)<br><br>
</dd>
<dt><big><a name="EditorActions.ScrollLeft"></a><u>ScrollLeft</u></big></dt>
<dd>Scroll window left<br><br>
</dd>
<dt><big><a name="EditorActions.ScrollRight"></a><u>ScrollRight</u></big></dt>
<dd>Scroll window right<br><br>
</dd>
<dt><big><a name="EditorActions.ZoomIn"></a><u>ZoomIn</u></big></dt>
<dd>Zoom in editor font<br><br>
</dd>
<dt><big><a name="EditorActions.ZoomOut"></a><u>ZoomOut</u></big></dt>
<dd>Zoom out editor font<br><br>
</dd>
</dl>
</dd>
<dt><big><a name="splitDString"></a>dstring[] <u>splitDString</u>(dstring <i>source</i>, dchar <i>delimiter</i> = EOL);
</big></dt>
<dd>split dstring by delimiters<br><br>
</dd>
<dt><big><a name="concatDStrings"></a>dstring <u>concatDStrings</u>(dstring[] <i>lines</i>, dstring <i>delimiter</i> = SYSTEM_DEFAULT_EOL);
</big></dt>
<dd>concat strings from array using <i>delimiter</i><br><br>
</dd>
<dt><big><a name="replaceEolsWithSpaces"></a>dstring <u>replaceEolsWithSpaces</u>(dstring <i>source</i>);
</big></dt>
<dd>replace end of lines with spaces<br><br>
</dd>
<dt><big><a name="TextPosition"></a>struct <u>TextPosition</u>;
</big></dt>
<dd>text content position<br><br>
<dl><dt><big><a name="TextPosition.line"></a>int <u>line</u>;
</big></dt>
<dd><u>line</u> number, zero based<br><br>
</dd>
<dt><big><a name="TextPosition.pos"></a>int <u>pos</u>;
</big></dt>
<dd>character position in line (0 == before first character)<br><br>
</dd>
<dt><big><a name="TextPosition.opCmp"></a>const int <u>opCmp</u>(ref const TextPosition <i>v</i>);
</big></dt>
<dd>compares two positions<br><br>
</dd>
</dl>
</dd>
<dt><big><a name="TextRange"></a>struct <u>TextRange</u>;
</big></dt>
<dd>text content range<br><br>
<dl><dt><big><a name="TextRange.empty"></a>const @property bool <u>empty</u>();
</big></dt>
<dd>returns <b>true</b> if range is <u>empty</u><br><br>
</dd>
<dt><big><a name="TextRange.singleLine"></a>const @property bool <u>singleLine</u>();
</big></dt>
<dd>returns <b>true</b> if start and end located at the same line<br><br>
</dd>
<dt><big><a name="TextRange.lines"></a>const @property int <u>lines</u>();
</big></dt>
<dd>returns count of <u>lines</u> in range<br><br>
</dd>
</dl>
</dd>
<dt><big><a name="EditAction"></a>enum <u>EditAction</u>: int;
</big></dt>
<dd>action performed with editable contents<br><br>
<dl><dt><big><a name="EditAction.Replace"></a><u>Replace</u></big></dt>
<dd>insert content into specified position (range.start)
<br><br>
delete content in range
<br><br>
replace range content with new content<br><br>
</dd>
</dl>
</dd>
<dt><big><a name="EditOperation"></a>class <u>EditOperation</u>;
</big></dt>
<dd>edit operation details for EditableContent<br><br>
<dl><dt><big><a name="EditOperation.action"></a>@property EditAction <u>action</u>();
</big></dt>
<dd><u>action</u> performed<br><br>
</dd>
<dt><big><a name="EditOperation.range"></a>@property ref TextRange <u>range</u>();
</big></dt>
<dd>source <u>range</u> to replace with new content<br><br>
</dd>
<dt><big><a name="EditOperation.newRange"></a>@property ref TextRange <u>newRange</u>();
</big></dt>
<dd>new range after operation applied<br><br>
</dd>
<dt><big><a name="EditOperation._content"></a>protected dstring[] <u>_content</u>;
</big></dt>
<dd>new content for range (if required for this action)<br><br>
</dd>
<dt><big><a name="EditOperation._oldContent"></a>protected dstring[] <u>_oldContent</u>;
</big></dt>
<dd>old content for range<br><br>
</dd>
<dt><big><a name="EditOperation.merge"></a>bool <u>merge</u>(EditOperation <i>op</i>);
</big></dt>
<dd>try to <u>merge</u> two operations (simple entering of characters in the same line), return <b>true</b> if succeded<br><br>
</dd>
</dl>
</dd>
<dt><big><a name="UndoBuffer"></a>class <u>UndoBuffer</u>;
</big></dt>
<dd>Undo/Redo buffer<br><br>
<dl><dt><big><a name="UndoBuffer.hasUndo"></a>@property bool <u>hasUndo</u>();
</big></dt>
<dd>returns <b>true</b> if buffer contains any undo items<br><br>
</dd>
<dt><big><a name="UndoBuffer.hasRedo"></a>@property bool <u>hasRedo</u>();
</big></dt>
<dd>returns <b>true</b> if buffer contains any redo items<br><br>
</dd>
<dt><big><a name="UndoBuffer.saveForUndo"></a>void <u>saveForUndo</u>(EditOperation <i>op</i>);
</big></dt>
<dd>adds undo operation<br><br>
</dd>
<dt><big><a name="UndoBuffer.undo"></a>EditOperation <u>undo</u>();
</big></dt>
<dd>returns operation to be undone (put it to redo), <b>null</b> if no <u>undo</u> ops available<br><br>
</dd>
<dt><big><a name="UndoBuffer.redo"></a>EditOperation <u>redo</u>();
</big></dt>
<dd>returns operation to be redone (put it to undo), <b>null</b> if no undo ops available<br><br>
</dd>
<dt><big><a name="UndoBuffer.clear"></a>void <u>clear</u>();
</big></dt>
<dd>clears both undo and redo buffers<br><br>
</dd>
</dl>
</dd>
<dt><big><a name="EditableContentListener"></a>interface <u>EditableContentListener</u>;
</big></dt>
<dd>Editable Content change listener<br><br>
</dd>
<dt><big><a name="EditableContent"></a>class <u>EditableContent</u>;
</big></dt>
<dd>editable plain text (singleline/multiline)<br><br>
<dl><dt><big><a name="EditableContent.contentChangeListeners"></a>Signal!EditableContentListener <u>contentChangeListeners</u>;
</big></dt>
<dd>listeners for edit operations<br><br>
</dd>
<dt><big><a name="EditableContent.multiline"></a>@property bool <u>multiline</u>();
</big></dt>
<dd>returns <b>true</b> if miltyline content is supported<br><br>
</dd>
<dt><big><a name="EditableContent.text"></a>@property dstring <u>text</u>();
</big></dt>
<dd>returns all lines concatenated delimited by '\n'<br><br>
</dd>
<dt><big><a name="EditableContent.text"></a>@property EditableContent <u>text</u>(dstring <i>newContent</i>);
</big></dt>
<dd>replace whole <u>text</u> with another content<br><br>
</dd>
<dt><big><a name="EditableContent.length"></a>@property int <u>length</u>();
</big></dt>
<dd>returns line text<br><br>
</dd>
<dt><big><a name="EditableContent.line"></a>dstring <u>line</u>(int <i>index</i>);
</big></dt>
<dd>returns <u>line</u> text by <i>index</i>, "" if <i>index</i> is out of bounds<br><br>
</dd>
<dt><big><a name="EditableContent.lineEnd"></a>TextPosition <u>lineEnd</u>(int <i>lineIndex</i>);
</big></dt>
<dd>returns text position for end of line <i>lineIndex</i><br><br>
</dd>
<dt><big><a name="EditableContent.firstNonSpace"></a>TextPosition <u>firstNonSpace</u>(int <i>lineIndex</i>);
</big></dt>
<dd>returns position before first non-space character of line, returns 0 position if no non-space chars<br><br>
</dd>
<dt><big><a name="EditableContent.lastNonSpace"></a>TextPosition <u>lastNonSpace</u>(int <i>lineIndex</i>);
</big></dt>
<dd>returns position after last non-space character of line, returns 0 position if no non-space chars on line<br><br>
</dd>
<dt><big><a name="EditableContent.lineLength"></a>int <u>lineLength</u>(int <i>lineIndex</i>);
</big></dt>
<dd>returns text position for end of line <i>lineIndex</i><br><br>
</dd>
<dt><big><a name="EditableContent.maxLineLength"></a>int <u>maxLineLength</u>();
</big></dt>
<dd>returns maximum length of line<br><br>
</dd>
<dt><big><a name="EditableContent.rangeText"></a>dstring[] <u>rangeText</u>(TextRange <i>range</i>);
</big></dt>
<dd>return text for specified <i>range</i><br><br>
</dd>
<dt><big><a name="EditableContent.correctPosition"></a>void <u>correctPosition</u>(ref TextPosition <i>position</i>);
</big></dt>
<dd>when <i>position</i> is out of content bounds, fix it to nearest valid <i>position</i><br><br>
</dd>
<dt><big><a name="EditableContent.correctRange"></a>void <u>correctRange</u>(ref TextRange <i>range</i>);
</big></dt>
<dd>when <i>range</i> positions is out of content bounds, fix it to nearest valid position<br><br>
</dd>
<dt><big><a name="EditableContent.removeLines"></a>protected void <u>removeLines</u>(int <i>start</i>, int <i>removedCount</i>);
</big></dt>
<dd>removes <i>removedCount</i> lines starting from <i>start</i><br><br>
</dd>
<dt><big><a name="EditableContent.insertLines"></a>protected void <u>insertLines</u>(int <i>start</i>, int <i>count</i>);
</big></dt>
<dd>inserts <i>count</i> empty lines at specified position<br><br>
</dd>
<dt><big><a name="EditableContent.replaceRange"></a>protected void <u>replaceRange</u>(TextRange <i>before</i>, TextRange <i>after</i>, dstring[] <i>newContent</i>);
</big></dt>
<dd>inserts or removes lines, removes text in range<br><br>
</dd>
<dt><big><a name="EditableContent.moveByWord"></a>TextPosition <u>moveByWord</u>(TextPosition <i>p</i>, int <i>direction</i>, bool <i>camelCasePartsAsWords</i>);
</big></dt>
<dd>change text position to nearest word bound (<i>direction</i> &lt; 0 - back, &gt; 0 - forward)<br><br>
</dd>
<dt><big><a name="EditableContent.performOperation"></a>bool <u>performOperation</u>(EditOperation <i>op</i>, Object <i>source</i>);
</big></dt>
<dd>edit content<br><br>
</dd>
<dt><big><a name="EditableContent.hasUndo"></a>@property bool <u>hasUndo</u>();
</big></dt>
<dd>return <b>true</b> if there is at least one operation in undo buffer<br><br>
</dd>
<dt><big><a name="EditableContent.hasRedo"></a>@property bool <u>hasRedo</u>();
</big></dt>
<dd>return <b>true</b> if there is at least one operation in redo buffer<br><br>
</dd>
<dt><big><a name="EditableContent.undo"></a>bool <u>undo</u>();
</big></dt>
<dd>undoes last change<br><br>
</dd>
<dt><big><a name="EditableContent.redo"></a>bool <u>redo</u>();
</big></dt>
<dd>redoes last undone change<br><br>
</dd>
<dt><big><a name="EditableContent.clearUndo"></a>void <u>clearUndo</u>();
</big></dt>
<dd>clear undo/redp history<br><br>
</dd>
</dl>
</dd>
<dt><big><a name="EditWidgetBase"></a>abstract class <u>EditWidgetBase</u>: <u>dlangui.widgets.scroll.ScrollWidgetBase</u>, <u>dlangui.widgets.editors.EditableContentListener</u>, <u>dlangui.widgets.menu.MenuItemActionHandler</u>;
</big></dt>
<dd>base for all editor widgets<br><br>
<dl><dt><big><a name="EditWidgetBase.onMenuItemAction"></a>bool <u>onMenuItemAction</u>(const Action <i>action</i>);
</big></dt>
<dd><br><br>
</dd>
<dt><big><a name="EditWidgetBase.canShowPopupMenu"></a>bool <u>canShowPopupMenu</u>(int <i>x</i>, int <i>y</i>);
</big></dt>
<dd>returns <b>true</b> if widget can show popup (e.g. by mouse right click at point <i>x</i>,<i>y</i>)<br><br>
</dd>
<dt><big><a name="EditWidgetBase.isActionEnabled"></a>bool <u>isActionEnabled</u>(const Action <i>action</i>);
</big></dt>
<dd>override to change popup menu items state<br><br>
</dd>
<dt><big><a name="EditWidgetBase.showPopupMenu"></a>void <u>showPopupMenu</u>(int <i>x</i>, int <i>y</i>);
</big></dt>
<dd>shows popup at (<i>x</i>,<i>y</i>)<br><br>
</dd>
<dt><big><a name="EditWidgetBase.getCursorType"></a>uint <u>getCursorType</u>(int <i>x</i>, int <i>y</i>);
</big></dt>
<dd>returns mouse cursor type for widget<br><br>
</dd>
<dt><big><a name="EditWidgetBase.wantTabs"></a>@property bool <u>wantTabs</u>();
</big></dt>
<dd>when <b>true</b>, Tab / Shift+Tab presses are processed internally in widget (e.g. insert tab character) instead of focus change navigation.<br><br>
</dd>
<dt><big><a name="EditWidgetBase.wantTabs"></a>@property EditWidgetBase <u>wantTabs</u>(bool <u>wantTabs</u>);
</big></dt>
<dd>sets tab size (in number of spaces)<br><br>
</dd>
<dt><big><a name="EditWidgetBase.readOnly"></a>@property bool <u>readOnly</u>();
</big></dt>
<dd>readonly flag (when <b>true</b>, user cannot change content of editor)<br><br>
</dd>
<dt><big><a name="EditWidgetBase.readOnly"></a>@property EditWidgetBase <u>readOnly</u>(bool <u>readOnly</u>);
</big></dt>
<dd>sets readonly flag<br><br>
</dd>
<dt><big><a name="EditWidgetBase.replaceMode"></a>@property bool <u>replaceMode</u>();
</big></dt>
<dd>replace mode flag (when <b>true</b>, entered character replaces character under cursor)<br><br>
</dd>
<dt><big><a name="EditWidgetBase.replaceMode"></a>@property EditWidgetBase <u>replaceMode</u>(bool <u>replaceMode</u>);
</big></dt>
<dd>sets replace mode flag<br><br>
</dd>
<dt><big><a name="EditWidgetBase.useSpacesForTabs"></a>@property bool <u>useSpacesForTabs</u>();
</big></dt>
<dd>when <b>true</b>, spaces will be inserted instead of tabs<br><br>
</dd>
<dt><big><a name="EditWidgetBase.useSpacesForTabs"></a>@property EditWidgetBase <u>useSpacesForTabs</u>(bool <u>useSpacesForTabs</u>);
</big></dt>
<dd>set new Tab key behavior flag: when <b>true</b>, spaces will be inserted instead of tabs<br><br>
</dd>
<dt><big><a name="EditWidgetBase.tabSize"></a>@property int <u>tabSize</u>();
</big></dt>
<dd>returns tab size (in number of spaces)<br><br>
</dd>
<dt><big><a name="EditWidgetBase.tabSize"></a>@property EditWidgetBase <u>tabSize</u>(int <i>newTabSize</i>);
</big></dt>
<dd>sets tab size (in number of spaces)<br><br>
</dd>
<dt><big><a name="EditWidgetBase.content"></a>@property EditableContent <u>content</u>();
</big></dt>
<dd>editor <u>content</u> object<br><br>
</dd>
<dt><big><a name="EditWidgetBase._ownContent"></a>protected bool <u>_ownContent</u>;
</big></dt>
<dd>when ownContent is <b>false</b>, content should not be destroyed in editor destructor<br><br>
</dd>
<dt><big><a name="EditWidgetBase.content"></a>@property EditWidgetBase <u>content</u>(EditableContent <u>content</u>);
</big></dt>
<dd>set <u>content</u> object<br><br>
</dd>
<dt><big><a name="EditWidgetBase.text"></a>@property dstring <u>text</u>();
</big></dt>
<dd>get widget <u>text</u><br><br>
</dd>
<dt><big><a name="EditWidgetBase.text"></a>@property Widget <u>text</u>(dstring <i>s</i>);
</big></dt>
<dd>set <u>text</u><br><br>
</dd>
<dt><big><a name="EditWidgetBase.text"></a>@property Widget <u>text</u>(UIString <i>s</i>);
</big></dt>
<dd>set <u>text</u><br><br>
</dd>
<dt><big><a name="EditWidgetBase.caretRect"></a>protected Rect <u>caretRect</u>();
</big></dt>
<dd>returns cursor rectangle<br><br>
</dd>
<dt><big><a name="EditWidgetBase.drawCaret"></a>protected void <u>drawCaret</u>(DrawBuf <i>buf</i>);
</big></dt>
<dd>draws caret<br><br>
</dd>
<dt><big><a name="EditWidgetBase.correctCaretPos"></a>protected void <u>correctCaretPos</u>();
</big></dt>
<dd>when cursor position or selection is out of content bounds, fix it to nearest valid position<br><br>
</dd>
<dt><big><a name="EditWidgetBase.spacesForTab"></a>protected dstring <u>spacesForTab</u>(int <i>currentPos</i>);
</big></dt>
<dd>generate string of spaces, to reach next tab position<br><br>
</dd>
<dt><big><a name="EditWidgetBase.wholeLinesSelected"></a>protected bool <u>wholeLinesSelected</u>();
</big></dt>
<dd>returns <b>true</b> if one or more lines selected fully<br><br>
</dd>
<dt><big><a name="EditWidgetBase.indentLine"></a>protected dstring <u>indentLine</u>(dstring <i>src</i>, bool <i>back</i>);
</big></dt>
<dd>change line indent<br><br>
</dd>
<dt><big><a name="EditWidgetBase.indentRange"></a>protected void <u>indentRange</u>(bool <i>back</i>);
</big></dt>
<dd>indent / unindent range<br><br>
</dd>
<dt><big><a name="EditWidgetBase.findKeyAction"></a>protected Action <u>findKeyAction</u>(uint <i>keyCode</i>, uint <i>flags</i>);
</big></dt>
<dd>map key to action<br><br>
</dd>
<dt><big><a name="EditWidgetBase.onKeyEvent"></a>bool <u>onKeyEvent</u>(KeyEvent <i>event</i>);
</big></dt>
<dd>handle keys<br><br>
</dd>
<dt><big><a name="EditWidgetBase.onMouseEvent"></a>bool <u>onMouseEvent</u>(MouseEvent <i>event</i>);
</big></dt>
<dd>process mouse <i>event</i>; return <b>true</b> if <i>event</i> is processed by widget.<br><br>
</dd>
</dl>
</dd>
<dt><big><a name="EditLine"></a>class <u>EditLine</u>: <u>dlangui.widgets.editors.EditWidgetBase</u>;
</big></dt>
<dd>single line editor<br><br>
<dl><dt><big><a name="EditLine.measure"></a>void <u>measure</u>(int <i>parentWidth</i>, int <i>parentHeight</i>);
</big></dt>
<dd><u>measure</u><br><br>
</dd>
<dt><big><a name="EditLine.onKeyEvent"></a>bool <u>onKeyEvent</u>(KeyEvent <i>event</i>);
</big></dt>
<dd>handle keys<br><br>
</dd>
<dt><big><a name="EditLine.onMouseEvent"></a>bool <u>onMouseEvent</u>(MouseEvent <i>event</i>);
</big></dt>
<dd>process mouse <i>event</i>; return <b>true</b> if <i>event</i> is processed by widget.<br><br>
</dd>
<dt><big><a name="EditLine.layout"></a>void <u>layout</u>(Rect <i>rc</i>);
</big></dt>
<dd>Set widget rectangle to specified value and <u>layout</u> widget contents. (Step 2 of two phase <u>layout</u>).<br><br>
</dd>
<dt><big><a name="EditLine.drawLineBackground"></a>protected void <u>drawLineBackground</u>(DrawBuf <i>buf</i>, Rect <i>lineRect</i>, Rect <i>visibleRect</i>);
</big></dt>
<dd>override to custom highlight of line background<br><br>
</dd>
<dt><big><a name="EditLine.onDraw"></a>void <u>onDraw</u>(DrawBuf <i>buf</i>);
</big></dt>
<dd>draw content<br><br>
</dd>
</dl>
</dd>
<dt><big><a name="EditBox"></a>class <u>EditBox</u>: <u>dlangui.widgets.editors.EditWidgetBase</u>;
</big></dt>
<dd>single line editor<br><br>
<dl><dt><big><a name="EditBox.updateHScrollBar"></a>protected void <u>updateHScrollBar</u>();
</big></dt>
<dd>update horizontal scrollbar widget position<br><br>
</dd>
<dt><big><a name="EditBox.updateVScrollBar"></a>protected void <u>updateVScrollBar</u>();
</big></dt>
<dd>update verticat scrollbar widget position<br><br>
</dd>
<dt><big><a name="EditBox.onHScroll"></a>bool <u>onHScroll</u>(ScrollEvent <i>event</i>);
</big></dt>
<dd>process horizontal scrollbar <i>event</i><br><br>
</dd>
<dt><big><a name="EditBox.onVScroll"></a>bool <u>onVScroll</u>(ScrollEvent <i>event</i>);
</big></dt>
<dd>process vertical scrollbar <i>event</i><br><br>
</dd>
<dt><big><a name="EditBox.fullContentSize"></a>Point <u>fullContentSize</u>();
</big></dt>
<dd>calculate full content size in pixels<br><br>
</dd>
<dt><big><a name="EditBox.measure"></a>void <u>measure</u>(int <i>parentWidth</i>, int <i>parentHeight</i>);
</big></dt>
<dd><u>measure</u><br><br>
</dd>
<dt><big><a name="EditBox.drawLineBackground"></a>protected void <u>drawLineBackground</u>(DrawBuf <i>buf</i>, int <i>lineIndex</i>, Rect <i>lineRect</i>, Rect <i>visibleRect</i>);
</big></dt>
<dd>override to custom highlight of line background<br><br>
</dd>
</dl>
</dd>
</dl>
</section>
<footer>
Dlangui is maintained by <a href="https://github.com/buggins">buggins</a><br>
This page was generated by <a href="http://pages.github.com">GitHub Pages</a>. Tactile theme by <a href="https://twitter.com/jasonlong">Jason Long</a>.
</footer>
</div>
</div>
</body>
</html>

485
events.html Normal file
View File

@ -0,0 +1,485 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta charset='utf-8'>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<link href='https://fonts.googleapis.com/css?family=Chivo:900' rel='stylesheet' type='text/css'>
<link rel="stylesheet" type="text/css" href="stylesheets/stylesheet.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/pygment_trac.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/print.css" media="print" />
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<title>DlangUI - cross platform GUI library for D programming language - dlangui.core.events</title>
</head>
<body>
<div id="container">
<div class="inner">
<header>
<h1>DlangUI</h1>
<h2>Cross Platform GUI for D programming language</h2>
</header>
<section id="downloads" class="clearfix">
<a href="index.html" id="home" class="button"><span>Home</span></a>
<a href="api.html" id="home" class="button"><span>API Docs</span></a>
<a href="screenshots.html" id="home" class="button"><span>Screenshots</span></a>
<a href="https://github.com/buggins/dlangui/zipball/master" id="download-zip" class="button"><span>Download .zip</span></a>
<!--a href="https://github.com/buggins/dlangui/tarball/master" id="download-tar-gz" class="button"><span>Download .tar.gz</span></a-->
<a href="https://github.com/buggins/dlangui" id="view-on-github" class="button"><span>View on GitHub</span></a>
</section>
<hr>
<section id="main_content">
<h1>dlangui.core.events</h1>
<!-- Generated by Ddoc from src\dlangui\core\events.d -->
This module contains dlangui event types declarations.
<br><br>
<b>Synopsis:</b><br>
<pre class="d_code"><font color=blue>import</font> dlangui.core.<u>events</u>;
</pre>
<br><br>
<b>License:</b><br>
Boost License 1.0
<br><br>
<b>Authors:</b><br>
Vadim Lopatin, coolreader.org@gmail.com<br><br>
<dl><dt><big><a name="Accelerator"></a>struct <u>Accelerator</u>;
</big></dt>
<dd>keyboard accelerator (key + modifiers)<br><br>
<dl><dt><big><a name="Accelerator.label"></a>@property dstring <u>label</u>();
</big></dt>
<dd>returns accelerator text description<br><br>
</dd>
</dl>
</dd>
<dt><big><a name="Action"></a>class <u>Action</u>;
</big></dt>
<dd>UI action<br><br>
<dl><dt><big><a name="Action.stringParam"></a>@property string <u>stringParam</u>();
</big></dt>
<dd>additional string parameter<br><br>
</dd>
<dt><big><a name="Action.longParam"></a>@property long <u>longParam</u>();
</big></dt>
<dd>additional long parameter<br><br>
</dd>
<dt><big><a name="Action.objectParam"></a>@property Object <u>objectParam</u>();
</big></dt>
<dd>additional custom (Object) parameter<br><br>
</dd>
<dt><big><a name="Action.this"></a>this(Action <i>a</i>);
</big></dt>
<dd>deep copy constructor<br><br>
</dd>
<dt><big><a name="Action.clone"></a>@property Action <u>clone</u>();
</big></dt>
<dd>deep copy<br><br>
</dd>
<dt><big><a name="Action.this"></a>this(int <i>id</i>);
</big></dt>
<dd>create action only with ID<br><br>
</dd>
<dt><big><a name="Action.this"></a>this(int <i>id</i>, uint <i>keyCode</i>, uint <i>keyFlags</i> = 0);
</big></dt>
<dd>action with accelerator, w/o label<br><br>
</dd>
<dt><big><a name="Action.this"></a>this(int <i>id</i>, dstring <i>label</i>, string <i>iconResourceId</i> = null, uint <i>keyCode</i> = 0, uint <i>keyFlags</i> = 0);
</big></dt>
<dd>action with <i>label</i>, icon, and accelerator<br><br>
</dd>
<dt><big><a name="Action.accelerators"></a>@property Accelerator[] <u>accelerators</u>();
</big></dt>
<dd>returs array of <u>accelerators</u><br><br>
</dd>
<dt><big><a name="Action.acceleratorText"></a>@property dstring <u>acceleratorText</u>();
</big></dt>
<dd>returns text description for first accelerator of action; <b>null</b> if no accelerators<br><br>
</dd>
<dt><big><a name="Action.checkAccelerator"></a>bool <u>checkAccelerator</u>(uint <i>keyCode</i>, uint <i>keyFlags</i>);
</big></dt>
<dd>returns <b>true</b> if accelerator matches provided key code and flags<br><br>
</dd>
</dl>
</dd>
<dt><big><a name="MouseAction"></a>enum <u>MouseAction</u>: ubyte;
</big></dt>
<dd>mouse action<br><br>
<dl><dt><big><a name="MouseAction.Cancel"></a><u>Cancel</u></big></dt>
<dd>button down handling is cancelled<br><br>
</dd>
<dt><big><a name="MouseAction.ButtonDown"></a><u>ButtonDown</u></big></dt>
<dd>button is down<br><br>
</dd>
<dt><big><a name="MouseAction.ButtonUp"></a><u>ButtonUp</u></big></dt>
<dd>button is up<br><br>
</dd>
<dt><big><a name="MouseAction.Move"></a><u>Move</u></big></dt>
<dd>mouse pointer is moving<br><br>
</dd>
<dt><big><a name="MouseAction.FocusIn"></a><u>FocusIn</u></big></dt>
<dd>pointer is back inside widget while button is down after FocusOut<br><br>
</dd>
<dt><big><a name="MouseAction.FocusOut"></a><u>FocusOut</u></big></dt>
<dd>pointer moved outside of widget while button was down (if handler returns <b>true</b>, Move events will be sent even while pointer is outside widget)<br><br>
</dd>
<dt><big><a name="MouseAction.Wheel"></a><u>Wheel</u></big></dt>
<dd>scroll wheel movement<br><br>
</dd>
<dt><big><a name="MouseAction.Leave"></a><u>Leave</u></big></dt>
<dd>pointer left widget which has before processed Move message, while button was not down<br><br>
</dd>
</dl>
</dd>
<dt><big><a name="MouseFlag"></a>enum <u>MouseFlag</u>: ushort;
</big></dt>
<dd>mouse flag bits<br><br>
<dl><dt><big><a name="MouseFlag.LButton"></a><u>LButton</u></big></dt>
<dd>Left mouse button is down<br><br>
</dd>
<dt><big><a name="MouseFlag.MButton"></a><u>MButton</u></big></dt>
<dd>Middle mouse button is down<br><br>
</dd>
<dt><big><a name="MouseFlag.RButton"></a><u>RButton</u></big></dt>
<dd>Right mouse button is down<br><br>
</dd>
<dt><big><a name="MouseFlag.XButton1"></a><u>XButton1</u></big></dt>
<dd>X1 mouse button is down<br><br>
</dd>
<dt><big><a name="MouseFlag.XButton2"></a><u>XButton2</u></big></dt>
<dd>X2 mouse button is down<br><br>
</dd>
<dt><big><a name="MouseFlag.Control"></a><u>Control</u></big></dt>
<dd>Ctrl key is down<br><br>
</dd>
<dt><big><a name="MouseFlag.Shift"></a><u>Shift</u></big></dt>
<dd><u>Shift</u> key is down<br><br>
</dd>
<dt><big><a name="MouseFlag.Alt"></a><u>Alt</u></big></dt>
<dd><u>Alt</u> key is down<br><br>
</dd>
</dl>
</dd>
<dt><big><a name="MouseButton"></a>enum <u>MouseButton</u>: ubyte;
</big></dt>
<dd>mouse button<br><br>
<dl><dt><big><a name="MouseButton.None"></a><u>None</u></big></dt>
<dd>no button<br><br>
</dd>
<dt><big><a name="MouseButton.Left"></a><u>Left</u></big></dt>
<dd>left mouse button<br><br>
</dd>
<dt><big><a name="MouseButton.Right"></a><u>Right</u></big></dt>
<dd>right mouse button<br><br>
</dd>
<dt><big><a name="MouseButton.Middle"></a><u>Middle</u></big></dt>
<dd>right mouse button<br><br>
</dd>
<dt><big><a name="MouseButton.XButton1"></a><u>XButton1</u></big></dt>
<dd>additional mouse button 1<br><br>
</dd>
<dt><big><a name="MouseButton.XButton2"></a><u>XButton2</u></big></dt>
<dd>additional mouse button 2<br><br>
</dd>
</dl>
</dd>
<dt><big><a name="ButtonDetails"></a>struct <u>ButtonDetails</u>;
</big></dt>
<dd>mouse button state details<br><br>
<dl><dt><big><a name="ButtonDetails._downTs"></a>long <u>_downTs</u>;
</big></dt>
<dd>Clock.currStdTime() for down event of this button (0 if button is up).<br><br>
</dd>
<dt><big><a name="ButtonDetails._upTs"></a>long <u>_upTs</u>;
</big></dt>
<dd>Clock.currStdTime() for up event of this button (0 if button is still down).<br><br>
</dd>
<dt><big><a name="ButtonDetails._downX"></a>short <u>_downX</u>;
</big></dt>
<dd>x coordinates of down event<br><br>
</dd>
<dt><big><a name="ButtonDetails._downY"></a>short <u>_downY</u>;
</big></dt>
<dd>y coordinates of down event<br><br>
</dd>
<dt><big><a name="ButtonDetails._downFlags"></a>ushort <u>_downFlags</u>;
</big></dt>
<dd>mouse button flags when down event occured<br><br>
</dd>
<dt><big><a name="ButtonDetails.down"></a>void <u>down</u>(short <i>x</i>, short <i>y</i>, ushort <i>flags</i>);
</big></dt>
<dd>update for button <u>down</u><br><br>
</dd>
<dt><big><a name="ButtonDetails.up"></a>void <u>up</u>(short <i>x</i>, short <i>y</i>, ushort <i>flags</i>);
</big></dt>
<dd>update for button <u>up</u><br><br>
</dd>
<dt><big><a name="ButtonDetails.downDuration"></a>@property int <u>downDuration</u>();
</big></dt>
<dd>returns button down state duration in hnsecs (1/10000 of second).<br><br>
</dd>
</dl>
</dd>
<dt><big><a name="MouseEvent"></a>class <u>MouseEvent</u>;
</big></dt>
<dd>mouse event<br><br>
<dl><dt><big><a name="MouseEvent.button"></a>@property MouseButton <u>button</u>();
</big></dt>
<dd><u>button</u> which caused ButtonUp or ButtonDown action<br><br>
</dd>
<dt><big><a name="MouseEvent.action"></a>@property MouseAction <u>action</u>();
</big></dt>
<dd><u>action</u><br><br>
</dd>
<dt><big><a name="MouseEvent.flags"></a>@property ushort <u>flags</u>();
</big></dt>
<dd><u>flags</u> (buttons and keys state)<br><br>
</dd>
<dt><big><a name="MouseEvent.wheelDelta"></a>@property short <u>wheelDelta</u>();
</big></dt>
<dd>delta for Wheel event<br><br>
</dd>
<dt><big><a name="MouseEvent.x"></a>@property short <u>x</u>();
</big></dt>
<dd><u>x</u> coordinate of mouse pointer (relative to window client area)<br><br>
</dd>
<dt><big><a name="MouseEvent.y"></a>@property short <u>y</u>();
</big></dt>
<dd><u>y</u> coordinate of mouse pointer (relative to window client area)<br><br>
</dd>
<dt><big><a name="MouseEvent.trackingWidget"></a>@property Widget <u>trackingWidget</u>();
</big></dt>
<dd>get event tracking widget to override<br><br>
</dd>
<dt><big><a name="MouseEvent.track"></a>void <u>track</u>(Widget <i>w</i>);
</big></dt>
<dd>override mouse tracking widget<br><br>
</dd>
</dl>
</dd>
<dt><big><a name="KeyAction"></a>enum <u>KeyAction</u>: uint;
</big></dt>
<dd>KeyEvent action<br><br>
<dl><dt><big><a name="KeyAction.KeyDown"></a><u>KeyDown</u></big></dt>
<dd>key is pressed<br><br>
</dd>
<dt><big><a name="KeyAction.KeyUp"></a><u>KeyUp</u></big></dt>
<dd>key is released<br><br>
</dd>
<dt><big><a name="KeyAction.Text"></a><u>Text</u></big></dt>
<dd>text is entered<br><br>
</dd>
<dt><big><a name="KeyAction.Repeat"></a><u>Repeat</u></big></dt>
<dd>repeated key down<br><br>
</dd>
</dl>
</dd>
<dt><big><a name="KeyFlag"></a>enum <u>KeyFlag</u>: uint;
</big></dt>
<dd>KeyEvent flags<br><br>
<dl><dt><big><a name="KeyFlag.Control"></a><u>Control</u></big></dt>
<dd>Ctrl key is down<br><br>
</dd>
<dt><big><a name="KeyFlag.Shift"></a><u>Shift</u></big></dt>
<dd><u>Shift</u> key is down<br><br>
</dd>
<dt><big><a name="KeyFlag.Alt"></a><u>Alt</u></big></dt>
<dd><u>Alt</u> key is down<br><br>
</dd>
<dt><big><a name="KeyFlag.RControl"></a><u>RControl</u></big></dt>
<dd>Right Ctrl key is down<br><br>
</dd>
<dt><big><a name="KeyFlag.RShift"></a><u>RShift</u></big></dt>
<dd>Right Shift key is down<br><br>
</dd>
<dt><big><a name="KeyFlag.RAlt"></a><u>RAlt</u></big></dt>
<dd>Right Alt key is down<br><br>
</dd>
<dt><big><a name="KeyFlag.LControl"></a><u>LControl</u></big></dt>
<dd>Left Ctrl key is down<br><br>
</dd>
<dt><big><a name="KeyFlag.LShift"></a><u>LShift</u></big></dt>
<dd>Left Shift key is down<br><br>
</dd>
<dt><big><a name="KeyFlag.LAlt"></a><u>LAlt</u></big></dt>
<dd>Left Alt key is down<br><br>
</dd>
</dl>
</dd>
<dt><big><a name="KeyCode"></a>enum <u>KeyCode</u>: uint;
</big></dt>
<dd>Key code constants<br><br>
</dd>
<dt><big><a name="KeyEvent"></a>class <u>KeyEvent</u>;
</big></dt>
<dd>keyboard event<br><br>
<dl><dt><big><a name="KeyEvent.action"></a>@property KeyAction <u>action</u>();
</big></dt>
<dd>key <u>action</u> (KeyDown, KeyUp, Text, Repeat)<br><br>
</dd>
<dt><big><a name="KeyEvent.keyCode"></a>@property uint <u>keyCode</u>();
</big></dt>
<dd>key code<br><br>
</dd>
<dt><big><a name="KeyEvent.flags"></a>@property uint <u>flags</u>();
</big></dt>
<dd><u>flags</u> (shift, ctrl, alt...)<br><br>
</dd>
<dt><big><a name="KeyEvent.text"></a>@property dstring <u>text</u>();
</big></dt>
<dd>entered <u>text</u>, for Text action<br><br>
</dd>
<dt><big><a name="KeyEvent.this"></a>this(KeyAction <i>action</i>, uint <i>keyCode</i>, uint <i>flags</i>, dstring <i>text</i> = null);
</big></dt>
<dd>create key event<br><br>
</dd>
</dl>
</dd>
<dt><big><a name="ScrollAction"></a>enum <u>ScrollAction</u>: ubyte;
</big></dt>
<dd>scroll bar / slider action<br><br>
<dl><dt><big><a name="ScrollAction.PageUp"></a><u>PageUp</u></big></dt>
<dd>space above indicator pressed<br><br>
</dd>
<dt><big><a name="ScrollAction.PageDown"></a><u>PageDown</u></big></dt>
<dd>space below indicator pressed<br><br>
</dd>
<dt><big><a name="ScrollAction.LineUp"></a><u>LineUp</u></big></dt>
<dd>up/left button pressed<br><br>
</dd>
<dt><big><a name="ScrollAction.LineDown"></a><u>LineDown</u></big></dt>
<dd>down/right button pressed<br><br>
</dd>
<dt><big><a name="ScrollAction.SliderPressed"></a><u>SliderPressed</u></big></dt>
<dd>slider pressed<br><br>
</dd>
<dt><big><a name="ScrollAction.SliderMoved"></a><u>SliderMoved</u></big></dt>
<dd>dragging in progress<br><br>
</dd>
<dt><big><a name="ScrollAction.SliderReleased"></a><u>SliderReleased</u></big></dt>
<dd>dragging finished<br><br>
</dd>
</dl>
</dd>
<dt><big><a name="ScrollEvent"></a>class <u>ScrollEvent</u>;
</big></dt>
<dd>slider/scrollbar event<br><br>
<dl><dt><big><a name="ScrollEvent.position"></a>@property void <u>position</u>(int <i>newPosition</i>);
</big></dt>
<dd>change <u>position</u> in event handler to update slider <u>position</u><br><br>
</dd>
<dt><big><a name="ScrollEvent.defaultUpdatePosition"></a>int <u>defaultUpdatePosition</u>();
</big></dt>
<dd>default update position for actions like PageUp/PageDown, LineUp/LineDown<br><br>
</dd>
</dl>
</dd>
<dt><big><a name="keyName"></a>string <u>keyName</u>(uint <i>keyCode</i>);
</big></dt>
<dd>converts key code to key name<br><br>
</dd>
</dl>
</section>
<footer>
Dlangui is maintained by <a href="https://github.com/buggins">buggins</a><br>
This page was generated by <a href="http://pages.github.com">GitHub Pages</a>. Tactile theme by <a href="https://twitter.com/jasonlong">Jason Long</a>.
</footer>
</div>
</div>
</body>
</html>

102
filedlg.html Normal file
View File

@ -0,0 +1,102 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta charset='utf-8'>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<link href='https://fonts.googleapis.com/css?family=Chivo:900' rel='stylesheet' type='text/css'>
<link rel="stylesheet" type="text/css" href="stylesheets/stylesheet.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/pygment_trac.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/print.css" media="print" />
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<title>DlangUI - cross platform GUI library for D programming language - dlangui.dialogs.filedlg</title>
</head>
<body>
<div id="container">
<div class="inner">
<header>
<h1>DlangUI</h1>
<h2>Cross Platform GUI for D programming language</h2>
</header>
<section id="downloads" class="clearfix">
<a href="index.html" id="home" class="button"><span>Home</span></a>
<a href="api.html" id="home" class="button"><span>API Docs</span></a>
<a href="screenshots.html" id="home" class="button"><span>Screenshots</span></a>
<a href="https://github.com/buggins/dlangui/zipball/master" id="download-zip" class="button"><span>Download .zip</span></a>
<!--a href="https://github.com/buggins/dlangui/tarball/master" id="download-tar-gz" class="button"><span>Download .tar.gz</span></a-->
<a href="https://github.com/buggins/dlangui" id="view-on-github" class="button"><span>View on GitHub</span></a>
</section>
<hr>
<section id="main_content">
<h1>dlangui.dialogs.filedlg</h1>
<!-- Generated by Ddoc from src\dlangui\dialogs\filedlg.d -->
This module contains FileDialog implementation.
<br><br>
Can show dialog for open / save.
<br><br>
<br><br>
<b>Synopsis:</b><br>
<pre class="d_code"><font color=blue>import</font> dlangui.dialogs.<u>filedlg</u>;
UIString caption = <font color=red>"Open File"d</font>;
<font color=blue>auto</font> dlg = <font color=blue>new</font> FileDialog(caption, window, FileDialogFlag.Open);
dlg.show();
</pre>
<br><br>
<b>License:</b><br>
Boost License 1.0
<br><br>
<b>Authors:</b><br>
Vadim Lopatin, coolreader.org@gmail.com<br><br>
<dl><dt><big><a name="FileDialogFlag"></a>enum <u>FileDialogFlag</u>: uint;
</big></dt>
<dd>flags for file dialog options<br><br>
<dl><dt><big><a name="FileDialogFlag.FileMustExist"></a><u>FileMustExist</u></big></dt>
<dd>file must exist (use this for open dialog)<br><br>
</dd>
<dt><big><a name="FileDialogFlag.ConfirmOverwrite"></a><u>ConfirmOverwrite</u></big></dt>
<dd>ask before saving to existing<br><br>
</dd>
<dt><big><a name="FileDialogFlag.Open"></a><u>Open</u></big></dt>
<dd>flags for <u>Open</u> dialog<br><br>
</dd>
<dt><big><a name="FileDialogFlag.Save"></a><u>Save</u></big></dt>
<dd>flags for <u>Save</u> dialog<br><br>
</dd>
</dl>
</dd>
<dt><big><a name="FileDialog"></a>class <u>FileDialog</u>: <u>dlangui.dialogs.dialog.Dialog</u>;
</big></dt>
<dd>file open / save dialog<br><br>
<dl><dt><big><a name="FileDialog.init"></a>void <u>init</u>();
</big></dt>
<dd>override to implement creation of dialog controls<br><br>
</dd>
</dl>
</dd>
</dl>
</section>
<footer>
Dlangui is maintained by <a href="https://github.com/buggins">buggins</a><br>
This page was generated by <a href="http://pages.github.com">GitHub Pages</a>. Tactile theme by <a href="https://twitter.com/jasonlong">Jason Long</a>.
</footer>
</div>
</div>
</body>
</html>

371
fonts.html Normal file
View File

@ -0,0 +1,371 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta charset='utf-8'>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<link href='https://fonts.googleapis.com/css?family=Chivo:900' rel='stylesheet' type='text/css'>
<link rel="stylesheet" type="text/css" href="stylesheets/stylesheet.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/pygment_trac.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/print.css" media="print" />
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<title>DlangUI - cross platform GUI library for D programming language - dlangui.graphics.fonts</title>
</head>
<body>
<div id="container">
<div class="inner">
<header>
<h1>DlangUI</h1>
<h2>Cross Platform GUI for D programming language</h2>
</header>
<section id="downloads" class="clearfix">
<a href="index.html" id="home" class="button"><span>Home</span></a>
<a href="api.html" id="home" class="button"><span>API Docs</span></a>
<a href="screenshots.html" id="home" class="button"><span>Screenshots</span></a>
<a href="https://github.com/buggins/dlangui/zipball/master" id="download-zip" class="button"><span>Download .zip</span></a>
<!--a href="https://github.com/buggins/dlangui/tarball/master" id="download-tar-gz" class="button"><span>Download .tar.gz</span></a-->
<a href="https://github.com/buggins/dlangui" id="view-on-github" class="button"><span>View on GitHub</span></a>
</section>
<hr>
<section id="main_content">
<h1>dlangui.graphics.fonts</h1>
<!-- Generated by Ddoc from src\dlangui\graphics\fonts.d -->
This module contains base <u>fonts</u> access interface and common implementation.
<br><br>
Font - base class for <u>fonts</u>.
<br><br>
FontManager - base class for font managers - provides access to available <u>fonts</u>.
<br><br>
<br><br>
Actual implementation is:
<br><br>
dlangui.graphics.ftfonts - FreeType based font manager.
<br><br>
dlangui.platforms.windows.w32fonts - Win32 API based font manager.
<br><br>
<br><br>
To enable OpenGL support, build with version(USE_OPENGL);
<br><br>
<b>See Also:</b><br>
dlangui.graphics.drawbuf, DrawBuf, drawbuf, drawbuf.html
<br><br>
<br><br>
<br><br>
<b>Synopsis:</b><br>
<pre class="d_code"><font color=blue>import</font> dlangui.graphics.<u>fonts</u>;
<font color=green>// find suitable font of size 25, normal, preferrable Arial, or, if not available, any SansSerif font
</font>FontRef font = FontManager.instance.getFont(25, FontWeight.Normal, <font color=blue>false</font>, FontFamily.SansSerif, <font color=red>"Arial"</font>);
dstring sampleText = <font color=red>"Sample text to draw"d</font>;
<font color=green>// measure text string width and height (one line)
</font>Point sz = font.textSize(sampleText);
<font color=green>// draw red text at center of DrawBuf buf
</font>font.drawText(buf, buf.width / 2 - sz.x/2, buf.height / 2 - sz.y / 2, sampleText, 0xFF0000);
</pre>
<br><br>
<b>License:</b><br>
Boost License 1.0
<br><br>
<b>Authors:</b><br>
Vadim Lopatin, coolreader.org@gmail.com<br><br>
<dl><dt><big><a name="FontFamily"></a>enum <u>FontFamily</u>: ubyte;
</big></dt>
<dd>font families enum<br><br>
<dl><dt><big><a name="FontFamily.Unspecified"></a><u>Unspecified</u></big></dt>
<dd>Unknown / not set / does not matter<br><br>
</dd>
<dt><big><a name="FontFamily.SansSerif"></a><u>SansSerif</u></big></dt>
<dd>Sans Serif font, e.g. Arial<br><br>
</dd>
<dt><big><a name="FontFamily.Serif"></a><u>Serif</u></big></dt>
<dd><u>Serif</u> font, e.g. Times New Roman<br><br>
</dd>
<dt><big><a name="FontFamily.Fantasy"></a><u>Fantasy</u></big></dt>
<dd><u>Fantasy</u> font<br><br>
</dd>
<dt><big><a name="FontFamily.Cursive"></a><u>Cursive</u></big></dt>
<dd><u>Cursive</u> font<br><br>
</dd>
<dt><big><a name="FontFamily.MonoSpace"></a><u>MonoSpace</u></big></dt>
<dd>Monospace font (fixed pitch font), e.g. Courier New<br><br>
</dd>
</dl>
</dd>
<dt><big><a name="FontWeight"></a>enum <u>FontWeight</u>: int;
</big></dt>
<dd>font weight constants (0..1000)<br><br>
<dl><dt><big><a name="FontWeight.Normal"></a><u>Normal</u></big></dt>
<dd>normal font weight<br><br>
</dd>
<dt><big><a name="FontWeight.Bold"></a><u>Bold</u></big></dt>
<dd>bold font<br><br>
</dd>
</dl>
</dd>
<dt><big><a name="MAX_WIDTH_UNSPECIFIED"></a>immutable int <u>MAX_WIDTH_UNSPECIFIED</u>;
</big></dt>
<dd>constant for measureText maxWidth paramenter - to tell that all characters of text string should be measured.<br><br>
</dd>
<dt><big><a name="Font"></a>abstract class <u>Font</u>: <u>dlangui.core.types.RefCountedObject</u>;
</big></dt>
<dd>Instance of font with specific size, weight, face, etc.
<br><br>
Allows to measure text string and draw it on DrawBuf
<br><br>
Use FontManager.instance.getFont() to retrieve font instance.<br><br>
<dl><dt><big><a name="Font.size"></a>abstract @property int <u>size</u>();
</big></dt>
<dd>returns font <u>size</u> (as requested from font engine)<br><br>
</dd>
<dt><big><a name="Font.height"></a>abstract @property int <u>height</u>();
</big></dt>
<dd>returns actual font <u>height</u> including interline space<br><br>
</dd>
<dt><big><a name="Font.weight"></a>abstract @property int <u>weight</u>();
</big></dt>
<dd>returns font <u>weight</u><br><br>
</dd>
<dt><big><a name="Font.baseline"></a>abstract @property int <u>baseline</u>();
</big></dt>
<dd>returns <u>baseline</u> offset<br><br>
</dd>
<dt><big><a name="Font.italic"></a>abstract @property bool <u>italic</u>();
</big></dt>
<dd>returns <b>true</b> if font is <u>italic</u><br><br>
</dd>
<dt><big><a name="Font.face"></a>abstract @property string <u>face</u>();
</big></dt>
<dd>returns font <u>face</u> name<br><br>
</dd>
<dt><big><a name="Font.family"></a>abstract @property FontFamily <u>family</u>();
</big></dt>
<dd>returns font <u>family</u><br><br>
</dd>
<dt><big><a name="Font.isNull"></a>abstract @property bool <u>isNull</u>();
</big></dt>
<dd>returns <b>true</b> if font object is not yet initialized / loaded<br><br>
</dd>
<dt><big><a name="Font.isFixed"></a>@property bool <u>isFixed</u>();
</big></dt>
<dd>returns <b>true</b> if font has fixed pitch (all characters have equal width)<br><br>
</dd>
<dt><big><a name="Font.spaceWidth"></a>@property int <u>spaceWidth</u>();
</big></dt>
<dd>returns <b>true</b> if font is fixed<br><br>
</dd>
<dt><big><a name="Font.charWidth"></a>int <u>charWidth</u>(dchar <i>ch</i>);
</big></dt>
<dd>returns character width<br><br>
</dd>
<dt><big><a name="Font.measureText"></a>int <u>measureText</u>(const dchar[] <i>text</i>, ref int[] <i>widths</i>, int <i>maxWidth</i> = MAX_WIDTH_UNSPECIFIED, int <i>tabSize</i> = 4, int <i>tabOffset</i> = 0, uint <i>textFlags</i> = 0);
</big></dt>
<dd>Measure <i>text</i> string, return accumulated <i>widths</i>[] (distance to end of n-th character), returns number of measured chars.
<br><br>
Supports Tab character processing and processing of menu item labels like '&File'.
<br><br>
<b>Params:</b><br>
<table><tr><td>dchar[] <i>text</i></td>
<td><i>text</i> string to measure</td></tr>
<tr><td>int[] <i>widths</i></td>
<td>output buffer to put measured <i>widths</i> (<i>widths</i>[i] will be set to cumulative <i>widths</i> <i>text</i>[0..i])</td></tr>
<tr><td>int <i>maxWidth</i></td>
<td>maximum width to measure - measure is stopping if max width is reached (pass MAX_WIDTH_UNSPECIFIED to measure all characters)</td></tr>
<tr><td>int <i>tabSize</i></td>
<td>tabulation size, in number of spaces</td></tr>
<tr><td>int <i>tabOffset</i></td>
<td>when string is drawn not from left position, use to move tab stops left/right</td></tr>
<tr><td>uint <i>textFlags</i></td>
<td>TextFlag bit set - to control underline, hotkey label processing, etc...</td></tr>
</table><br>
<b>Returns:</b><br>
number of characters measured (may be less than <i>text</i>.length if <i>maxWidth</i> is reached)<br><br>
</dd>
<dt><big><a name="Font.textSize"></a>Point <u>textSize</u>(const dchar[] <i>text</i>, int <i>maxWidth</i> = MAX_WIDTH_UNSPECIFIED, int <i>tabSize</i> = 4, int <i>tabOffset</i> = 0, uint <i>textFlags</i> = 0);
</big></dt>
<dd>Measure <i>text</i> string as single line, returns width and height
<br><br>
<b>Params:</b><br>
<table><tr><td>dchar[] <i>text</i></td>
<td><i>text</i> string to measure</td></tr>
<tr><td>int <i>maxWidth</i></td>
<td>maximum width - measure is stopping if max width is reached</td></tr>
<tr><td>int <i>tabSize</i></td>
<td>tabulation size, in number of spaces</td></tr>
<tr><td>int <i>tabOffset</i></td>
<td>when string is drawn not from left position, use to move tab stops left/right</td></tr>
<tr><td>uint <i>textFlags</i></td>
<td>TextFlag bit set - to control underline, hotkey label processing, etc...</td></tr>
</table><br>
</dd>
<dt><big><a name="Font.drawText"></a>void <u>drawText</u>(DrawBuf <i>buf</i>, int <i>x</i>, int <i>y</i>, const dchar[] <i>text</i>, uint <i>color</i>, int <i>tabSize</i> = 4, int <i>tabOffset</i> = 0, uint <i>textFlags</i> = 0);
</big></dt>
<dd>Draw <i>text</i> string to buffer.
<br><br>
<b>Params:</b><br>
<table><tr><td>DrawBuf <i>buf</i></td>
<td>graphics buffer to draw <i>text</i> to</td></tr>
<tr><td>int <i>x</i></td>
<td><i>x</i> coordinate to draw first character at</td></tr>
<tr><td>int <i>y</i></td>
<td><i>y</i> coordinate to draw first character at</td></tr>
<tr><td>dchar[] <i>text</i></td>
<td><i>text</i> string to draw</td></tr>
<tr><td>uint <i>color</i></td>
<td><i>color</i> for drawing of glyphs</td></tr>
<tr><td>int <i>tabSize</i></td>
<td>tabulation size, in number of spaces</td></tr>
<tr><td>int <i>tabOffset</i></td>
<td>when string is drawn not from left position, use to move tab stops left/right</td></tr>
<tr><td>uint <i>textFlags</i></td>
<td>set of TextFlag bit fields</td></tr>
</table><br>
</dd>
<dt><big><a name="Font.getCharGlyph"></a>abstract Glyph* <u>getCharGlyph</u>(dchar <i>ch</i>, bool <i>withImage</i> = true);
</big></dt>
<dd>get character glyph information<br><br>
</dd>
<dt><big><a name="Font.checkpoint"></a>abstract void <u>checkpoint</u>();
</big></dt>
<dd>clear usage flags for all entries<br><br>
</dd>
<dt><big><a name="Font.cleanup"></a>abstract void <u>cleanup</u>();
</big></dt>
<dd>removes entries not used after last call of checkpoint() or <u>cleanup</u>()<br><br>
</dd>
</dl>
</dd>
<dt><big><a name="FontList"></a>struct <u>FontList</u>;
</big></dt>
<dd>font instance collection - utility class, for font manager implementations<br><br>
</dd>
<dt><big><a name="FontManager"></a>abstract class <u>FontManager</u>;
</big></dt>
<dd>Access points to fonts.<br><br>
<dl><dt><big><a name="FontManager.instance"></a>static @property void <u>instance</u>(FontManager <i>manager</i>);
</big></dt>
<dd>sets new font <i>manager</i> singleton <u>instance</u><br><br>
</dd>
<dt><big><a name="FontManager.instance"></a>static @property FontManager <u>instance</u>();
</big></dt>
<dd>returns font manager singleton <u>instance</u><br><br>
</dd>
<dt><big><a name="FontManager.getFont"></a>abstract ref FontRef <u>getFont</u>(int <i>size</i>, int <i>weight</i>, bool <i>italic</i>, FontFamily <i>family</i>, string <i>face</i>);
</big></dt>
<dd>get font instance best matched specified parameters<br><br>
</dd>
<dt><big><a name="FontManager.checkpoint"></a>abstract void <u>checkpoint</u>();
</big></dt>
<dd>clear usage flags for all entries -- for cleanup of unused fonts<br><br>
</dd>
<dt><big><a name="FontManager.cleanup"></a>abstract void <u>cleanup</u>();
</big></dt>
<dd>removes entries not used after last call of checkpoint() or <u>cleanup</u>()<br><br>
</dd>
</dl>
</dd>
<dt><big><a name="GlyphCache"></a>struct <u>GlyphCache</u>;
</big></dt>
<dd>Glyph image cache
<br><br>
Recently used glyphs are marked with glyph.lastUsage = 1
<br><br>
checkpoint() call clears usage marks
<br><br>
cleanup() removes all items not accessed since last checkpoint()<br><br>
<dl><dt><big><a name="GlyphCache.find"></a>Glyph* <u>find</u>(dchar <i>ch</i>);
</big></dt>
<dd>try to <u>find</u> glyph for character in cache, returns <b>null</b> if not found<br><br>
</dd>
<dt><big><a name="GlyphCache.put"></a>Glyph* <u>put</u>(dchar <i>ch</i>, Glyph* <i>glyph</i>);
</big></dt>
<dd><u>put</u> character <i>glyph</i> to cache<br><br>
</dd>
<dt><big><a name="GlyphCache.cleanup"></a>void <u>cleanup</u>();
</big></dt>
<dd>removes entries not used after last call of checkpoint() or <u>cleanup</u>()<br><br>
</dd>
<dt><big><a name="GlyphCache.checkpoint"></a>void <u>checkpoint</u>();
</big></dt>
<dd>clear usage flags for all entries<br><br>
</dd>
<dt><big><a name="GlyphCache.clear"></a>void <u>clear</u>();
</big></dt>
<dd>removes all entries (when built with USE_OPENGL version, notify OpenGL cache about removed glyphs)<br><br>
</dd>
</dl>
</dd>
</dl>
</section>
<footer>
Dlangui is maintained by <a href="https://github.com/buggins">buggins</a><br>
This page was generated by <a href="http://pages.github.com">GitHub Pages</a>. Tactile theme by <a href="https://twitter.com/jasonlong">Jason Long</a>.
</footer>
</div>
</div>
</body>
</html>

116
ftfonts.html Normal file
View File

@ -0,0 +1,116 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta charset='utf-8'>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<link href='https://fonts.googleapis.com/css?family=Chivo:900' rel='stylesheet' type='text/css'>
<link rel="stylesheet" type="text/css" href="stylesheets/stylesheet.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/pygment_trac.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/print.css" media="print" />
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<title>DlangUI - cross platform GUI library for D programming language - dlangui.graphics.ftfonts</title>
</head>
<body>
<div id="container">
<div class="inner">
<header>
<h1>DlangUI</h1>
<h2>Cross Platform GUI for D programming language</h2>
</header>
<section id="downloads" class="clearfix">
<a href="index.html" id="home" class="button"><span>Home</span></a>
<a href="api.html" id="home" class="button"><span>API Docs</span></a>
<a href="screenshots.html" id="home" class="button"><span>Screenshots</span></a>
<a href="https://github.com/buggins/dlangui/zipball/master" id="download-zip" class="button"><span>Download .zip</span></a>
<!--a href="https://github.com/buggins/dlangui/tarball/master" id="download-tar-gz" class="button"><span>Download .tar.gz</span></a-->
<a href="https://github.com/buggins/dlangui" id="view-on-github" class="button"><span>View on GitHub</span></a>
</section>
<hr>
<section id="main_content">
<h1>dlangui.graphics.ftfonts</h1>
<!-- Generated by Ddoc from src\dlangui\graphics\ftfonts.d -->
This file contains FontManager implementation based on FreeType library.
<br><br>
<b>License:</b><br>
Boost License 1.0
<br><br>
<b>Authors:</b><br>
Vadim Lopatin, coolreader.org@gmail.com<br><br>
<dl><dt><big><a name="FreeTypeFont"></a>class <u>FreeTypeFont</u>: <u>dlangui.graphics.fonts.Font</u>;
</big></dt>
<dd>Font implementation based on Win32 API system fonts.<br><br>
<dl><dt><big><a name="FreeTypeFont.this"></a>this(FontFileItem <i>item</i>, int <i>size</i>);
</big></dt>
<dd>need to call create() after construction to initialize font<br><br>
</dd>
<dt><big><a name="FreeTypeFont.clear"></a>void <u>clear</u>();
</big></dt>
<dd>cleanup resources<br><br>
</dd>
<dt><big><a name="FreeTypeFont.findGlyph"></a>bool <u>findGlyph</u>(dchar <i>code</i>, dchar <i>def_char</i>, ref FT_UInt <i>index</i>, ref FreeTypeFontFile <i>file</i>);
</big></dt>
<dd>find glyph <i>index</i> for character<br><br>
</dd>
<dt><big><a name="FreeTypeFont.create"></a>bool <u>create</u>();
</big></dt>
<dd>load font files<br><br>
</dd>
<dt><big><a name="FreeTypeFont.checkpoint"></a>void <u>checkpoint</u>();
</big></dt>
<dd>clear usage flags for all entries<br><br>
</dd>
<dt><big><a name="FreeTypeFont.cleanup"></a>void <u>cleanup</u>();
</big></dt>
<dd>removes entries not used after last call of checkpoint() or <u>cleanup</u>()<br><br>
</dd>
</dl>
</dd>
<dt><big><a name="FreeTypeFontManager"></a>class <u>FreeTypeFontManager</u>: <u>dlangui.graphics.fonts.FontManager</u>;
</big></dt>
<dd>FreeType based font manager.<br><br>
<dl><dt><big><a name="FreeTypeFontManager.getFont"></a>ref FontRef <u>getFont</u>(int <i>size</i>, int <i>weight</i>, bool <i>italic</i>, FontFamily <i>family</i>, string <i>face</i>);
</big></dt>
<dd>get font instance with specified parameters<br><br>
</dd>
<dt><big><a name="FreeTypeFontManager.checkpoint"></a>void <u>checkpoint</u>();
</big></dt>
<dd>clear usage flags for all entries<br><br>
</dd>
<dt><big><a name="FreeTypeFontManager.cleanup"></a>void <u>cleanup</u>();
</big></dt>
<dd>removes entries not used after last call of checkpoint() or <u>cleanup</u>()<br><br>
</dd>
<dt><big><a name="FreeTypeFontManager.registerFont"></a>bool <u>registerFont</u>(string <i>filename</i>, FontFamily <i>family</i> = FontFamily.SansSerif, string <i>face</i> = null, bool <i>italic</i> = false, int <i>weight</i> = 0);
</big></dt>
<dd>register freetype font by <i>filename</i> - optinally font properties can be passed if known (e.g. from libfontconfig).<br><br>
</dd>
</dl>
</dd>
</dl>
</section>
<footer>
Dlangui is maintained by <a href="https://github.com/buggins">buggins</a><br>
This page was generated by <a href="http://pages.github.com">GitHub Pages</a>. Tactile theme by <a href="https://twitter.com/jasonlong">Jason Long</a>.
</footer>
</div>
</div>
</body>
</html>

62
gldrawbuf.html Normal file
View File

@ -0,0 +1,62 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta charset='utf-8'>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<link href='https://fonts.googleapis.com/css?family=Chivo:900' rel='stylesheet' type='text/css'>
<link rel="stylesheet" type="text/css" href="stylesheets/stylesheet.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/pygment_trac.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/print.css" media="print" />
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<title>DlangUI - cross platform GUI library for D programming language - dlangui.graphics.gldrawbuf</title>
</head>
<body>
<div id="container">
<div class="inner">
<header>
<h1>DlangUI</h1>
<h2>Cross Platform GUI for D programming language</h2>
</header>
<section id="downloads" class="clearfix">
<a href="index.html" id="home" class="button"><span>Home</span></a>
<a href="api.html" id="home" class="button"><span>API Docs</span></a>
<a href="screenshots.html" id="home" class="button"><span>Screenshots</span></a>
<a href="https://github.com/buggins/dlangui/zipball/master" id="download-zip" class="button"><span>Download .zip</span></a>
<!--a href="https://github.com/buggins/dlangui/tarball/master" id="download-tar-gz" class="button"><span>Download .tar.gz</span></a-->
<a href="https://github.com/buggins/dlangui" id="view-on-github" class="button"><span>View on GitHub</span></a>
</section>
<hr>
<section id="main_content">
<h1>dlangui.graphics.gldrawbuf</h1>
<!-- Generated by Ddoc from src\dlangui\graphics\gldrawbuf.d -->
This module contains opengl based drawing buffer implementation.
<br><br>
To enable OpenGL support, build with version(USE_OPENGL);
<br><br>
<b>Synopsis:</b><br>
<pre class="d_code"><font color=blue>import</font> dlangui.graphics.<u>gldrawbuf</u>;
</pre>
<br><br>
<b>License:</b><br>
Boost License 1.0
<br><br>
<b>Authors:</b><br>
Vadim Lopatin, coolreader.org@gmail.com<br><br>
</section>
<footer>
Dlangui is maintained by <a href="https://github.com/buggins">buggins</a><br>
This page was generated by <a href="http://pages.github.com">GitHub Pages</a>. Tactile theme by <a href="https://twitter.com/jasonlong">Jason Long</a>.
</footer>
</div>
</div>
</body>
</html>

62
glsupport.html Normal file
View File

@ -0,0 +1,62 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta charset='utf-8'>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<link href='https://fonts.googleapis.com/css?family=Chivo:900' rel='stylesheet' type='text/css'>
<link rel="stylesheet" type="text/css" href="stylesheets/stylesheet.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/pygment_trac.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/print.css" media="print" />
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<title>DlangUI - cross platform GUI library for D programming language - dlangui.graphics.glsupport</title>
</head>
<body>
<div id="container">
<div class="inner">
<header>
<h1>DlangUI</h1>
<h2>Cross Platform GUI for D programming language</h2>
</header>
<section id="downloads" class="clearfix">
<a href="index.html" id="home" class="button"><span>Home</span></a>
<a href="api.html" id="home" class="button"><span>API Docs</span></a>
<a href="screenshots.html" id="home" class="button"><span>Screenshots</span></a>
<a href="https://github.com/buggins/dlangui/zipball/master" id="download-zip" class="button"><span>Download .zip</span></a>
<!--a href="https://github.com/buggins/dlangui/tarball/master" id="download-tar-gz" class="button"><span>Download .tar.gz</span></a-->
<a href="https://github.com/buggins/dlangui" id="view-on-github" class="button"><span>View on GitHub</span></a>
</section>
<hr>
<section id="main_content">
<h1>dlangui.graphics.glsupport</h1>
<!-- Generated by Ddoc from src\dlangui\graphics\glsupport.d -->
This module contains OpenGL access layer.
<br><br>
To enable OpenGL support, build with version(USE_OPENGL);
<br><br>
<b>Synopsis:</b><br>
<pre class="d_code"><font color=blue>import</font> dlangui.graphics.<u>glsupport</u>;
</pre>
<br><br>
<b>License:</b><br>
Boost License 1.0
<br><br>
<b>Authors:</b><br>
Vadim Lopatin, coolreader.org@gmail.com<br><br>
</section>
<footer>
Dlangui is maintained by <a href="https://github.com/buggins">buggins</a><br>
This page was generated by <a href="http://pages.github.com">GitHub Pages</a>. Tactile theme by <a href="https://twitter.com/jasonlong">Jason Long</a>.
</footer>
</div>
</div>
</body>
</html>

265
i18n.html Normal file
View File

@ -0,0 +1,265 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta charset='utf-8'>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<link href='https://fonts.googleapis.com/css?family=Chivo:900' rel='stylesheet' type='text/css'>
<link rel="stylesheet" type="text/css" href="stylesheets/stylesheet.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/pygment_trac.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/print.css" media="print" />
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<title>DlangUI - cross platform GUI library for D programming language - dlangui.core.i18n</title>
</head>
<body>
<div id="container">
<div class="inner">
<header>
<h1>DlangUI</h1>
<h2>Cross Platform GUI for D programming language</h2>
</header>
<section id="downloads" class="clearfix">
<a href="index.html" id="home" class="button"><span>Home</span></a>
<a href="api.html" id="home" class="button"><span>API Docs</span></a>
<a href="screenshots.html" id="home" class="button"><span>Screenshots</span></a>
<a href="https://github.com/buggins/dlangui/zipball/master" id="download-zip" class="button"><span>Download .zip</span></a>
<!--a href="https://github.com/buggins/dlangui/tarball/master" id="download-tar-gz" class="button"><span>Download .tar.gz</span></a-->
<a href="https://github.com/buggins/dlangui" id="view-on-github" class="button"><span>View on GitHub</span></a>
</section>
<hr>
<section id="main_content">
<h1>dlangui.core.i18n</h1>
<!-- Generated by Ddoc from src\dlangui\core\i18n.d -->
This module contains internationalization support implementation.
<br><br>
Translation files contain of simple key=value pair lines.
<br><br>
STRING_RESOURCE_ID=Translation text.
<br><br>
Supports fallback to another translation file (e.g. default language).
<br><br>
<br><br>
<br><br>
<b>Synopsis:</b><br>
<pre class="d_code"><font color=blue>import</font> dlangui.core.<u>i18n</u>;
<font color=green>// use global i18n object to get translation for string ID
</font>dstring translated = <u>i18n</u>.get(<font color=red>"STR_FILE_OPEN"</font>);
<font color=green>// UIString type can hold either string resource id or dstring raw value.
</font>UIString text;
<font color=green>// assign resource id as string
</font>text = <font color=red>"ID_FILE_EXIT"</font>;
<font color=green>// or assign raw value as dstring
</font>text = <font color=red>"some text"d</font>;
<font color=green>// i18n.get() will automatically be invoked when getting UIString value (e.g. using alias this).
</font>dstring translated = text;
</pre>
<br><br>
<b>License:</b><br>
Boost License 1.0
<br><br>
<b>Authors:</b><br>
Vadim Lopatin, coolreader.org@gmail.com<br><br>
<dl><dt><big><a name="UIString"></a>struct <u>UIString</u>;
</big></dt>
<dd>container for UI string - either raw value or string resource ID<br><br>
<dl><dt><big><a name="UIString.this"></a>this(string <i>id</i>);
</big></dt>
<dd>create string with i18n resource <i>id</i><br><br>
</dd>
<dt><big><a name="UIString.this"></a>this(dstring <i>value</i>);
</big></dt>
<dd>create string with raw <i>value</i><br><br>
</dd>
<dt><big><a name="UIString.value"></a>const @property dstring <u>value</u>();
</big></dt>
<dd>get <u>value</u> (either raw or translated by id)<br><br>
</dd>
<dt><big><a name="UIString.value"></a>@property void <u>value</u>(dstring <i>newValue</i>);
</big></dt>
<dd>set raw <u>value</u><br><br>
</dd>
<dt><big><a name="UIString.opAssign"></a>ref UIString <u>opAssign</u>(dstring <i>rawValue</i>);
</big></dt>
<dd>assign raw value<br><br>
</dd>
<dt><big><a name="UIString.opAssign"></a>ref UIString <u>opAssign</u>(string <i>ID</i>);
</big></dt>
<dd>assign <i>ID</i><br><br>
</dd>
</dl>
</dd>
<dt><big><a name="UIStringCollection"></a>struct <u>UIStringCollection</u>;
</big></dt>
<dd>UIString item collection.<br><br>
<dl><dt><big><a name="UIStringCollection.length"></a>@property int <u>length</u>();
</big></dt>
<dd>returns number of items<br><br>
</dd>
<dt><big><a name="UIStringCollection.opIndex"></a>UIString[] <u>opIndex</u>();
</big></dt>
<dd>slice<br><br>
</dd>
<dt><big><a name="UIStringCollection.opSlice"></a>UIString[] <u>opSlice</u>();
</big></dt>
<dd>slice<br><br>
</dd>
<dt><big><a name="UIStringCollection.opSlice"></a>UIString[] <u>opSlice</u>(size_t <i>start</i>, size_t <i>end</i>);
</big></dt>
<dd>slice<br><br>
</dd>
<dt><big><a name="UIStringCollection.opIndex"></a>UIString <u>opIndex</u>(size_t <i>index</i>);
</big></dt>
<dd>read item by <i>index</i><br><br>
</dd>
<dt><big><a name="UIStringCollection.opIndexAssign"></a>UIString <u>opIndexAssign</u>(UIString <i>value</i>, size_t <i>index</i>);
</big></dt>
<dd>modify item by <i>index</i><br><br>
</dd>
<dt><big><a name="UIStringCollection.get"></a>dstring <u>get</u>(size_t <i>index</i>);
</big></dt>
<dd>return unicode string for item by <i>index</i><br><br>
</dd>
<dt><big><a name="UIStringCollection.opAssign"></a>void <u>opAssign</u>(ref UIStringCollection <i>items</i>);
</big></dt>
<dd>Assign UIStringCollection<br><br>
</dd>
<dt><big><a name="UIStringCollection.addAll"></a>void <u>addAll</u>(ref UIStringCollection <i>items</i>);
</big></dt>
<dd>Append UIStringCollection<br><br>
</dd>
<dt><big><a name="UIStringCollection.opAssign"></a>void <u>opAssign</u>(string[] <i>items</i>);
</big></dt>
<dd>Assign array of string resource IDs<br><br>
</dd>
<dt><big><a name="UIStringCollection.addAll"></a>void <u>addAll</u>(string[] <i>items</i>);
</big></dt>
<dd>Append array of string resource IDs<br><br>
</dd>
<dt><big><a name="UIStringCollection.opAssign"></a>void <u>opAssign</u>(dstring[] <i>items</i>);
</big></dt>
<dd>Assign array of unicode strings<br><br>
</dd>
<dt><big><a name="UIStringCollection.addAll"></a>void <u>addAll</u>(dstring[] <i>items</i>);
</big></dt>
<dd>Append array of unicode strings<br><br>
</dd>
<dt><big><a name="UIStringCollection.clear"></a>void <u>clear</u>();
</big></dt>
<dd>remove all items<br><br>
</dd>
<dt><big><a name="UIStringCollection.add"></a>void <u>add</u>(string <i>item</i>, int <i>index</i> = -1);
</big></dt>
<dd>Insert resource id <i>item</i> into specified position<br><br>
</dd>
<dt><big><a name="UIStringCollection.add"></a>void <u>add</u>(dstring <i>item</i>, int <i>index</i> = -1);
</big></dt>
<dd>Insert unicode string <i>item</i> into specified position<br><br>
</dd>
<dt><big><a name="UIStringCollection.add"></a>void <u>add</u>(UIString <i>item</i>, int <i>index</i> = -1);
</big></dt>
<dd>Insert UIString <i>item</i> into specified position<br><br>
</dd>
<dt><big><a name="UIStringCollection.remove"></a>void <u>remove</u>(int <i>index</i>);
</big></dt>
<dd>Remove item with specified <i>index</i><br><br>
</dd>
<dt><big><a name="UIStringCollection.indexOf"></a>int <u>indexOf</u>(dstring <i>str</i>);
</big></dt>
<dd>Return index of first item with specified text or -1 if not found.<br><br>
</dd>
<dt><big><a name="UIStringCollection.indexOf"></a>int <u>indexOf</u>(string <i>strId</i>);
</big></dt>
<dd>Return index of first item with specified string resource id or -1 if not found.<br><br>
</dd>
<dt><big><a name="UIStringCollection.indexOf"></a>int <u>indexOf</u>(UIString <i>str</i>);
</big></dt>
<dd>Return index of first item with specified string or -1 if not found.<br><br>
</dd>
</dl>
</dd>
<dt><big><a name="UIStringTranslator"></a>class <u>UIStringTranslator</u>;
</big></dt>
<dd>UI Strings internationalization translator.<br><br>
<dl><dt><big><a name="UIStringTranslator.findTranslationsDir"></a>shared void <u>findTranslationsDir</u>(string[] <i>dirs</i>...);
</big></dt>
<dd>looks for i18n directory inside one of passed <i>dirs</i>, and uses first found as directory to read i18n files from<br><br>
</dd>
<dt><big><a name="UIStringTranslator.convertResourcePaths"></a>shared string[] <u>convertResourcePaths</u>(string <i>filename</i>);
</big></dt>
<dd>convert resource path - append resource dir if necessary<br><br>
</dd>
<dt><big><a name="UIStringTranslator.load"></a>shared bool <u>load</u>(string <i>mainFilename</i>, string <i>fallbackFilename</i> = null);
</big></dt>
<dd><u>load</u> translation file(s)<br><br>
</dd>
<dt><big><a name="UIStringTranslator.get"></a>shared dstring <u>get</u>(string <i>id</i>);
</big></dt>
<dd>translate string ID to string (returns "UNTRANSLATED: <i>id</i>" for missing values)<br><br>
</dd>
</dl>
</dd>
<dt><big><a name="i18n"></a>UIStringTranslator <u>i18n</u>;
</big></dt>
<dd>Global translator object.<br><br>
</dd>
</dl>
</section>
<footer>
Dlangui is maintained by <a href="https://github.com/buggins">buggins</a><br>
This page was generated by <a href="http://pages.github.com">GitHub Pages</a>. Tactile theme by <a href="https://twitter.com/jasonlong">Jason Long</a>.
</footer>
</div>
</div>
</body>
</html>

76
images.html Normal file
View File

@ -0,0 +1,76 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta charset='utf-8'>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<link href='https://fonts.googleapis.com/css?family=Chivo:900' rel='stylesheet' type='text/css'>
<link rel="stylesheet" type="text/css" href="stylesheets/stylesheet.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/pygment_trac.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/print.css" media="print" />
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<title>DlangUI - cross platform GUI library for D programming language - dlangui.graphics.images</title>
</head>
<body>
<div id="container">
<div class="inner">
<header>
<h1>DlangUI</h1>
<h2>Cross Platform GUI for D programming language</h2>
</header>
<section id="downloads" class="clearfix">
<a href="index.html" id="home" class="button"><span>Home</span></a>
<a href="api.html" id="home" class="button"><span>API Docs</span></a>
<a href="screenshots.html" id="home" class="button"><span>Screenshots</span></a>
<a href="https://github.com/buggins/dlangui/zipball/master" id="download-zip" class="button"><span>Download .zip</span></a>
<!--a href="https://github.com/buggins/dlangui/tarball/master" id="download-tar-gz" class="button"><span>Download .tar.gz</span></a-->
<a href="https://github.com/buggins/dlangui" id="view-on-github" class="button"><span>View on GitHub</span></a>
</section>
<hr>
<section id="main_content">
<h1>dlangui.graphics.images</h1>
<!-- Generated by Ddoc from src\dlangui\graphics\images.d -->
This module contains image loading functions.
<br><br>
Currently uses FreeImage.
<br><br>
Usage of libpng is not feasible under linux due to conflicts of library and binding versions.
<br><br>
<b>Synopsis:</b><br>
<pre class="d_code"><font color=blue>import</font> dlangui.graphics.<u>images</u>;
</pre>
<br><br>
<b>License:</b><br>
Boost License 1.0
<br><br>
<b>Authors:</b><br>
Vadim Lopatin, coolreader.org@gmail.com<br><br>
<dl><dt><big><a name="loadImage"></a>ColorDrawBuf <u>loadImage</u>(string <i>filename</i>);
</big></dt>
<dd>load and decode image from file to ColorDrawBuf, returns <b>null</b> if loading or decoding is failed<br><br>
</dd>
<dt><big><a name="loadImage"></a>ColorDrawBuf <u>loadImage</u>(InputStream <i>stream</i>);
</big></dt>
<dd>load and decode image from <i>stream</i> to ColorDrawBuf, returns <b>null</b> if loading or decoding is failed<br><br>
</dd>
</dl>
</section>
<footer>
Dlangui is maintained by <a href="https://github.com/buggins">buggins</a><br>
This page was generated by <a href="http://pages.github.com">GitHub Pages</a>. Tactile theme by <a href="https://twitter.com/jasonlong">Jason Long</a>.
</footer>
</div>
</div>
</body>
</html>

BIN
images/body-bg.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

BIN
images/highlight-bg.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

BIN
images/hr.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

BIN
images/octocat-icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

BIN
images/tar-gz-icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

BIN
images/zip-icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

308
index.html Normal file
View File

@ -0,0 +1,308 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta charset='utf-8'>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<link href='https://fonts.googleapis.com/css?family=Chivo:900' rel='stylesheet' type='text/css'>
<link rel="stylesheet" type="text/css" href="stylesheets/stylesheet.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/pygment_trac.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/print.css" media="print" />
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<title>DlangUI - cross platform GUI library for D programming language - index</title>
</head>
<body>
<div id="container">
<div class="inner">
<header>
<h1>DlangUI</h1>
<h2>Cross Platform GUI for D programming language</h2>
</header>
<section id="downloads" class="clearfix">
<a href="index.html" id="home" class="button"><span>Home</span></a>
<a href="api.html" id="home" class="button"><span>API Docs</span></a>
<a href="screenshots.html" id="home" class="button"><span>Screenshots</span></a>
<a href="https://github.com/buggins/dlangui/zipball/master" id="download-zip" class="button"><span>Download .zip</span></a>
<!--a href="https://github.com/buggins/dlangui/tarball/master" id="download-tar-gz" class="button"><span>Download .tar.gz</span></a-->
<a href="https://github.com/buggins/dlangui" id="view-on-github" class="button"><span>View on GitHub</span></a>
</section>
<hr>
<section id="main_content">
<h1>index</h1>
<!-- Generated by Ddoc from src\index.d -->
<h1>
<a name="dlang-ui" class="anchor" href="#dlang-ui"><span class="octicon octicon-link"></span></a>Dlang UI</h1>
<p>GUI for D programming language, written in D.</p>
Alpha stage of development.
<ul>
<li>Crossplatform (Win32 and Linux are supported in current version); can use SDL2 as a backend.</li>
<li>Mostly inspired by Android UI API (layouts, styles, two phase layout, ...)</li>
<li>Supports highly customizable UI themes and styles</li>
<li>Supports internationalization</li>
<li>Hardware acceleration using OpenGL (when built with version USE_OPENGL)</li>
<li>Fallback to Win32 API / XCB when OpenGL is not available</li>
<li>Actually it's a port (with major refactoring) of GUI library for cross platform OpenGL based implementation of Cool Reader app project from C++.</li>
<li>Almost ready for 2D games development</li>
<li>Goal: provide set of widgets suitable for building of IDE.</li>
<li>Non thread safe</li>
</ul>
<h2><a name="widgets" class="anchor" href="#widgets"><span class="octicon octicon-link"></span></a>Widgets</h2>
<ul>
<li>Widget - base class for all widgets and widget containers, similar to Android's View</li>
</ul><p>Currently implemented widgets:</p>
<ul>
<li>TextWidget - simple static text (TODO: implement multiline formatting)</li>
<li>ImageWidget - static image</li>
<li>Button - simple button with text label</li>
<li>ImageButton - image only button</li>
<li>TextImageButton - button with icon and label</li>
<li>CheckBox - check button with label</li>
<li>RadioButton - radio button with label</li>
<li>EditLine - single line edit</li>
<li>EditBox - multiline editor</li>
<li>VSpacer - vertical spacer - just an empty widget with layoutHeight == FILL_PARENT, to fill vertical space in layouts</li>
<li>HSpacer - horizontal spacer - just an empty widget with layoutWidth == FILL_PARENT, to fill horizontal space in layouts</li>
<li>ScrollBar - scroll bar</li>
<li>TabControl - tabs widget, allows to select one of tabs</li>
<li>TabHost - container for pages controlled by TabControl</li>
<li>TabWidget - combination of TabControl and TabHost</li>
<li>GridWidgetBase - abstract Grid widget</li>
<li>StringGrid - grid view with strings content</li>
<li>TreeWidget - tree view</li>
<li>ComboBox - combo box with text items</li>
</ul>
<h2><a name="layouts" class="anchor" href="#layouts"><span class="octicon octicon-link"></span></a>Layouts</h2>
Similar to layouts in Android
<ul>
<li>LinearLayout - layout children horizontally or vertically depending on orientation</li>
<li>VerticalLayout - just a LinearLayout with vertical orientation</li>
<li>HorizontalLayout - just a LinearLayout with vertical orientation</li>
<li>FrameLayout - all children occupy the same place; usually onle one of them is visible</li>
<li>TableLayout - children are aligned into rows and columns of table</li>
</ul><h2>
<a name="list-views" class="anchor" href="#list-views"><span class="octicon octicon-link"></span></a>List Views</h2>
<p>Lists are implemented similar to Android UI API.</p>
<ul>
<li>ListWidget - layout dynamic items horizontally or vertically (one in row/column) with automatic scrollbar; can reuse widgets for similar items</li>
<li>ListAdapter - interface to provide data and widgets for ListWidget</li>
<li>WidgetListAdapter - simple implementation of ListAdapter interface - just a list of widgets (one per list item) to show</li>
</ul><p>TODOs:</p>
<ul>
<li>Multicolumn lists</li>
<li>Tree view</li>
</ul><h2>
<a name="resources" class="anchor" href="#resources"><span class="octicon octicon-link"></span></a>Resources</h2>
<p>Resources like fonts and images use reference counting. For proper resource freeing, always destroy widgets implicitly.</p>
<ul>
<li>FontManager: provides access to fonts</li>
<li>Images: .png or .jpg images; if filename ends with .9.png, it's autodetected as nine-patch image (see Android drawables description)</li>
<li>StateDrawables: .xml file can describe list of other drawables to choose based on widget's State (.xml files from android themes can be used directly)</li>
<li>imageCache allows to cache unpacked images</li>
<li>drawableCache provides access by resource id (string, usually filename w/o extension) to drawables located in specified list of resource directories.</li>
</ul><h2>
<a name="styles-and-themes" class="anchor" href="#styles-and-themes"><span class="octicon octicon-link"></span></a>Styles and Themes</h2>
<p>Styles and themes are a bit similar to ones in Android API.</p>
<ul>
<li>Theme is a container for styles. Can be load from XML theme resource file.</li>
<li>Styles are accessible in theme by string ID.</li>
<li>Styles can be nested to form hiararchy - when some attribute is missing in style, value from base style will be used.</li>
<li>State substyles are supported: allow to change widget appearance dynamically based on its state.</li>
<li>Widgets use style attributes directly from assigned style. When some attribute is being changed in widget, it creates its own copy of base style,
which allows to modify some of attributes, while getting base style attributes if they are not changed in widget. This trick can minimize memory usage for widget attributes when
standard values are used.</li>
</ul><h2>
<a name="win32-builds" class="anchor" href="#win32-builds"><span class="octicon octicon-link"></span></a>Win32 builds</h2>
<ul>
<li>Under windows, uses SDL2 or Win32 API as backend.</li>
<li>Optionally, may use OpenGL acceleration via DerelictGL3/WGL.</li>
<li>Uses Win32 API for font rendering.</li>
<li>Optinally can use FreeType for font rendering.</li>
</ul><p>Build and run using DUB:</p>
<pre class="d_code"> git clone https:<font color=green>//github.com/buggins/dlangui.git
</font> cd dlangui
dub run dlangui:example1
</pre>
<p>To develop using Visual-D, download sources for dlabgui and dependencies into some directory:</p>
<pre class="d_code"> git clone https:<font color=green>//github.com/buggins/dlangui.git
</font> git clone https:<font color=green>//github.com/DerelictOrg/DerelictUtil.git
</font> git clone https:<font color=green>//github.com/DerelictOrg/DerelictGL3.git
</font> git clone https:<font color=green>//github.com/DerelictOrg/DerelictFI.git
</font> git clone https:<font color=green>//github.com/DerelictOrg/DerelictFT.git
</font> git clone https:<font color=green>//github.com/DerelictOrg/DerelictSDL2.git
</font></pre>
<p>Then open .sln using Visual D.</p>
<h2>
<a name="linux-builds" class="anchor" href="#linux-builds"><span class="octicon octicon-link"></span></a>Linux builds</h2>
<ul>
<li>Uses SDL2 or XCB as a backend (SDL2 is recommended, since has better support now).</li>
<li>Uses shared memory images for faster drawing.</li>
<li>Uses FreeType for font rendering.</li>
<li>TODO: Use FontConfig to get font list.</li>
<li>OpenGL is now working under SDL2 only.</li>
<li>Entering of unicode characters is now working under SDL2 only.</li>
</ul><p>For linux build with SDL2 backend, following libraries are required:</p>
<pre class="d_code"> libsdl2
</pre>
<p>To build dlangui apps with XCB backend, development packages for following libraries required for XCB backend build:</p>
<pre class="d_code"> xcb, xcb-util, xcb-shm, xcb-image, xcb-keysyms, X11-xcb, X11
</pre>
<p>E.g. in Ubuntu, you can use following command to enable SDL2 backend builds:</p>
<pre class="d_code"> sudo apt-get install libsdl2-dev
</pre>
<p>or (for XCB backend)</p>
<pre class="d_code"> sudo apt-get install libxcb-image0-dev libxcb-shm0-dev libxcb-keysyms1-dev libfreeimage-dev
</pre>
<p>In runtime, .so for following libraries are being loaded (binary packages required):</p>
<pre class="d_code"> freetype, opengl, freeimage
</pre>
<p>Build and run on Linux using DUB:</p>
<pre class="d_code"> dub run dlangui:example1
</pre>
<p>Development using Mono-D: </p>
<ul>
<li>open solution dlangui/dlanguimonod.sln </li>
<li>build and run project example1</li>
</ul><p>You need fresh version of MonoDevelop to use Mono-D. It can be installed from PPA repository.</p>
<pre class="d_code"> sudo add-apt-repository ppa:ermshiperete/monodevelop
sudo apt-get update
sudo apt-get install monodevelop-current
</pre>
<h2>
<a name="other-platforms" class="anchor" href="#other-platforms"><span class="octicon octicon-link"></span></a>Other platforms</h2>
<ul>
<li>Other platforms support may be added easy</li>
</ul><h2>
<a name="third-party-components-used" class="anchor" href="#third-party-components-used"><span class="octicon octicon-link"></span></a>Third party components used</h2>
<ul>
<li>DerelictGL3 - for OpenGL support</li>
<li>DerelictFT + FreeType library support under linux and optionally under Windows.</li>
<li>DerelictFI + FreeImage library support for decoding of images</li>
<li>DerelictSDL2 + SDL2 for cross platform support</li>
<li>WindowsAPI bindings from <a href="http://www.dsource.org/projects/bindings/wiki/WindowsApi">http://www.dsource.org/projects/bindings/wiki/WindowsApi</a> (patched)</li>
<li>XCB and X11 bindings (patched) when SDL2 is not used; TODO: provide links</li>
</ul><h2>
<a name="hello-world" class="anchor" href="#hello-world"><span class="octicon octicon-link"></span></a>Hello World</h2>
Sample code:
<pre class="d_code"><font color=green>// main.d
</font><font color=blue>import</font> dlangui.all;
<font color=blue>mixin</font> DLANGUI_ENTRY_POINT;
<font color=green>/// entry point for dlangui based application
</font><font color=blue>extern</font> (C) <font color=blue>int</font> UIAppMain(string[] args) {
<font color=green>// resource directory search paths
</font> string[] resourceDirs = [
appendPath(exePath, <font color=red>"../res/"</font>), <font color=green>// for Visual D and DUB builds
</font> appendPath(exePath, <font color=red>"../../res/"</font>) <font color=green>// for Mono-D builds
</font> ];
<font color=green>// setup resource directories - will use only existing directories
</font> Platform.instance.resourceDirs = resourceDirs;
<font color=green>// select translation file - for english language
</font> Platform.instance.uiLanguage = <font color=red>"en"</font>;
<font color=green>// load theme from file "theme_default.xml"
</font> Platform.instance.uiTheme = <font color=red>"theme_default"</font>;
<font color=green>// create window
</font> Window window = Platform.instance.createWindow(<font color=red>"My Window"</font>, <font color=blue>null</font>);
<font color=green>// create some widget to show in window
</font> window.mainWidget = (<font color=blue>new</font> Button()).text(<font color=red>"Hello world"d</font>).textColor(0xFF0000); <font color=green>// red text
</font> <font color=green>// show window
</font> window.show();
<font color=green>// run message loop
</font> <font color=blue>return</font> Platform.instance.enterMessageLoop();
}
</pre>
Sample dub.json:
<pre class="d_code">{
<font color=red>"name"</font>: <font color=red>"myproject"</font>,
<font color=red>"description"</font>: <font color=red>"sample DLangUI project"</font>,
<font color=red>"homepage"</font>: <font color=red>"https://github.com/buggins/dlangui"</font>,
<font color=red>"license"</font>: <font color=red>"Boost"</font>,
<font color=red>"authors"</font>: [<font color=red>"Vadim Lopatin"</font>],
<font color=red>"targetName"</font>: <font color=red>"example"</font>,
<font color=red>"targetPath"</font>: <font color=red>"bin"</font>,
<font color=red>"targetType"</font>: <font color=red>"executable"</font>,
<font color=red>"sourcePaths"</font>: [<font color=red>"src"</font>],
<font color=red>"sourceFiles"</font>: [
<font color=red>"src/app.d"</font>
],
<font color=red>"copyFiles-windows"</font>: [
<font color=red>"lib/FreeImage.dll"</font>
],
<font color=red>"copyFiles"</font>: [
<font color=red>"res"</font>
],
<font color=red>"dependencies"</font>: {
<font color=red>"dlangui:dlanguilib"</font>: <font color=red>"~master"</font>
}
}
</pre>
There is sample project which is using DLangUI.
<a href="https://github.com/buggins/dlangide">https://github.com/buggins/dlangide</a>
</section>
<footer>
Dlangui is maintained by <a href="https://github.com/buggins">buggins</a><br>
This page was generated by <a href="http://pages.github.com">GitHub Pages</a>. Tactile theme by <a href="https://twitter.com/jasonlong">Jason Long</a>.
</footer>
</div>
</div>
</body>
</html>

1
javascripts/main.js Normal file
View File

@ -0,0 +1 @@
console.log('This would be the main JS file.');

185
layouts.html Normal file
View File

@ -0,0 +1,185 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta charset='utf-8'>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<link href='https://fonts.googleapis.com/css?family=Chivo:900' rel='stylesheet' type='text/css'>
<link rel="stylesheet" type="text/css" href="stylesheets/stylesheet.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/pygment_trac.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/print.css" media="print" />
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<title>DlangUI - cross platform GUI library for D programming language - dlangui.widgets.layouts</title>
</head>
<body>
<div id="container">
<div class="inner">
<header>
<h1>DlangUI</h1>
<h2>Cross Platform GUI for D programming language</h2>
</header>
<section id="downloads" class="clearfix">
<a href="index.html" id="home" class="button"><span>Home</span></a>
<a href="api.html" id="home" class="button"><span>API Docs</span></a>
<a href="screenshots.html" id="home" class="button"><span>Screenshots</span></a>
<a href="https://github.com/buggins/dlangui/zipball/master" id="download-zip" class="button"><span>Download .zip</span></a>
<!--a href="https://github.com/buggins/dlangui/tarball/master" id="download-tar-gz" class="button"><span>Download .tar.gz</span></a-->
<a href="https://github.com/buggins/dlangui" id="view-on-github" class="button"><span>View on GitHub</span></a>
</section>
<hr>
<section id="main_content">
<h1>dlangui.widgets.layouts</h1>
<!-- Generated by Ddoc from src\dlangui\widgets\layouts.d -->
This module contains common <u>layouts</u> implementations.
<br><br>
Layouts are similar to the same in Android.
<br><br>
LinearLayout - either VerticalLayout or HorizontalLayout.
VerticalLayout - just LinearLayout with orientation=Orientation.Vertical
HorizontalLayout - just LinearLayout with orientation=Orientation.Vertical
FrameLayout - children occupy the same place, usually one one is visible at a time
TableLayout - children aligned into rows and columns
<br><br>
<br><br>
<b>Synopsis:</b><br>
<pre class="d_code"><font color=blue>import</font> dlangui.widgets.<u>layouts</u>;
</pre>
<br><br>
<b>License:</b><br>
Boost License 1.0
<br><br>
<b>Authors:</b><br>
Vadim Lopatin, coolreader.org@gmail.com<br><br>
<dl><dt><big><a name="LayoutItem"></a>struct <u>LayoutItem</u>;
</big></dt>
<dd>helper for layouts<br><br>
<dl><dt><big><a name="LayoutItem.set"></a>void <u>set</u>(Widget <i>widget</i>, Orientation <i>orientation</i>);
</big></dt>
<dd>sets item for <i>widget</i><br><br>
</dd>
<dt><big><a name="LayoutItem.measure"></a>void <u>measure</u>(int <i>parentWidth</i>, int <i>parentHeight</i>);
</big></dt>
<dd>set item and <u>measure</u> it<br><br>
</dd>
</dl>
</dd>
<dt><big><a name="LayoutItems"></a>class <u>LayoutItems</u>;
</big></dt>
<dd>helper class for layouts<br><br>
<dl><dt><big><a name="LayoutItems.measure"></a>Point <u>measure</u>(int <i>parentWidth</i>, int <i>parentHeight</i>);
</big></dt>
<dd>fill widget layout list with Visible or Invisible items, <u>measure</u> them<br><br>
</dd>
<dt><big><a name="LayoutItems.setWidgets"></a>void <u>setWidgets</u>(ref WidgetList <i>widgets</i>);
</big></dt>
<dd>fill widget layout list with Visible or Invisible items, measure them<br><br>
</dd>
</dl>
</dd>
<dt><big><a name="ResizerWidget"></a>class <u>ResizerWidget</u>: <u>dlangui.widgets.widget.Widget</u>;
</big></dt>
<dd>Resizer control.
Put it between other items in LinearLayout to allow resizing its siblings.
While dragging, it will resize previous and next children in layout.<br><br>
<dl><dt><big><a name="ResizerWidget.getCursorType"></a>uint <u>getCursorType</u>(int <i>x</i>, int <i>y</i>);
</big></dt>
<dd>returns mouse cursor type for widget<br><br>
</dd>
<dt><big><a name="ResizerWidget.measure"></a>void <u>measure</u>(int <i>parentWidth</i>, int <i>parentHeight</i>);
</big></dt>
<dd>Measure widget according to desired width and height constraints. (Step 1 of two phase layout).
<br><br>
</dd>
<dt><big><a name="ResizerWidget.layout"></a>void <u>layout</u>(Rect <i>rc</i>);
</big></dt>
<dd>Set widget rectangle to specified value and <u>layout</u> widget contents. (Step 2 of two phase <u>layout</u>).<br><br>
</dd>
<dt><big><a name="ResizerWidget.onMouseEvent"></a>bool <u>onMouseEvent</u>(MouseEvent <i>event</i>);
</big></dt>
<dd>process mouse <i>event</i>; return <b>true</b> if <i>event</i> is processed by widget.<br><br>
</dd>
</dl>
</dd>
<dt><big><a name="FrameLayout"></a>class <u>FrameLayout</u>: <u>dlangui.widgets.widget.WidgetGroup</u>;
</big></dt>
<dd>place all children into same place (usually, only one child should be visible at a time)<br><br>
<dl><dt><big><a name="FrameLayout.measure"></a>void <u>measure</u>(int <i>parentWidth</i>, int <i>parentHeight</i>);
</big></dt>
<dd>Measure widget according to desired width and height constraints. (Step 1 of two phase layout).<br><br>
</dd>
<dt><big><a name="FrameLayout.layout"></a>void <u>layout</u>(Rect <i>rc</i>);
</big></dt>
<dd>Set widget rectangle to specified value and <u>layout</u> widget contents. (Step 2 of two phase <u>layout</u>).<br><br>
</dd>
<dt><big><a name="FrameLayout.onDraw"></a>void <u>onDraw</u>(DrawBuf <i>buf</i>);
</big></dt>
<dd>Draw widget at its position to buffer<br><br>
</dd>
<dt><big><a name="FrameLayout.showChild"></a>bool <u>showChild</u>(string <i>ID</i>, Visibility <i>otherChildrenVisibility</i> = Visibility.Invisible, bool <i>updateFocus</i> = false);
</big></dt>
<dd>make one of children (with specified <i>ID</i>) visible, for the rest, set visibility to <i>otherChildrenVisibility</i><br><br>
</dd>
</dl>
</dd>
<dt><big><a name="TableLayout"></a>class <u>TableLayout</u>: <u>dlangui.widgets.widget.WidgetGroup</u>;
</big></dt>
<dd>layout children as table with rows and columns<br><br>
<dl><dt><big><a name="TableLayout.colCount"></a>@property int <u>colCount</u>();
</big></dt>
<dd>number of columns<br><br>
</dd>
<dt><big><a name="TableLayout.measure"></a>void <u>measure</u>(int <i>parentWidth</i>, int <i>parentHeight</i>);
</big></dt>
<dd>Measure widget according to desired width and height constraints. (Step 1 of two phase layout).<br><br>
</dd>
<dt><big><a name="TableLayout.layout"></a>void <u>layout</u>(Rect <i>rc</i>);
</big></dt>
<dd>Set widget rectangle to specified value and <u>layout</u> widget contents. (Step 2 of two phase <u>layout</u>).<br><br>
</dd>
<dt><big><a name="TableLayout.onDraw"></a>void <u>onDraw</u>(DrawBuf <i>buf</i>);
</big></dt>
<dd>Draw widget at its position to buffer<br><br>
</dd>
</dl>
</dd>
</dl>
</section>
<footer>
Dlangui is maintained by <a href="https://github.com/buggins">buggins</a><br>
This page was generated by <a href="http://pages.github.com">GitHub Pages</a>. Tactile theme by <a href="https://twitter.com/jasonlong">Jason Long</a>.
</footer>
</div>
</div>
</body>
</html>

94
linestream.html Normal file
View File

@ -0,0 +1,94 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta charset='utf-8'>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<link href='https://fonts.googleapis.com/css?family=Chivo:900' rel='stylesheet' type='text/css'>
<link rel="stylesheet" type="text/css" href="stylesheets/stylesheet.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/pygment_trac.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/print.css" media="print" />
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<title>DlangUI - cross platform GUI library for D programming language - dlangui.core.linestream</title>
</head>
<body>
<div id="container">
<div class="inner">
<header>
<h1>DlangUI</h1>
<h2>Cross Platform GUI for D programming language</h2>
</header>
<section id="downloads" class="clearfix">
<a href="index.html" id="home" class="button"><span>Home</span></a>
<a href="api.html" id="home" class="button"><span>API Docs</span></a>
<a href="screenshots.html" id="home" class="button"><span>Screenshots</span></a>
<a href="https://github.com/buggins/dlangui/zipball/master" id="download-zip" class="button"><span>Download .zip</span></a>
<!--a href="https://github.com/buggins/dlangui/tarball/master" id="download-tar-gz" class="button"><span>Download .tar.gz</span></a-->
<a href="https://github.com/buggins/dlangui" id="view-on-github" class="button"><span>View on GitHub</span></a>
</section>
<hr>
<section id="main_content">
<h1>dlangui.core.linestream</h1>
<!-- Generated by Ddoc from src\dlangui\core\linestream.d -->
This module contains text file reader implementation.
<br><br>
Support utf8, utf16, utf32 be and le encodings, and line endings - according to D language source file specification.
<br><br>
Low resource consuming. Doesn't flood with GC allocations. Dup line if you want to store it somewhere.
<br><br>
Tracks line number.
<br><br>
<br><br>
<b>Synopsis:</b><br>
<pre class="d_code"><font color=blue>import</font> dlangui.core.<u>linestream</u>;
<font color=blue>import</font> std.stdio;
<font color=blue>import</font> std.conv;
<font color=blue>import</font> std.utf;
string fname = <font color=red>"somefile.d"</font>;
writeln(<font color=red>"opening file"</font>);
std.stream.File f = <font color=blue>new</font> std.stream.File(fname);
<font color=blue>scope</font>(exit) { f.close(); }
<font color=blue>try</font> {
LineStream lines = LineStream.create(f, fname);
<font color=blue>for</font> (;;) {
<font color=blue>dchar</font>[] s = lines.readLine();
<font color=blue>if</font> (s <font color=blue>is</font> <font color=blue>null</font>)
<font color=blue>break</font>;
writeln(<font color=red>"line "</font> ~ to!string(lines.line()) ~ <font color=red>":"</font> ~ toUTF8(s));
}
<font color=blue>if</font> (lines.errorCode != 0) {
writeln(<font color=red>"Error "</font>, lines.errorCode, <font color=red>" "</font>, lines.errorMessage, <font color=red>" -- at line "</font>, lines.errorLine, <font color=red>" position "</font>, lines.errorPos);
} <font color=blue>else</font> {
writeln(<font color=red>"EOF reached"</font>);
}
} <font color=blue>catch</font> (Exception e) {
writeln(<font color=red>"Exception "</font> ~ e.toString);
}
</pre>
<br><br>
<b>License:</b><br>
Boost License 1.0
<br><br>
<b>Authors:</b><br>
Vadim Lopatin, coolreader.org@gmail.com<br><br>
</section>
<footer>
Dlangui is maintained by <a href="https://github.com/buggins">buggins</a><br>
This page was generated by <a href="http://pages.github.com">GitHub Pages</a>. Tactile theme by <a href="https://twitter.com/jasonlong">Jason Long</a>.
</footer>
</div>
</div>
</body>
</html>

387
lists.html Normal file
View File

@ -0,0 +1,387 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta charset='utf-8'>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<link href='https://fonts.googleapis.com/css?family=Chivo:900' rel='stylesheet' type='text/css'>
<link rel="stylesheet" type="text/css" href="stylesheets/stylesheet.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/pygment_trac.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/print.css" media="print" />
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<title>DlangUI - cross platform GUI library for D programming language - dlangui.widgets.lists</title>
</head>
<body>
<div id="container">
<div class="inner">
<header>
<h1>DlangUI</h1>
<h2>Cross Platform GUI for D programming language</h2>
</header>
<section id="downloads" class="clearfix">
<a href="index.html" id="home" class="button"><span>Home</span></a>
<a href="api.html" id="home" class="button"><span>API Docs</span></a>
<a href="screenshots.html" id="home" class="button"><span>Screenshots</span></a>
<a href="https://github.com/buggins/dlangui/zipball/master" id="download-zip" class="button"><span>Download .zip</span></a>
<!--a href="https://github.com/buggins/dlangui/tarball/master" id="download-tar-gz" class="button"><span>Download .tar.gz</span></a-->
<a href="https://github.com/buggins/dlangui" id="view-on-github" class="button"><span>View on GitHub</span></a>
</section>
<hr>
<section id="main_content">
<h1>dlangui.widgets.lists</h1>
<!-- Generated by Ddoc from src\dlangui\widgets\lists.d -->
This module contains list widgets implementation.
<br><br>
Similar to <u>lists</u> implementation in Android UI API.
<br><br>
<b>Synopsis:</b><br>
<pre class="d_code"><font color=blue>import</font> dlangui.widgets.<u>lists</u>;
</pre>
<br><br>
<b>License:</b><br>
Boost License 1.0
<br><br>
<b>Authors:</b><br>
Vadim Lopatin, coolreader.org@gmail.com<br><br>
<dl><dt><big><a name="ListAdapter"></a>interface <u>ListAdapter</u>;
</big></dt>
<dd>list widget adapter provides items for list widgets<br><br>
<dl><dt><big><a name="ListAdapter.itemCount"></a>abstract @property int <u>itemCount</u>();
</big></dt>
<dd>returns number of widgets in list<br><br>
</dd>
<dt><big><a name="ListAdapter.itemWidget"></a>abstract Widget <u>itemWidget</u>(int <i>index</i>);
</big></dt>
<dd>return list item widget by item <i>index</i><br><br>
</dd>
<dt><big><a name="ListAdapter.itemState"></a>abstract uint <u>itemState</u>(int <i>index</i>);
</big></dt>
<dd>return list item's state flags<br><br>
</dd>
<dt><big><a name="ListAdapter.setItemState"></a>abstract uint <u>setItemState</u>(int <i>index</i>, uint <i>flags</i>);
</big></dt>
<dd>set one or more list item's state <i>flags</i>, returns updated state<br><br>
</dd>
<dt><big><a name="ListAdapter.resetItemState"></a>abstract uint <u>resetItemState</u>(int <i>index</i>, uint <i>flags</i>);
</big></dt>
<dd>reset one or more list item's state <i>flags</i>, returns updated state<br><br>
</dd>
</dl>
</dd>
<dt><big><a name="WidgetListAdapter"></a>class <u>WidgetListAdapter</u>: <u>dlangui.widgets.lists.ListAdapter</u>;
</big></dt>
<dd>List adapter for simple list of widget instances<br><br>
<dl><dt><big><a name="WidgetListAdapter.widgets"></a>@property ref WidgetList <u>widgets</u>();
</big></dt>
<dd>list of <u>widgets</u> to display<br><br>
</dd>
<dt><big><a name="WidgetListAdapter.itemCount"></a>@property int <u>itemCount</u>();
</big></dt>
<dd>returns number of widgets in list<br><br>
</dd>
<dt><big><a name="WidgetListAdapter.itemWidget"></a>Widget <u>itemWidget</u>(int <i>index</i>);
</big></dt>
<dd>return list item widget by item <i>index</i><br><br>
</dd>
<dt><big><a name="WidgetListAdapter.itemState"></a>uint <u>itemState</u>(int <i>index</i>);
</big></dt>
<dd>return list item's state flags<br><br>
</dd>
<dt><big><a name="WidgetListAdapter.setItemState"></a>uint <u>setItemState</u>(int <i>index</i>, uint <i>flags</i>);
</big></dt>
<dd>set one or more list item's state <i>flags</i>, returns updated state<br><br>
</dd>
<dt><big><a name="WidgetListAdapter.resetItemState"></a>uint <u>resetItemState</u>(int <i>index</i>, uint <i>flags</i>);
</big></dt>
<dd>reset one or more list item's state <i>flags</i>, returns updated state<br><br>
</dd>
</dl>
</dd>
<dt><big><a name="StringListAdapter"></a>class <u>StringListAdapter</u>: <u>dlangui.widgets.lists.ListAdapter</u>;
</big></dt>
<dd>List adapter providing strings only.<br><br>
<dl><dt><big><a name="StringListAdapter.this"></a>this();
</big></dt>
<dd>create empty string list adapter.<br><br>
</dd>
<dt><big><a name="StringListAdapter.this"></a>this(string[] <i>items</i>);
</big></dt>
<dd>Init with array of string resource IDs.<br><br>
</dd>
<dt><big><a name="StringListAdapter.this"></a>this(dstring[] <i>items</i>);
</big></dt>
<dd>Init with array of unicode strings.<br><br>
</dd>
<dt><big><a name="StringListAdapter.items"></a>@property ref UIStringCollection <u>items</u>();
</big></dt>
<dd>Access to <u>items</u> collection.<br><br>
</dd>
<dt><big><a name="StringListAdapter.itemCount"></a>@property int <u>itemCount</u>();
</big></dt>
<dd>returns number of widgets in list<br><br>
</dd>
<dt><big><a name="StringListAdapter.itemWidget"></a>Widget <u>itemWidget</u>(int <i>index</i>);
</big></dt>
<dd>return list item widget by item <i>index</i><br><br>
</dd>
<dt><big><a name="StringListAdapter.itemState"></a>uint <u>itemState</u>(int <i>index</i>);
</big></dt>
<dd>return list item's state flags<br><br>
</dd>
<dt><big><a name="StringListAdapter.setItemState"></a>uint <u>setItemState</u>(int <i>index</i>, uint <i>flags</i>);
</big></dt>
<dd>set one or more list item's state <i>flags</i>, returns updated state<br><br>
</dd>
<dt><big><a name="StringListAdapter.resetItemState"></a>uint <u>resetItemState</u>(int <i>index</i>, uint <i>flags</i>);
</big></dt>
<dd>reset one or more list item's state <i>flags</i>, returns updated state<br><br>
</dd>
</dl>
</dd>
<dt><big><a name="OnItemSelectedHandler"></a>interface <u>OnItemSelectedHandler</u>;
</big></dt>
<dd>interface - slot for onItemSelectedListener<br><br>
</dd>
<dt><big><a name="OnItemClickHandler"></a>interface <u>OnItemClickHandler</u>;
</big></dt>
<dd>interface - slot for onItemClickListener<br><br>
</dd>
<dt><big><a name="ListWidget"></a>class <u>ListWidget</u>: <u>dlangui.widgets.widget.WidgetGroup</u>, <u>dlangui.widgets.controls.OnScrollHandler</u>;
</big></dt>
<dd>List widget - shows content as hori<br><br>
<dl><dt><big><a name="ListWidget.onItemSelectedListener"></a>Signal!OnItemSelectedHandler <u>onItemSelectedListener</u>;
</big></dt>
<dd>Handle selection change.<br><br>
</dd>
<dt><big><a name="ListWidget.onItemClickListener"></a>Signal!OnItemSelectedHandler <u>onItemClickListener</u>;
</big></dt>
<dd>Handle item click.<br><br>
</dd>
<dt><big><a name="ListWidget.orientation"></a>@property Orientation <u>orientation</u>();
</big></dt>
<dd>returns linear layout <u>orientation</u> (Vertical, Horizontal)<br><br>
</dd>
<dt><big><a name="ListWidget.orientation"></a>@property ListWidget <u>orientation</u>(Orientation <i>value</i>);
</big></dt>
<dd>sets linear layout <u>orientation</u><br><br>
</dd>
<dt><big><a name="ListWidget._firstVisibleItem"></a>protected int <u>_firstVisibleItem</u>;
</big></dt>
<dd>first visible item index<br><br>
</dd>
<dt><big><a name="ListWidget._scrollPosition"></a>protected int <u>_scrollPosition</u>;
</big></dt>
<dd>scroll position - offset of scroll area<br><br>
</dd>
<dt><big><a name="ListWidget._maxScrollPosition"></a>protected int <u>_maxScrollPosition</u>;
</big></dt>
<dd>maximum scroll position<br><br>
</dd>
<dt><big><a name="ListWidget._clientRc"></a>protected Rect <u>_clientRc</u>;
</big></dt>
<dd>client area rectangle (counting padding, margins, and scrollbar)<br><br>
</dd>
<dt><big><a name="ListWidget._totalSize"></a>protected int <u>_totalSize</u>;
</big></dt>
<dd>total height of all items for Vertical orientation, or width for Horizontal<br><br>
</dd>
<dt><big><a name="ListWidget._hoverItemIndex"></a>protected int <u>_hoverItemIndex</u>;
</big></dt>
<dd>item with Hover state, -1 if no such item<br><br>
</dd>
<dt><big><a name="ListWidget._selectedItemIndex"></a>protected int <u>_selectedItemIndex</u>;
</big></dt>
<dd>item with Selected state, -1 if no such item<br><br>
</dd>
<dt><big><a name="ListWidget._selectOnHover"></a>protected bool <u>_selectOnHover</u>;
</big></dt>
<dd>when <b>true</b>, mouse hover selects underlying item<br><br>
</dd>
<dt><big><a name="ListWidget.selectOnHover"></a>@property bool <u>selectOnHover</u>();
</big></dt>
<dd>when <b>true</b>, mouse hover selects underlying item<br><br>
</dd>
<dt><big><a name="ListWidget.selectOnHover"></a>@property ListWidget <u>selectOnHover</u>(bool <i>select</i>);
</big></dt>
<dd>when <b>true</b>, mouse hover selects underlying item<br><br>
</dd>
<dt><big><a name="ListWidget._clickOnButtonDown"></a>protected bool <u>_clickOnButtonDown</u>;
</big></dt>
<dd>if <b>true</b>, generate itemClicked on mouse down instead mouse up event<br><br>
</dd>
<dt><big><a name="ListWidget.itemRectNoScroll"></a>Rect <u>itemRectNoScroll</u>(int <i>index</i>);
</big></dt>
<dd>returns rectangle for item (not scrolled, first item starts at 0,0)<br><br>
</dd>
<dt><big><a name="ListWidget.itemRect"></a>Rect <u>itemRect</u>(int <i>index</i>);
</big></dt>
<dd>returns rectangle for item (scrolled)<br><br>
</dd>
<dt><big><a name="ListWidget.itemByPosition"></a>int <u>itemByPosition</u>(int <i>pos</i>);
</big></dt>
<dd>returns item index by 0-based offset from top/left of list content<br><br>
</dd>
<dt><big><a name="ListWidget._ownAdapter"></a>protected bool <u>_ownAdapter</u>;
</big></dt>
<dd>when <b>true</b>, need to destroy adapter on list destroy<br><br>
</dd>
<dt><big><a name="ListWidget.adapter"></a>@property ListAdapter <u>adapter</u>();
</big></dt>
<dd>get <u>adapter</u><br><br>
</dd>
<dt><big><a name="ListWidget.adapter"></a>@property ListWidget <u>adapter</u>(ListAdapter <u>adapter</u>);
</big></dt>
<dd>set <u>adapter</u><br><br>
</dd>
<dt><big><a name="ListWidget.ownAdapter"></a>@property ListWidget <u>ownAdapter</u>(ListAdapter <i>adapter</i>);
</big></dt>
<dd>set <i>adapter</i>, which will be owned by list (destroy will be called for <i>adapter</i> on widget destroy)<br><br>
</dd>
<dt><big><a name="ListWidget.itemCount"></a>@property int <u>itemCount</u>();
</big></dt>
<dd>returns number of widgets in list<br><br>
</dd>
<dt><big><a name="ListWidget.itemWidget"></a>Widget <u>itemWidget</u>(int <i>index</i>);
</big></dt>
<dd>return list item widget by item <i>index</i><br><br>
</dd>
<dt><big><a name="ListWidget.itemEnabled"></a>bool <u>itemEnabled</u>(int <i>index</i>);
</big></dt>
<dd>returns <b>true</b> if item with corresponding <i>index</i> is enabled<br><br>
</dd>
<dt><big><a name="ListWidget.selectionChanged"></a>protected void <u>selectionChanged</u>(int <i>index</i>, int <i>previouslySelectedItem</i> = -1);
</big></dt>
<dd>override to handle change of selection<br><br>
</dd>
<dt><big><a name="ListWidget.itemClicked"></a>protected void <u>itemClicked</u>(int <i>index</i>);
</big></dt>
<dd>override to handle mouse up on item<br><br>
</dd>
<dt><big><a name="ListWidget.handleFocusChange"></a>protected void <u>handleFocusChange</u>(bool <i>focused</i>);
</big></dt>
<dd>override to handle focus changes<br><br>
</dd>
<dt><big><a name="ListWidget.makeSelectionVisible"></a>void <u>makeSelectionVisible</u>();
</big></dt>
<dd>ensure selected item is visible (scroll if necessary)<br><br>
</dd>
<dt><big><a name="ListWidget.makeItemVisible"></a>void <u>makeItemVisible</u>(int <i>itemIndex</i>);
</big></dt>
<dd>ensure item is visible<br><br>
</dd>
<dt><big><a name="ListWidget.moveSelection"></a>bool <u>moveSelection</u>(int <i>direction</i>, bool <i>wrapAround</i> = true);
</big></dt>
<dd>move selection<br><br>
</dd>
<dt><big><a name="ListWidget.selectedItemIndex"></a>@property int <u>selectedItemIndex</u>();
</big></dt>
<dd>Selected item index.<br><br>
</dd>
<dt><big><a name="ListWidget.onScrollEvent"></a>bool <u>onScrollEvent</u>(AbstractSlider <i>source</i>, ScrollEvent <i>event</i>);
</big></dt>
<dd>handle scroll <i>event</i><br><br>
</dd>
<dt><big><a name="ListWidget.measure"></a>void <u>measure</u>(int <i>parentWidth</i>, int <i>parentHeight</i>);
</big></dt>
<dd>Measure widget according to desired width and height constraints. (Step 1 of two phase layout).<br><br>
</dd>
<dt><big><a name="ListWidget.layout"></a>void <u>layout</u>(Rect <i>rc</i>);
</big></dt>
<dd>Set widget rectangle to specified value and <u>layout</u> widget contents. (Step 2 of two phase <u>layout</u>).<br><br>
</dd>
<dt><big><a name="ListWidget.onDraw"></a>void <u>onDraw</u>(DrawBuf <i>buf</i>);
</big></dt>
<dd>Draw widget at its position to buffer<br><br>
</dd>
<dt><big><a name="ListWidget.onKeyEvent"></a>bool <u>onKeyEvent</u>(KeyEvent <i>event</i>);
</big></dt>
<dd>list navigation using keys<br><br>
</dd>
<dt><big><a name="ListWidget.onMouseEvent"></a>bool <u>onMouseEvent</u>(MouseEvent <i>event</i>);
</big></dt>
<dd>process mouse <i>event</i>; return <b>true</b> if <i>event</i> is processed by widget.<br><br>
</dd>
</dl>
</dd>
</dl>
</section>
<footer>
Dlangui is maintained by <a href="https://github.com/buggins">buggins</a><br>
This page was generated by <a href="http://pages.github.com">GitHub Pages</a>. Tactile theme by <a href="https://twitter.com/jasonlong">Jason Long</a>.
</footer>
</div>
</div>
</body>
</html>

68
logger.html Normal file
View File

@ -0,0 +1,68 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta charset='utf-8'>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<link href='https://fonts.googleapis.com/css?family=Chivo:900' rel='stylesheet' type='text/css'>
<link rel="stylesheet" type="text/css" href="stylesheets/stylesheet.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/pygment_trac.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/print.css" media="print" />
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<title>DlangUI - cross platform GUI library for D programming language - dlangui.core.logger</title>
</head>
<body>
<div id="container">
<div class="inner">
<header>
<h1>DlangUI</h1>
<h2>Cross Platform GUI for D programming language</h2>
</header>
<section id="downloads" class="clearfix">
<a href="index.html" id="home" class="button"><span>Home</span></a>
<a href="api.html" id="home" class="button"><span>API Docs</span></a>
<a href="screenshots.html" id="home" class="button"><span>Screenshots</span></a>
<a href="https://github.com/buggins/dlangui/zipball/master" id="download-zip" class="button"><span>Download .zip</span></a>
<!--a href="https://github.com/buggins/dlangui/tarball/master" id="download-tar-gz" class="button"><span>Download .tar.gz</span></a-->
<a href="https://github.com/buggins/dlangui" id="view-on-github" class="button"><span>View on GitHub</span></a>
</section>
<hr>
<section id="main_content">
<h1>dlangui.core.logger</h1>
<!-- Generated by Ddoc from src\dlangui\core\logger.d -->
This module contains <u>logger</u> implementation.
<br><br>
<b>Synopsis:</b><br>
<pre class="d_code"><font color=blue>import</font> dlangui.core.<u>logger</u>;
<font color=green>// use stderror for logging
</font>setStderrLogger();
<font color=green>// set log level
</font>setLogLevel(LogLeve.Debug);
<font color=green>// log debug message
</font>Log.d(<font color=red>"mouse clicked at "</font>, x, <font color=red>","</font>, y);
<font color=green>// log error message
</font>Log.d(<font color=red>"exception while reading file"</font>, e);
</pre>
<br><br>
<b>License:</b><br>
Boost License 1.0
<br><br>
<b>Authors:</b><br>
Vadim Lopatin, coolreader.org@gmail.com<br><br>
</section>
<footer>
Dlangui is maintained by <a href="https://github.com/buggins">buggins</a><br>
This page was generated by <a href="http://pages.github.com">GitHub Pages</a>. Tactile theme by <a href="https://twitter.com/jasonlong">Jason Long</a>.
</footer>
</div>
</div>
</body>
</html>

335
menu.html Normal file
View File

@ -0,0 +1,335 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta charset='utf-8'>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<link href='https://fonts.googleapis.com/css?family=Chivo:900' rel='stylesheet' type='text/css'>
<link rel="stylesheet" type="text/css" href="stylesheets/stylesheet.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/pygment_trac.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/print.css" media="print" />
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<title>DlangUI - cross platform GUI library for D programming language - dlangui.widgets.menu</title>
</head>
<body>
<div id="container">
<div class="inner">
<header>
<h1>DlangUI</h1>
<h2>Cross Platform GUI for D programming language</h2>
</header>
<section id="downloads" class="clearfix">
<a href="index.html" id="home" class="button"><span>Home</span></a>
<a href="api.html" id="home" class="button"><span>API Docs</span></a>
<a href="screenshots.html" id="home" class="button"><span>Screenshots</span></a>
<a href="https://github.com/buggins/dlangui/zipball/master" id="download-zip" class="button"><span>Download .zip</span></a>
<!--a href="https://github.com/buggins/dlangui/tarball/master" id="download-tar-gz" class="button"><span>Download .tar.gz</span></a-->
<a href="https://github.com/buggins/dlangui" id="view-on-github" class="button"><span>View on GitHub</span></a>
</section>
<hr>
<section id="main_content">
<h1>dlangui.widgets.menu</h1>
<!-- Generated by Ddoc from src\dlangui\widgets\menu.d -->
This module contains <u>menu</u> widgets implementation.
<br><br>
MenuItem - <u>menu</u> item properties container - to hold hierarchy of <u>menu</u>.
MainMenu - main <u>menu</u> widget
PopupMenu - popup <u>menu</u> widget
<br><br>
<b>Synopsis:</b><br>
<pre class="d_code"><font color=blue>import</font> dlangui.widgets.popup;
</pre>
<br><br>
<b>License:</b><br>
Boost License 1.0
<br><br>
<b>Authors:</b><br>
Vadim Lopatin, coolreader.org@gmail.com<br><br>
<dl><dt><big><a name="MenuItemType"></a>enum <u>MenuItemType</u>: int;
</big></dt>
<dd>menu item type<br><br>
<dl><dt><big><a name="MenuItemType.Normal"></a><u>Normal</u></big></dt>
<dd>normal menu item<br><br>
</dd>
<dt><big><a name="MenuItemType.Check"></a><u>Check</u></big></dt>
<dd>menu item - checkbox<br><br>
</dd>
<dt><big><a name="MenuItemType.Radio"></a><u>Radio</u></big></dt>
<dd>menu item - radio button<br><br>
</dd>
<dt><big><a name="MenuItemType.Separator"></a><u>Separator</u></big></dt>
<dd>menu separator (horizontal line)<br><br>
</dd>
<dt><big><a name="MenuItemType.Submenu"></a><u>Submenu</u></big></dt>
<dd>submenu - contains child items<br><br>
</dd>
</dl>
</dd>
<dt><big><a name="MenuItemClickHandler"></a>interface <u>MenuItemClickHandler</u>;
</big></dt>
<dd>interface to handle menu item click<br><br>
</dd>
<dt><big><a name="MenuItemActionHandler"></a>interface <u>MenuItemActionHandler</u>;
</big></dt>
<dd>interface to handle menu item action<br><br>
</dd>
<dt><big><a name="MenuItem"></a>class <u>MenuItem</u>;
</big></dt>
<dd>menu item properties<br><br>
<dl><dt><big><a name="MenuItem.onMenuItemClick"></a>Signal!MenuItemClickHandler <u>onMenuItemClick</u>;
</big></dt>
<dd>handle menu item click (parameter is MenuItem)<br><br>
</dd>
<dt><big><a name="MenuItem.onMenuItemAction"></a>Signal!MenuItemActionHandler <u>onMenuItemAction</u>;
</big></dt>
<dd>handle menu item click action (parameter is Action)<br><br>
</dd>
<dt><big><a name="MenuItem.id"></a>@property int <u>id</u>();
</big></dt>
<dd>item action <u>id</u>, 0 if no action<br><br>
</dd>
<dt><big><a name="MenuItem.subitemCount"></a>@property int <u>subitemCount</u>();
</big></dt>
<dd>returns count of submenu items<br><br>
</dd>
<dt><big><a name="MenuItem.subitemIndex"></a>@property int <u>subitemIndex</u>(MenuItem <i>item</i>);
</big></dt>
<dd>returns subitem index for <i>item</i>, -1 if <i>item</i> is not direct subitem of this<br><br>
</dd>
<dt><big><a name="MenuItem.subitem"></a>MenuItem <u>subitem</u>(int <i>index</i>);
</big></dt>
<dd>returns submenu item by <i>index</i><br><br>
</dd>
<dt><big><a name="MenuItem.type"></a>@property MenuItem <u>type</u>(MenuItemType <u>type</u>);
</big></dt>
<dd>set new MenuItemType<br><br>
</dd>
<dt><big><a name="MenuItem.checked"></a>@property bool <u>checked</u>();
</big></dt>
<dd>get check for checkbox or radio button item<br><br>
</dd>
<dt><big><a name="MenuItem.checkRadioButton"></a>protected void <u>checkRadioButton</u>(int <i>index</i>);
</big></dt>
<dd>check radio button with specified <i>index</i>, uncheck other radio buttons in group (group consists of sequence of radio button items; other item type - end of group)<br><br>
</dd>
<dt><big><a name="MenuItem.checked"></a>@property MenuItem <u>checked</u>(bool <i>flg</i>);
</big></dt>
<dd>set check for checkbox or radio button item<br><br>
</dd>
<dt><big><a name="MenuItem.getHotkey"></a>dchar <u>getHotkey</u>();
</big></dt>
<dd>get hotkey character from label (e.g. 'F' for item labeled "&File"), 0 if no hotkey<br><br>
</dd>
<dt><big><a name="MenuItem.findSubitemByHotkey"></a>int <u>findSubitemByHotkey</u>(dchar <i>ch</i>);
</big></dt>
<dd>find subitem by hotkey character, returns subitem index, -1 if not found<br><br>
</dd>
<dt><big><a name="MenuItem.add"></a>MenuItem <u>add</u>(MenuItem <i>subitem</i>);
</big></dt>
<dd>adds submenu item<br><br>
</dd>
<dt><big><a name="MenuItem.add"></a>MenuItem <u>add</u>(Action <i>subitemAction</i>);
</big></dt>
<dd>adds submenu item from action<br><br>
</dd>
<dt><big><a name="MenuItem.acceleratorText"></a>@property dstring <u>acceleratorText</u>();
</big></dt>
<dd>returns text description for first accelerator of action; <b>null</b> if no accelerators<br><br>
</dd>
<dt><big><a name="MenuItem.isSubmenu"></a>@property bool <u>isSubmenu</u>();
</big></dt>
<dd>returns <b>true</b> if item is submenu (contains subitems)<br><br>
</dd>
<dt><big><a name="MenuItem.label"></a>@property UIString <u>label</u>();
</big></dt>
<dd>returns item <u>label</u><br><br>
</dd>
<dt><big><a name="MenuItem.action"></a>const @property const(Action) <u>action</u>();
</big></dt>
<dd>returns item <u>action</u><br><br>
</dd>
<dt><big><a name="MenuItem.action"></a>@property MenuItem <u>action</u>(Action <i>a</i>);
</big></dt>
<dd>sets item <u>action</u><br><br>
</dd>
<dt><big><a name="MenuItem.enabled"></a>@property bool <u>enabled</u>();
</big></dt>
<dd>menu item Enabled flag<br><br>
</dd>
<dt><big><a name="MenuItem.enabled"></a>@property MenuItem <u>enabled</u>(bool <u>enabled</u>);
</big></dt>
<dd>menu item Enabled flag<br><br>
</dd>
<dt><big><a name="MenuItem.onMenuItem"></a>Signal!(void, MenuItem) <u>onMenuItem</u>;
</big></dt>
<dd>handle menu item click<br><br>
</dd>
<dt><big><a name="MenuItem.onBeforeOpeningSubmenu"></a>Signal!(bool, MenuItem) <u>onBeforeOpeningSubmenu</u>;
</big></dt>
<dd>prepare for opening of submenu, return <b>true</b> if opening is allowed<br><br>
</dd>
</dl>
</dd>
<dt><big><a name="MenuItemWidget"></a>class <u>MenuItemWidget</u>: <u>dlangui.widgets.widget.WidgetGroup</u>;
</big></dt>
<dd>widget to draw menu item<br><br>
<dl><dt><big><a name="MenuItemWidget.measure"></a>void <u>measure</u>(int <i>parentWidth</i>, int <i>parentHeight</i>);
</big></dt>
<dd>Measure widget according to desired width and height constraints. (Step 1 of two phase layout).<br><br>
</dd>
<dt><big><a name="MenuItemWidget.layout"></a>void <u>layout</u>(Rect <i>rc</i>);
</big></dt>
<dd>Set widget rectangle to specified value and <u>layout</u> widget contents. (Step 2 of two phase <u>layout</u>).<br><br>
</dd>
<dt><big><a name="MenuItemWidget.onDraw"></a>void <u>onDraw</u>(DrawBuf <i>buf</i>);
</big></dt>
<dd>Draw widget at its position to buffer<br><br>
</dd>
</dl>
</dd>
<dt><big><a name="MenuWidgetBase"></a>class <u>MenuWidgetBase</u>: <u>dlangui.widgets.lists.ListWidget</u>;
</big></dt>
<dd>base class for menus<br><br>
<dl><dt><big><a name="MenuWidgetBase.onMenuItemClickListener"></a>Signal!MenuItemClickHandler <u>onMenuItemClickListener</u>;
</big></dt>
<dd>menu item click listener<br><br>
</dd>
<dt><big><a name="MenuWidgetBase.onMenuItemActionListener"></a>Signal!MenuItemActionHandler <u>onMenuItemActionListener</u>;
</big></dt>
<dd>menu item action listener<br><br>
</dd>
<dt><big><a name="MenuWidgetBase.measure"></a>void <u>measure</u>(int <i>parentWidth</i>, int <i>parentHeight</i>);
</big></dt>
<dd>Measure widget according to desired width and height constraints. (Step 1 of two phase layout).<br><br>
</dd>
<dt><big><a name="MenuWidgetBase.selectionChanged"></a>protected void <u>selectionChanged</u>(int <i>index</i>, int <i>previouslySelectedItem</i> = -1);
</big></dt>
<dd>override to handle change of selection<br><br>
</dd>
<dt><big><a name="MenuWidgetBase.itemClicked"></a>protected void <u>itemClicked</u>(int <i>index</i>);
</big></dt>
<dd>override to handle mouse up on item<br><br>
</dd>
<dt><big><a name="MenuWidgetBase.thisPopup"></a>@property PopupWidget <u>thisPopup</u>();
</big></dt>
<dd>returns popup this menu is located in<br><br>
</dd>
<dt><big><a name="MenuWidgetBase.onKeyEvent"></a>bool <u>onKeyEvent</u>(KeyEvent <i>event</i>);
</big></dt>
<dd>list navigation using keys<br><br>
</dd>
</dl>
</dd>
<dt><big><a name="MainMenu"></a>class <u>MainMenu</u>: <u>dlangui.widgets.menu.MenuWidgetBase</u>;
</big></dt>
<dd>main menu (horizontal)<br><br>
<dl><dt><big><a name="MainMenu.wantsKeyTracking"></a>@property bool <u>wantsKeyTracking</u>();
</big></dt>
<dd>override and return <b>true</b> to track key events even when not focused<br><br>
</dd>
<dt><big><a name="MainMenu.textFlags"></a>@property uint <u>textFlags</u>();
</big></dt>
<dd>get text flags (bit set of TextFlag enum values)<br><br>
</dd>
<dt><big><a name="MainMenu.activated"></a>@property bool <u>activated</u>();
</big></dt>
<dd>return <b>true</b> if main menu is <u>activated</u> (focused or has open submenu)<br><br>
</dd>
<dt><big><a name="MainMenu.activate"></a>void <u>activate</u>();
</big></dt>
<dd>bring focus to main menu, if not yet activated<br><br>
</dd>
<dt><big><a name="MainMenu.deactivate"></a>void <u>deactivate</u>(bool <i>force</i> = false);
</big></dt>
<dd>close and remove focus, if activated<br><br>
</dd>
<dt><big><a name="MainMenu.toggle"></a>bool <u>toggle</u>();
</big></dt>
<dd>activate or deactivate main menu, return <b>true</b> if it has been activated<br><br>
</dd>
<dt><big><a name="MainMenu.handleFocusChange"></a>protected void <u>handleFocusChange</u>(bool <i>focused</i>);
</big></dt>
<dd>override to handle focus changes<br><br>
</dd>
<dt><big><a name="MainMenu.onKeyEvent"></a>bool <u>onKeyEvent</u>(KeyEvent <i>event</i>);
</big></dt>
<dd>list navigation using keys<br><br>
</dd>
</dl>
</dd>
<dt><big><a name="PopupMenu"></a>class <u>PopupMenu</u>: <u>dlangui.widgets.menu.MenuWidgetBase</u>;
</big></dt>
<dd>popup menu widget (vertical layout of items)<br><br>
</dd>
</dl>
</section>
<footer>
Dlangui is maintained by <a href="https://github.com/buggins">buggins</a><br>
This page was generated by <a href="http://pages.github.com">GitHub Pages</a>. Tactile theme by <a href="https://twitter.com/jasonlong">Jason Long</a>.
</footer>
</div>
</div>
</body>
</html>

1
params.json Normal file

File diff suppressed because one or more lines are too long

290
platform.html Normal file
View File

@ -0,0 +1,290 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta charset='utf-8'>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<link href='https://fonts.googleapis.com/css?family=Chivo:900' rel='stylesheet' type='text/css'>
<link rel="stylesheet" type="text/css" href="stylesheets/stylesheet.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/pygment_trac.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/print.css" media="print" />
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<title>DlangUI - cross platform GUI library for D programming language - dlangui.platforms.common.platform</title>
</head>
<body>
<div id="container">
<div class="inner">
<header>
<h1>DlangUI</h1>
<h2>Cross Platform GUI for D programming language</h2>
</header>
<section id="downloads" class="clearfix">
<a href="index.html" id="home" class="button"><span>Home</span></a>
<a href="api.html" id="home" class="button"><span>API Docs</span></a>
<a href="screenshots.html" id="home" class="button"><span>Screenshots</span></a>
<a href="https://github.com/buggins/dlangui/zipball/master" id="download-zip" class="button"><span>Download .zip</span></a>
<!--a href="https://github.com/buggins/dlangui/tarball/master" id="download-tar-gz" class="button"><span>Download .tar.gz</span></a-->
<a href="https://github.com/buggins/dlangui" id="view-on-github" class="button"><span>View on GitHub</span></a>
</section>
<hr>
<section id="main_content">
<h1>dlangui.platforms.common.platform</h1>
<!-- Generated by Ddoc from src\dlangui\platforms\common\platform.d -->
This module contains common Plaform definitions.
<br><br>
Platform is abstraction layer for application.
<br><br>
<br><br>
<b>Synopsis:</b><br>
<pre class="d_code"><font color=blue>import</font> dlangui.platforms.common.<u>platform</u>;
</pre>
<br><br>
<b>License:</b><br>
Boost License 1.0
<br><br>
<b>Authors:</b><br>
Vadim Lopatin, coolreader.org@gmail.com<br><br>
<dl><dt><big><a name="WindowFlag"></a>enum <u>WindowFlag</u>: uint;
</big></dt>
<dd>window creation flags<br><br>
<dl><dt><big><a name="WindowFlag.Resizable"></a><u>Resizable</u></big></dt>
<dd>window can be resized<br><br>
</dd>
<dt><big><a name="WindowFlag.Fullscreen"></a><u>Fullscreen</u></big></dt>
<dd>window should be shown in fullscreen mode<br><br>
</dd>
<dt><big><a name="WindowFlag.Modal"></a><u>Modal</u></big></dt>
<dd>modal window - grabs input focus<br><br>
</dd>
</dl>
</dd>
<dt><big><a name="Window"></a>abstract class <u>Window</u>;
</big></dt>
<dd><u>Window</u> abstraction layer. Widgets can be shown only inside window.
<br><br>
<dl><dt><big><a name="Window.windowCaption"></a>abstract @property dstring <u>windowCaption</u>();
</big></dt>
<dd>returns window caption<br><br>
</dd>
<dt><big><a name="Window.windowCaption"></a>abstract @property void <u>windowCaption</u>(dstring <i>caption</i>);
</big></dt>
<dd>sets window <i>caption</i><br><br>
</dd>
<dt><big><a name="Window.windowIcon"></a>abstract @property void <u>windowIcon</u>(DrawBufRef <i>icon</i>);
</big></dt>
<dd>sets window <i>icon</i><br><br>
</dd>
<dt><big><a name="Window.requestLayout"></a>void <u>requestLayout</u>();
</big></dt>
<dd>requests layout for main widget and popups<br><br>
</dd>
<dt><big><a name="Window.showPopup"></a>PopupWidget <u>showPopup</u>(Widget <i>content</i>, Widget <i>anchor</i> = null, uint <i>alignment</i> = PopupAlign.Center, int <i>x</i> = 0, int <i>y</i> = 0);
</big></dt>
<dd>show new popup<br><br>
</dd>
<dt><big><a name="Window.removePopup"></a>bool <u>removePopup</u>(PopupWidget <i>popup</i>);
</big></dt>
<dd>remove <i>popup</i><br><br>
</dd>
<dt><big><a name="Window.isChild"></a>bool <u>isChild</u>(Widget <i>w</i>);
</big></dt>
<dd>returns <b>true</b> if widget is child of either main widget or one of popups<br><br>
</dd>
<dt><big><a name="Window.scheduleAnimation"></a>void <u>scheduleAnimation</u>();
</big></dt>
<dd>after drawing, call to schedule redraw if animation is active<br><br>
</dd>
<dt><big><a name="Window.focusedWidget"></a>@property Widget <u>focusedWidget</u>();
</big></dt>
<dd>returns current focused widget<br><br>
</dd>
<dt><big><a name="Window.setFocus"></a>Widget <u>setFocus</u>(Widget <i>newFocus</i>);
</big></dt>
<dd>change focus to widget<br><br>
</dd>
<dt><big><a name="Window.dispatchKeyEvent"></a>bool <u>dispatchKeyEvent</u>(KeyEvent <i>event</i>);
</big></dt>
<dd>dispatch keyboard <i>event</i><br><br>
</dd>
<dt><big><a name="Window._mouseTrackingWidgets"></a>protected Widget[] <u>_mouseTrackingWidgets</u>;
</big></dt>
<dd>widget which tracks Move events<br><br>
</dd>
<dt><big><a name="Window._mouseCaptureWidget"></a>protected Widget <u>_mouseCaptureWidget</u>;
</big></dt>
<dd>widget which tracks all events after processed ButtonDown<br><br>
</dd>
<dt><big><a name="Window._mouseCaptureFocusedOutTrackMovements"></a>protected bool <u>_mouseCaptureFocusedOutTrackMovements</u>;
</big></dt>
<dd>does current capture widget want to receive move events even if pointer left it<br><br>
</dd>
<dt><big><a name="Window.isMouseCaptured"></a>bool <u>isMouseCaptured</u>();
</big></dt>
<dd>returns <b>true</b> if mouse is currently captured<br><br>
</dd>
<dt><big><a name="Window.dispatchMouseEvent"></a>bool <u>dispatchMouseEvent</u>(MouseEvent <i>event</i>);
</big></dt>
<dd>dispatch mouse <i>event</i> to window content widgets<br><br>
</dd>
<dt><big><a name="Window.checkUpdateNeeded"></a>protected void <u>checkUpdateNeeded</u>(Widget <i>root</i>, ref bool <i>needDraw</i>, ref bool <i>needLayout</i>, ref bool <i>animationActive</i>);
</big></dt>
<dd>checks content widgets for necessary redraw and/or layout<br><br>
</dd>
<dt><big><a name="Window.setCursorType"></a>protected void <u>setCursorType</u>(uint <i>cursorType</i>);
</big></dt>
<dd>sets cursor type for window<br><br>
</dd>
<dt><big><a name="Window.checkUpdateNeeded"></a>bool <u>checkUpdateNeeded</u>(ref bool <i>needDraw</i>, ref bool <i>needLayout</i>, ref bool <i>animationActive</i>);
</big></dt>
<dd>checks content widgets for necessary redraw and/or layout<br><br>
</dd>
<dt><big><a name="Window.update"></a>void <u>update</u>(bool <i>force</i> = false);
</big></dt>
<dd>requests <u>update</u> for window (unless <i>force</i> is <b>true</b>, <u>update</u> will be performed only if layout, redraw or animation is required).<br><br>
</dd>
<dt><big><a name="Window.invalidate"></a>abstract void <u>invalidate</u>();
</big></dt>
<dd>request window redraw<br><br>
</dd>
<dt><big><a name="Window.close"></a>abstract void <u>close</u>();
</big></dt>
<dd><u>close</u> window<br><br>
</dd>
</dl>
</dd>
<dt><big><a name="Platform"></a>abstract class <u>Platform</u>;
</big></dt>
<dd><u>Platform</u> abstraction layer.
<br><br>
Represents application.<br><br>
<dl><dt><big><a name="Platform.createWindow"></a>abstract Window <u>createWindow</u>(dstring <i>windowCaption</i>, Window <i>parent</i>, uint <i>flags</i> = WindowFlag.Resizable);
</big></dt>
<dd>create window
<br><br>
<b>Args:</b><br>
<i>windowCaption</i> = window caption text
<i>parent</i> = <i>parent</i> Window, or <b>null</b> if no <i>parent</i>
<i>flags</i> = WindowFlag bit set, combination of Resizable, Modal, Fullscreen
<br><br>
Window w/o Resizable nor Fullscreen will be created with size based on measurement of its content widget<br><br>
</dd>
<dt><big><a name="Platform.closeWindow"></a>abstract void <u>closeWindow</u>(Window <i>w</i>);
</big></dt>
<dd>close window
<br><br>
Closes window earlier created with createWindow()<br><br>
</dd>
<dt><big><a name="Platform.enterMessageLoop"></a>abstract int <u>enterMessageLoop</u>();
</big></dt>
<dd>Starts application message loop.
<br><br>
When returned from this method, application is shutting down.<br><br>
</dd>
<dt><big><a name="Platform.getClipboardText"></a>abstract dstring <u>getClipboardText</u>(bool <i>mouseBuffer</i> = false);
</big></dt>
<dd>retrieves text from clipboard (when <i>mouseBuffer</i> == <b>true</b>, use mouse selection clipboard - under linux)<br><br>
</dd>
<dt><big><a name="Platform.setClipboardText"></a>abstract void <u>setClipboardText</u>(dstring <i>text</i>, bool <i>mouseBuffer</i> = false);
</big></dt>
<dd>sets <i>text</i> to clipboard (when <i>mouseBuffer</i> == <b>true</b>, use mouse selection clipboard - under linux)<br><br>
</dd>
<dt><big><a name="Platform.requestLayout"></a>abstract void <u>requestLayout</u>();
</big></dt>
<dd>calls request layout for all windows<br><br>
</dd>
<dt><big><a name="Platform.uiLanguage"></a>@property string <u>uiLanguage</u>();
</big></dt>
<dd>returns currently selected UI language code<br><br>
</dd>
<dt><big><a name="Platform.uiLanguage"></a>@property Platform <u>uiLanguage</u>(string <i>langCode</i>);
</big></dt>
<dd>set UI language (e.g. "en", "fr", "ru") - will relayout content of all windows if language has been changed<br><br>
</dd>
<dt><big><a name="Platform.uiTheme"></a>@property Platform <u>uiTheme</u>(string <i>themeResourceId</i>);
</big></dt>
<dd>sets application UI theme - will relayout content of all windows if theme has been changed<br><br>
</dd>
<dt><big><a name="Platform.resourceDirs"></a>@property string[] <u>resourceDirs</u>();
</big></dt>
<dd>returns list of resource directories<br><br>
</dd>
<dt><big><a name="Platform.resourceDirs"></a>@property Platform <u>resourceDirs</u>(string[] <i>dirs</i>);
</big></dt>
<dd>set list of directories to load resources from<br><br>
</dd>
</dl>
</dd>
<dt><big><a name="platform"></a>@property Platform <u>platform</u>();
</big></dt>
<dd>get current <u>platform</u> object instance<br><br>
</dd>
<dt><big><a name="APP_ENTRY_POINT"></a>template <u>APP_ENTRY_POINT</u>()</big></dt>
<dd>put "mixin <u>APP_ENTRY_POINT</u>;" to main module of your dlangui based app<br><br>
<dl><dt><big><a name="APP_ENTRY_POINT.WinMain"></a>int <u>WinMain</u>(void* <i>hInstance</i>, void* <i>hPrevInstance</i>, char* <i>lpCmdLine</i>, int <i>nCmdShow</i>);
</big></dt>
<dd>workaround for link issue when <u>WinMain</u> is located in library<br><br>
</dd>
</dl>
</dd>
</dl>
</section>
<footer>
Dlangui is maintained by <a href="https://github.com/buggins">buggins</a><br>
This page was generated by <a href="http://pages.github.com">GitHub Pages</a>. Tactile theme by <a href="https://twitter.com/jasonlong">Jason Long</a>.
</footer>
</div>
</div>
</body>
</html>

173
popup.html Normal file
View File

@ -0,0 +1,173 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta charset='utf-8'>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<link href='https://fonts.googleapis.com/css?family=Chivo:900' rel='stylesheet' type='text/css'>
<link rel="stylesheet" type="text/css" href="stylesheets/stylesheet.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/pygment_trac.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/print.css" media="print" />
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<title>DlangUI - cross platform GUI library for D programming language - dlangui.widgets.popup</title>
</head>
<body>
<div id="container">
<div class="inner">
<header>
<h1>DlangUI</h1>
<h2>Cross Platform GUI for D programming language</h2>
</header>
<section id="downloads" class="clearfix">
<a href="index.html" id="home" class="button"><span>Home</span></a>
<a href="api.html" id="home" class="button"><span>API Docs</span></a>
<a href="screenshots.html" id="home" class="button"><span>Screenshots</span></a>
<a href="https://github.com/buggins/dlangui/zipball/master" id="download-zip" class="button"><span>Download .zip</span></a>
<!--a href="https://github.com/buggins/dlangui/tarball/master" id="download-tar-gz" class="button"><span>Download .tar.gz</span></a-->
<a href="https://github.com/buggins/dlangui" id="view-on-github" class="button"><span>View on GitHub</span></a>
</section>
<hr>
<section id="main_content">
<h1>dlangui.widgets.popup</h1>
<!-- Generated by Ddoc from src\dlangui\widgets\popup.d -->
This module contains <u>popup</u> widgets implementation.
<br><br>
Popups appear above other widgets inside window.
<br><br>
Useful for <u>popup</u> menus, notification popups, etc.
<br><br>
<b>Synopsis:</b><br>
<pre class="d_code"><font color=blue>import</font> dlangui.widgets.<u>popup</u>;
</pre>
<br><br>
<b>License:</b><br>
Boost License 1.0
<br><br>
<b>Authors:</b><br>
Vadim Lopatin, coolreader.org@gmail.com<br><br>
<dl><dt><big><a name="PopupAlign"></a>enum <u>PopupAlign</u>: uint;
</big></dt>
<dd>popup alignment option flags<br><br>
<dl><dt><big><a name="PopupAlign.Center"></a><u>Center</u></big></dt>
<dd>center popup around anchor widget center<br><br>
</dd>
<dt><big><a name="PopupAlign.Below"></a><u>Below</u></big></dt>
<dd>place popup below anchor widget close to lower bound<br><br>
</dd>
<dt><big><a name="PopupAlign.Right"></a><u>Right</u></big></dt>
<dd>place popup below anchor widget close to right bound (when no space enough, align near left bound)<br><br>
</dd>
<dt><big><a name="PopupAlign.Point"></a><u>Point</u></big></dt>
<dd>align to specified point<br><br>
</dd>
<dt><big><a name="PopupAlign.FitAnchorSize"></a><u>FitAnchorSize</u></big></dt>
<dd>if popup content size is less than anchor's size, increase it to anchor size<br><br>
</dd>
</dl>
</dd>
<dt><big><a name="PopupFlags"></a>enum <u>PopupFlags</u>: uint;
</big></dt>
<dd>popup behavior flags - for PopupWidget.flags property<br><br>
<dl><dt><big><a name="PopupFlags.CloseOnClickOutside"></a><u>CloseOnClickOutside</u></big></dt>
<dd>close popup when mouse button clicked outside of its bounds<br><br>
</dd>
</dl>
</dd>
<dt><big><a name="OnPopupCloseHandler"></a>interface <u>OnPopupCloseHandler</u>;
</big></dt>
<dd>interface - slot for onPopupCloseListener<br><br>
</dd>
<dt><big><a name="PopupWidget"></a>class <u>PopupWidget</u>: <u>dlangui.widgets.layouts.LinearLayout</u>;
</big></dt>
<dd>popup widget container<br><br>
<dl><dt><big><a name="PopupWidget.onPopupCloseListener"></a>Signal!OnPopupCloseHandler <u>onPopupCloseListener</u>;
</big></dt>
<dd>popup close signal<br><br>
</dd>
<dt><big><a name="PopupWidget.flags"></a>@property uint <u>flags</u>();
</big></dt>
<dd>popup close listener (called right before closing)
<br><br>
set popup close listener (to call right before closing)
<br><br>
returns popup behavior <u>flags</u> (combination of PopupFlags)<br><br>
</dd>
<dt><big><a name="PopupWidget.flags"></a>@property PopupWidget <u>flags</u>(uint <u>flags</u>);
</big></dt>
<dd>set popup behavior <u>flags</u> (combination of PopupFlags)<br><br>
</dd>
<dt><big><a name="PopupWidget.anchor"></a>@property ref PopupAnchor <u>anchor</u>();
</big></dt>
<dd>access to popup <u>anchor</u><br><br>
</dd>
<dt><big><a name="PopupWidget.modal"></a>bool <u>modal</u>();
</big></dt>
<dd>returns <b>true</b> if popup is <u>modal</u><br><br>
</dd>
<dt><big><a name="PopupWidget.modal"></a>PopupWidget <u>modal</u>(bool <u>modal</u>);
</big></dt>
<dd>set modality flag<br><br>
</dd>
<dt><big><a name="PopupWidget.measure"></a>void <u>measure</u>(int <i>parentWidth</i>, int <i>parentHeight</i>);
</big></dt>
<dd>Measure widget according to desired width and height constraints. (Step 1 of two phase layout).<br><br>
</dd>
<dt><big><a name="PopupWidget.close"></a>void <u>close</u>();
</big></dt>
<dd><u>close</u> and destroy popup<br><br>
</dd>
<dt><big><a name="PopupWidget.onClose"></a>void <u>onClose</u>();
</big></dt>
<dd>just call on close listener<br><br>
</dd>
<dt><big><a name="PopupWidget.layout"></a>void <u>layout</u>(Rect <i>rc</i>);
</big></dt>
<dd>Set widget rectangle to specified value and <u>layout</u> widget contents. (Step 2 of two phase <u>layout</u>).<br><br>
</dd>
<dt><big><a name="PopupWidget.onMouseEventOutside"></a>bool <u>onMouseEventOutside</u>(MouseEvent <i>event</i>);
</big></dt>
<dd>called for mouse activity outside shown popup bounds<br><br>
</dd>
</dl>
</dd>
</dl>
</section>
<footer>
Dlangui is maintained by <a href="https://github.com/buggins">buggins</a><br>
This page was generated by <a href="http://pages.github.com">GitHub Pages</a>. Tactile theme by <a href="https://twitter.com/jasonlong">Jason Long</a>.
</footer>
</div>
</div>
</body>
</html>

165
resources.html Normal file
View File

@ -0,0 +1,165 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta charset='utf-8'>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<link href='https://fonts.googleapis.com/css?family=Chivo:900' rel='stylesheet' type='text/css'>
<link rel="stylesheet" type="text/css" href="stylesheets/stylesheet.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/pygment_trac.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/print.css" media="print" />
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<title>DlangUI - cross platform GUI library for D programming language - dlangui.graphics.resources</title>
</head>
<body>
<div id="container">
<div class="inner">
<header>
<h1>DlangUI</h1>
<h2>Cross Platform GUI for D programming language</h2>
</header>
<section id="downloads" class="clearfix">
<a href="index.html" id="home" class="button"><span>Home</span></a>
<a href="api.html" id="home" class="button"><span>API Docs</span></a>
<a href="screenshots.html" id="home" class="button"><span>Screenshots</span></a>
<a href="https://github.com/buggins/dlangui/zipball/master" id="download-zip" class="button"><span>Download .zip</span></a>
<!--a href="https://github.com/buggins/dlangui/tarball/master" id="download-tar-gz" class="button"><span>Download .tar.gz</span></a-->
<a href="https://github.com/buggins/dlangui" id="view-on-github" class="button"><span>View on GitHub</span></a>
</section>
<hr>
<section id="main_content">
<h1>dlangui.graphics.resources</h1>
<!-- Generated by Ddoc from src\dlangui\graphics\resources.d -->
This module contains resource management and drawables implementation.
<br><br>
imageCache is RAM cache of decoded images (as DrawBuf).
<br><br>
drawableCache is cache of Drawables.
<br><br>
Supports nine-patch PNG images in .9.png files (like in Android).
<br><br>
Supports state drawables using XML files similar to ones in Android.
<br><br>
<b>Synopsis:</b><br>
<pre class="d_code"><font color=blue>import</font> dlangui.graphics.<u>resources</u>;
</pre>
<br><br>
<b>License:</b><br>
Boost License 1.0
<br><br>
<b>Authors:</b><br>
Vadim Lopatin, coolreader.org@gmail.com<br><br>
<dl><dt><big><a name="FrameDrawable"></a>class <u>FrameDrawable</u>: <u>dlangui.graphics.resources.Drawable</u>;
</big></dt>
<dd>solid borders (may be of different width) and, optionally, solid inner area<br><br>
</dd>
<dt><big><a name="decodeHexColor"></a>static uint <u>decodeHexColor</u>(string <i>s</i>);
</big></dt>
<dd>decode color string #AARRGGBB, e.g. #5599AA<br><br>
</dd>
<dt><big><a name="decodeDimension"></a>static uint <u>decodeDimension</u>(string <i>s</i>);
</big></dt>
<dd>decode size string, e.g. 1px or 2 or 3pt<br><br>
</dd>
<dt><big><a name="createColorDrawable"></a>static Drawable <u>createColorDrawable</u>(string <i>s</i>);
</big></dt>
<dd>decode solid color / gradient / frame drawable from string like #AARRGGBB, e.g. #5599AA
<br><br>
<b>SolidFillDrawable:</b><br>
#AARRGGBB - e.g. #8090A0 or #80ffffff
<br><br>
<b>FrameDrawable:</b><br>
#frameColor,frameWidth[,#middleColor]
<br><br>
or #frameColor,leftBorderWidth,topBorderWidth,rightBorderWidth,bottomBorderWidth[,#middleColor]
<br><br>
e.g. #000000,2,#C0FFFFFF - black frame of width 2 with 75% transparent white middle
<br><br>
e.g. #0000FF,2,3,4,5,#FFFFFF - blue frame with left,top,right,bottom borders of width 2,3,4,5 and white inner area<br><br>
</dd>
<dt><big><a name="extractStateFlags"></a>void <u>extractStateFlags</u>(ref string[string] <i>attr</i>, ref uint <i>stateMask</i>, ref uint <i>stateValue</i>);
</big></dt>
<dd>converts XML attribute name to State (see http://developer.android.com/guide/topics/resources/drawable-resource.html#StateList)<br><br>
</dd>
<dt><big><a name="StateDrawable"></a>class <u>StateDrawable</u>: <u>dlangui.graphics.resources.Drawable</u>;
</big></dt>
<dd>Drawable which is drawn depending on state (see http://developer.android.com/guide/topics/resources/drawable-resource.html#StateList)<br><br>
<dl><dt><big><a name="StateDrawable.parseList4"></a>bool <u>parseList4</u>(T)(string <i>value</i>, ref T[4] <i>items</i>);
</big></dt>
<dd>parse 4 comma delimited integers<br><br>
</dd>
<dt><big><a name="StateDrawable.load"></a>bool <u>load</u>(string <i>filename</i>);
</big></dt>
<dd><u>load</u> from XML file<br><br>
</dd>
</dl>
</dd>
<dt><big><a name="ImageCache"></a>class <u>ImageCache</u>;
</big></dt>
<dd>decoded raster images cache (png, jpeg) -- access by filenames<br><br>
<dl><dt><big><a name="ImageCache.get"></a>ref DrawBufRef <u>get</u>(string <i>filename</i>);
</big></dt>
<dd><u>get</u> and cache image<br><br>
</dd>
<dt><big><a name="ImageCache.get"></a>ref DrawBufRef <u>get</u>(string <i>filename</i>, ref ColorTransform <i>transform</i>);
</big></dt>
<dd><u>get</u> and cache color transformed image<br><br>
</dd>
</dl>
</dd>
<dt><big><a name="imageCache"></a>@property ImageCache <u>imageCache</u>();
</big></dt>
<dd>image cache singleton<br><br>
</dd>
<dt><big><a name="imageCache"></a>@property void <u>imageCache</u>(ImageCache <i>cache</i>);
</big></dt>
<dd>image <i>cache</i> singleton<br><br>
</dd>
<dt><big><a name="drawableCache"></a>@property DrawableCache <u>drawableCache</u>();
</big></dt>
<dd>drawable cache singleton<br><br>
</dd>
<dt><big><a name="drawableCache"></a>@property void <u>drawableCache</u>(DrawableCache <i>cache</i>);
</big></dt>
<dd>drawable <i>cache</i> singleton<br><br>
</dd>
</dl>
</section>
<footer>
Dlangui is maintained by <a href="https://github.com/buggins">buggins</a><br>
This page was generated by <a href="http://pages.github.com">GitHub Pages</a>. Tactile theme by <a href="https://twitter.com/jasonlong">Jason Long</a>.
</footer>
</div>
</div>
</body>
</html>

66
screenshots.html Normal file
View File

@ -0,0 +1,66 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta charset='utf-8'>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<link href='https://fonts.googleapis.com/css?family=Chivo:900' rel='stylesheet' type='text/css'>
<link rel="stylesheet" type="text/css" href="stylesheets/stylesheet.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/pygment_trac.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/print.css" media="print" />
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<title>DlangUI - cross platform GUI library for D programming language - screenshots</title>
</head>
<body>
<div id="container">
<div class="inner">
<header>
<h1>DlangUI</h1>
<h2>Cross Platform GUI for D programming language</h2>
</header>
<section id="downloads" class="clearfix">
<a href="index.html" id="home" class="button"><span>Home</span></a>
<a href="api.html" id="home" class="button"><span>API Docs</span></a>
<a href="screenshots.html" id="home" class="button"><span>Screenshots</span></a>
<a href="https://github.com/buggins/dlangui/zipball/master" id="download-zip" class="button"><span>Download .zip</span></a>
<!--a href="https://github.com/buggins/dlangui/tarball/master" id="download-tar-gz" class="button"><span>Download .tar.gz</span></a-->
<a href="https://github.com/buggins/dlangui" id="view-on-github" class="button"><span>View on GitHub</span></a>
</section>
<hr>
<section id="main_content">
<h1>screenshots</h1>
<!-- Generated by Ddoc from src\screenshots.d -->
<hr/>
<h2>Buttons demo</h2>
<img src="screenshots/screenshot1.png"/>
<hr/>
<h2>Editors demo</h2>
<img src="screenshots/screenshot2.png"/>
<hr/>
<h2>Table layout</h2>
<img src="screenshots/screenshot3.png"/>
<hr/>
<h2>Various widgets, vertical and horizontal layouts</h2>
<img src="screenshots/screenshot4.png"/>
<hr/>
<h2>Animation, i18n, theme with bigger fonts and dark main menu</h2>
<img src="screenshots/screenshot5.png"/>
<hr/>
</section>
<footer>
Dlangui is maintained by <a href="https://github.com/buggins">buggins</a><br>
This page was generated by <a href="http://pages.github.com">GitHub Pages</a>. Tactile theme by <a href="https://twitter.com/jasonlong">Jason Long</a>.
</footer>
</div>
</div>
</body>
</html>

BIN
screenshots/screenshot1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

BIN
screenshots/screenshot2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

BIN
screenshots/screenshot3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

BIN
screenshots/screenshot4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

BIN
screenshots/screenshot5.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 315 KiB

91
scroll.html Normal file
View File

@ -0,0 +1,91 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta charset='utf-8'>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<link href='https://fonts.googleapis.com/css?family=Chivo:900' rel='stylesheet' type='text/css'>
<link rel="stylesheet" type="text/css" href="stylesheets/stylesheet.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/pygment_trac.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/print.css" media="print" />
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<title>DlangUI - cross platform GUI library for D programming language - dlangui.widgets.scroll</title>
</head>
<body>
<div id="container">
<div class="inner">
<header>
<h1>DlangUI</h1>
<h2>Cross Platform GUI for D programming language</h2>
</header>
<section id="downloads" class="clearfix">
<a href="index.html" id="home" class="button"><span>Home</span></a>
<a href="api.html" id="home" class="button"><span>API Docs</span></a>
<a href="screenshots.html" id="home" class="button"><span>Screenshots</span></a>
<a href="https://github.com/buggins/dlangui/zipball/master" id="download-zip" class="button"><span>Download .zip</span></a>
<!--a href="https://github.com/buggins/dlangui/tarball/master" id="download-tar-gz" class="button"><span>Download .tar.gz</span></a-->
<a href="https://github.com/buggins/dlangui" id="view-on-github" class="button"><span>View on GitHub</span></a>
</section>
<hr>
<section id="main_content">
<h1>dlangui.widgets.scroll</h1>
<!-- Generated by Ddoc from src\dlangui\widgets\scroll.d -->
<br><br>
<dl><dt><big><a name="ScrollBarMode"></a>enum <u>ScrollBarMode</u>: int;
</big></dt>
<dd>Scroll bar visibility mode.<br><br>
<dl><dt><big><a name="ScrollBarMode.Invisible"></a><u>Invisible</u></big></dt>
<dd>always invisible<br><br>
</dd>
<dt><big><a name="ScrollBarMode.Visible"></a><u>Visible</u></big></dt>
<dd>always visible<br><br>
</dd>
<dt><big><a name="ScrollBarMode.Auto"></a><u>Auto</u></big></dt>
<dd>automatically show/hide scrollbar depending on content size<br><br>
</dd>
</dl>
</dd>
<dt><big><a name="ScrollWidget"></a>class <u>ScrollWidget</u>: <u>dlangui.widgets.scroll.ScrollWidgetBase</u>;
</big></dt>
<dd>Widget which can show content of widget group with optional scrolling.<br><br>
<dl><dt><big><a name="ScrollWidget.fullContentSize"></a>Point <u>fullContentSize</u>();
</big></dt>
<dd>calculate full content size in pixels<br><br>
</dd>
<dt><big><a name="ScrollWidget.updateScrollBars"></a>protected void <u>updateScrollBars</u>();
</big></dt>
<dd>update scrollbar positions<br><br>
</dd>
<dt><big><a name="ScrollWidget.onHScroll"></a>bool <u>onHScroll</u>(ScrollEvent <i>event</i>);
</big></dt>
<dd>process horizontal scrollbar <i>event</i><br><br>
</dd>
<dt><big><a name="ScrollWidget.onVScroll"></a>bool <u>onVScroll</u>(ScrollEvent <i>event</i>);
</big></dt>
<dd>process vertical scrollbar <i>event</i><br><br>
</dd>
</dl>
</dd>
</dl>
</section>
<footer>
Dlangui is maintained by <a href="https://github.com/buggins">buggins</a><br>
This page was generated by <a href="http://pages.github.com">GitHub Pages</a>. Tactile theme by <a href="https://twitter.com/jasonlong">Jason Long</a>.
</footer>
</div>
</div>
</body>
</html>

59
sdlapp.html Normal file
View File

@ -0,0 +1,59 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta charset='utf-8'>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<link href='https://fonts.googleapis.com/css?family=Chivo:900' rel='stylesheet' type='text/css'>
<link rel="stylesheet" type="text/css" href="stylesheets/stylesheet.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/pygment_trac.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/print.css" media="print" />
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<title>DlangUI - cross platform GUI library for D programming language - dlangui.platforms.sdl.sdlapp</title>
</head>
<body>
<div id="container">
<div class="inner">
<header>
<h1>DlangUI</h1>
<h2>Cross Platform GUI for D programming language</h2>
</header>
<section id="downloads" class="clearfix">
<a href="index.html" id="home" class="button"><span>Home</span></a>
<a href="api.html" id="home" class="button"><span>API Docs</span></a>
<a href="screenshots.html" id="home" class="button"><span>Screenshots</span></a>
<a href="https://github.com/buggins/dlangui/zipball/master" id="download-zip" class="button"><span>Download .zip</span></a>
<!--a href="https://github.com/buggins/dlangui/tarball/master" id="download-tar-gz" class="button"><span>Download .tar.gz</span></a-->
<a href="https://github.com/buggins/dlangui" id="view-on-github" class="button"><span>View on GitHub</span></a>
</section>
<hr>
<section id="main_content">
<h1>dlangui.platforms.sdl.sdlapp</h1>
<!-- Generated by Ddoc from src\dlangui\platforms\sdl\sdlapp.d -->
This module contains implementation of SDL2 based backend for dlang library.
<br><br>
<b>Synopsis:</b><br>
<pre class="d_code"><font color=blue>import</font> dlangui.platforms.sdl.<u>sdlapp</u>;
</pre>
<br><br>
<b>License:</b><br>
Boost License 1.0
<br><br>
<b>Authors:</b><br>
Vadim Lopatin, coolreader.org@gmail.com<br><br>
</section>
<footer>
Dlangui is maintained by <a href="https://github.com/buggins">buggins</a><br>
This page was generated by <a href="http://pages.github.com">GitHub Pages</a>. Tactile theme by <a href="https://twitter.com/jasonlong">Jason Long</a>.
</footer>
</div>
</div>
</body>
</html>

268
signals.html Normal file
View File

@ -0,0 +1,268 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta charset='utf-8'>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<link href='https://fonts.googleapis.com/css?family=Chivo:900' rel='stylesheet' type='text/css'>
<link rel="stylesheet" type="text/css" href="stylesheets/stylesheet.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/pygment_trac.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/print.css" media="print" />
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<title>DlangUI - cross platform GUI library for D programming language - dlangui.core.signals</title>
</head>
<body>
<div id="container">
<div class="inner">
<header>
<h1>DlangUI</h1>
<h2>Cross Platform GUI for D programming language</h2>
</header>
<section id="downloads" class="clearfix">
<a href="index.html" id="home" class="button"><span>Home</span></a>
<a href="api.html" id="home" class="button"><span>API Docs</span></a>
<a href="screenshots.html" id="home" class="button"><span>Screenshots</span></a>
<a href="https://github.com/buggins/dlangui/zipball/master" id="download-zip" class="button"><span>Download .zip</span></a>
<!--a href="https://github.com/buggins/dlangui/tarball/master" id="download-tar-gz" class="button"><span>Download .tar.gz</span></a-->
<a href="https://github.com/buggins/dlangui" id="view-on-github" class="button"><span>View on GitHub</span></a>
</section>
<hr>
<section id="main_content">
<h1>dlangui.core.signals</h1>
<!-- Generated by Ddoc from src\dlangui\core\signals.d -->
This module contains definition of <u>signals</u> / listeners.
<br><br>
Similar to std.<u>signals</u>.
<br><br>
Unlike std.<u>signals</u>, supports any types of delegates, and as well interfaces with single method.
<br><br>
Unlike std.<u>signals</u>, can support return types for slots.
<br><br>
<b>Caution:</b><br>
unlike std.<u>signals</u>, does not disconnect signal from slots belonging to destroyed objects.
<br><br>
Listener here stand for holder of single delegate (slot).
Signal is the same but supports multiple slots.
<br><br>
Can be declared either using list of result value and argument types, or by interface name with single method.
<br><br>
<br><br>
<b>Synopsis:</b><br>
<pre class="d_code"><font color=blue>import</font> dlangui.core.<u>signals</u>;
<font color=blue>interface</font> SomeInterface {
<font color=blue>bool</font> someMethod(string s, <font color=blue>int</font> n);
}
<font color=blue>class</font> Foo : SomeInterface {
<font color=blue>override</font> <font color=blue>bool</font> someMethod(string s, <font color=blue>int</font> n) {
writeln(<font color=red>"someMethod called "</font>, s, <font color=red>", "</font>, n);
<font color=blue>return</font> n &gt; 10; <font color=green>// can return value
</font> }
}
<font color=green>// Listener! can hold arbitrary number of connected slots
</font>
<font color=green>// declare using list of return value and parameter types
</font>Listener!(<font color=blue>bool</font>, string, n) signal1;
Foo f = <font color=blue>new</font> Foo();
<font color=green>// when signal is defined as type list, you can use delegate
</font>signal1 = <font color=blue>bool</font> <font color=blue>delegate</font>(string s, <font color=blue>int</font> n) { writeln(<font color=red>"inside delegate - "</font>, s, n); <font color=blue>return</font> <font color=blue>false</font>; }
<font color=green>// or method reference
</font>signal1 = &amp;f.someMethod;
<font color=green>// declare using interface with single method
</font>Listener!SomeInterface signal2;
<font color=green>// you still can use any delegate
</font>signal2 = <font color=blue>bool</font> <font color=blue>delegate</font>(string s, <font color=blue>int</font> n) { writeln(<font color=red>"inside delegate - "</font>, s, n); <font color=blue>return</font> <font color=blue>false</font>; }
<font color=green>// but for class method which overrides interface method, you can use simple syntax
</font>signal2 = f; <font color=green>// it will automatically take &amp;f.someMethod
</font>
<font color=green>// call listener(s) either by opcall or explicit emit
</font>signal1(<font color=red>"text"</font>, 1);
signal1.emit(<font color=red>"text"</font>, 2);
signal2.emit(<font color=red>"text"</font>, 3);
<font color=green>// check if any slit is connected
</font><font color=blue>if</font> (signal1.assigned)
writeln(<font color=red>"has listeners"</font>);
<font color=green>// Signal! can hold arbitrary number of connected slots
</font>
<font color=green>// declare using list of return value and parameter types
</font>Signal!(<font color=blue>bool</font>, string, n) signal3;
<font color=green>// add listeners via connect call
</font>signal3.connect(<font color=blue>bool</font> <font color=blue>delegate</font>(string, <font color=blue>int</font>) { <font color=blue>return</font> <font color=blue>false</font>; });
<font color=green>// or via ~= operator
</font>signal3 ~= <font color=blue>bool</font> <font color=blue>delegate</font>(string, <font color=blue>int</font>) { <font color=blue>return</font> <font color=blue>false</font>; };
<font color=green>// declare using interface with single method
</font>Signal!SomeInterface signal4;
<font color=green>// you can connect several slots to signal
</font>signal4 ~= f;
signal4 ~= <font color=blue>bool</font> <font color=blue>delegate</font>(string, <font color=blue>int</font>) { <font color=blue>return</font> <font color=blue>true</font>; }
<font color=green>// calling of listeners of Signal! is similar to Listener!
</font><font color=green>// using opCall
</font><font color=blue>bool</font> res = signal4(<font color=red>"blah"</font>, 5);
<font color=green>// call listeners using emit
</font><font color=blue>bool</font> res = signal4.emit(<font color=red>"blah"</font>, 5);
<font color=green>// you can disconnect individual slots
</font><font color=green>// using disconnect()
</font>signal4.disconnect(f);
<font color=green>// or -= operator
</font>signal4 -= f;
</pre>
<br><br>
<b>License:</b><br>
Boost License 1.0
<br><br>
<b>Authors:</b><br>
Vadim Lopatin, coolreader.org@gmail.com<br><br>
<dl><dt><big><a name="Listener"></a>struct <u>Listener</u>(T1) if (is(T1 == interface) &amp;&amp; __traits(allMembers, T1).length == 1);
</big></dt>
<dd>Single listener; parameter is interface with single method<br><br>
<dl><dt><big><a name="Listener.assigned"></a>final bool <u>assigned</u>();
</big></dt>
<dd>returns <b>true</b> if listener is <u>assigned</u><br><br>
</dd>
<dt><big><a name="Listener.opAssign"></a>final void <u>opAssign</u>(slot_t <i>listenerDelegate</i>);
</big></dt>
<dd>assign delegate<br><br>
</dd>
<dt><big><a name="Listener.opAssign"></a>final void <u>opAssign</u>(T1 <i>listenerObject</i>);
</big></dt>
<dd>assign object implementing interface<br><br>
</dd>
</dl>
</dd>
<dt><big><a name="Listener"></a>struct <u>Listener</u>(RETURN_T, T1...);
</big></dt>
<dd>Single listener; implicitly specified return and parameter types<br><br>
<dl><dt><big><a name="Listener.assigned"></a>final bool <u>assigned</u>();
</big></dt>
<dd>returns <b>true</b> if listener is <u>assigned</u><br><br>
</dd>
</dl>
</dd>
<dt><big><a name="Signal"></a>struct <u>Signal</u>(T1) if (is(T1 == interface) &amp;&amp; __traits(allMembers, T1).length == 1);
</big></dt>
<dd>Multiple listeners; implicitly specified return and parameter types<br><br>
<dl><dt><big><a name="Signal.assigned"></a>final bool <u>assigned</u>();
</big></dt>
<dd>returns <b>true</b> if listener is <u>assigned</u><br><br>
</dd>
<dt><big><a name="Signal.opAssign"></a>final void <u>opAssign</u>(slot_t <i>listener</i>);
</big></dt>
<dd>replace all previously assigned listeners with new one (if <b>null</b> passed, remove all listeners)<br><br>
</dd>
<dt><big><a name="Signal.opAssign"></a>final void <u>opAssign</u>(T1 <i>listener</i>);
</big></dt>
<dd>replace all previously assigned listeners with new one (if <b>null</b> passed, remove all listeners)<br><br>
</dd>
<dt><big><a name="Signal.opCall"></a>final return_t <u>opCall</u>(params_t <i>params</i>);
</big></dt>
<dd>call all listeners; for signals having non-void return type, stop iterating when first return value is nonzero<br><br>
</dd>
<dt><big><a name="Signal.emit"></a>final return_t <u>emit</u>(params_t <i>params</i>);
</big></dt>
<dd>call all listeners; for signals having non-void return type, stop iterating when first return value is nonzero<br><br>
</dd>
<dt><big><a name="Signal.connect"></a>final void <u>connect</u>(slot_t <i>listener</i>);
</big></dt>
<dd>add <i>listener</i><br><br>
</dd>
<dt><big><a name="Signal.disconnect"></a>final void <u>disconnect</u>(slot_t <i>listener</i>);
</big></dt>
<dd>remove <i>listener</i><br><br>
</dd>
<dt><big><a name="Signal.connect"></a>final void <u>connect</u>(T1 <i>listener</i>);
</big></dt>
<dd>add <i>listener</i> - as interface member<br><br>
</dd>
<dt><big><a name="Signal.disconnect"></a>final void <u>disconnect</u>(T1 <i>listener</i>);
</big></dt>
<dd>add <i>listener</i> - as interface member<br><br>
</dd>
</dl>
</dd>
<dt><big><a name="Signal"></a>struct <u>Signal</u>(RETURN_T, T1...);
</big></dt>
<dd>Multiple listeners; implicitly specified return and parameter types<br><br>
<dl><dt><big><a name="Signal.assigned"></a>final bool <u>assigned</u>();
</big></dt>
<dd>returns <b>true</b> if listener is <u>assigned</u><br><br>
</dd>
<dt><big><a name="Signal.opAssign"></a>final void <u>opAssign</u>(slot_t <i>listener</i>);
</big></dt>
<dd>replace all previously assigned listeners with new one (if <b>null</b> passed, remove all listeners)<br><br>
</dd>
<dt><big><a name="Signal.opCall"></a>final RETURN_T <u>opCall</u>(T1 <i>params</i>);
</big></dt>
<dd>call all listeners; for signals having non-void return type, stop iterating when first return value is nonzero<br><br>
</dd>
<dt><big><a name="Signal.emit"></a>final RETURN_T <u>emit</u>(T1 <i>params</i>);
</big></dt>
<dd>call all listeners; for signals having non-void return type, stop iterating when first return value is nonzero<br><br>
</dd>
<dt><big><a name="Signal.connect"></a>final void <u>connect</u>(slot_t <i>listener</i>);
</big></dt>
<dd>add <i>listener</i><br><br>
</dd>
<dt><big><a name="Signal.disconnect"></a>final void <u>disconnect</u>(slot_t <i>listener</i>);
</big></dt>
<dd>remove <i>listener</i><br><br>
</dd>
</dl>
</dd>
</dl>
</section>
<footer>
Dlangui is maintained by <a href="https://github.com/buggins">buggins</a><br>
This page was generated by <a href="http://pages.github.com">GitHub Pages</a>. Tactile theme by <a href="https://twitter.com/jasonlong">Jason Long</a>.
</footer>
</div>
</div>
</body>
</html>

65
stdaction.html Normal file
View File

@ -0,0 +1,65 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta charset='utf-8'>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<link href='https://fonts.googleapis.com/css?family=Chivo:900' rel='stylesheet' type='text/css'>
<link rel="stylesheet" type="text/css" href="stylesheets/stylesheet.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/pygment_trac.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/print.css" media="print" />
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<title>DlangUI - cross platform GUI library for D programming language - dlangui.core.stdaction</title>
</head>
<body>
<div id="container">
<div class="inner">
<header>
<h1>DlangUI</h1>
<h2>Cross Platform GUI for D programming language</h2>
</header>
<section id="downloads" class="clearfix">
<a href="index.html" id="home" class="button"><span>Home</span></a>
<a href="api.html" id="home" class="button"><span>API Docs</span></a>
<a href="screenshots.html" id="home" class="button"><span>Screenshots</span></a>
<a href="https://github.com/buggins/dlangui/zipball/master" id="download-zip" class="button"><span>Download .zip</span></a>
<!--a href="https://github.com/buggins/dlangui/tarball/master" id="download-tar-gz" class="button"><span>Download .tar.gz</span></a-->
<a href="https://github.com/buggins/dlangui" id="view-on-github" class="button"><span>View on GitHub</span></a>
</section>
<hr>
<section id="main_content">
<h1>dlangui.core.stdaction</h1>
<!-- Generated by Ddoc from src\dlangui\core\stdaction.d -->
Definition of standard actions commonly used in dialogs and controls.
<br><br>
<b>Synopsis:</b><br>
<pre class="d_code"><font color=blue>import</font> dlangui.core.<u>stdaction</u>;
</pre>
<br><br>
<b>License:</b><br>
Boost License 1.0
<br><br>
<b>Authors:</b><br>
Vadim Lopatin, coolreader.org@gmail.com<br><br>
<dl><dt><big><a name="StandardAction"></a>enum <u>StandardAction</u>: int;
</big></dt>
<dd>standard (commonly used) action codes<br><br>
</dd>
</dl>
</section>
<footer>
Dlangui is maintained by <a href="https://github.com/buggins">buggins</a><br>
This page was generated by <a href="http://pages.github.com">GitHub Pages</a>. Tactile theme by <a href="https://twitter.com/jasonlong">Jason Long</a>.
</footer>
</div>
</div>
</body>
</html>

508
styles.html Normal file
View File

@ -0,0 +1,508 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta charset='utf-8'>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<link href='https://fonts.googleapis.com/css?family=Chivo:900' rel='stylesheet' type='text/css'>
<link rel="stylesheet" type="text/css" href="stylesheets/stylesheet.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/pygment_trac.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/print.css" media="print" />
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<title>DlangUI - cross platform GUI library for D programming language - dlangui.widgets.styles</title>
</head>
<body>
<div id="container">
<div class="inner">
<header>
<h1>DlangUI</h1>
<h2>Cross Platform GUI for D programming language</h2>
</header>
<section id="downloads" class="clearfix">
<a href="index.html" id="home" class="button"><span>Home</span></a>
<a href="api.html" id="home" class="button"><span>API Docs</span></a>
<a href="screenshots.html" id="home" class="button"><span>Screenshots</span></a>
<a href="https://github.com/buggins/dlangui/zipball/master" id="download-zip" class="button"><span>Download .zip</span></a>
<!--a href="https://github.com/buggins/dlangui/tarball/master" id="download-tar-gz" class="button"><span>Download .tar.gz</span></a-->
<a href="https://github.com/buggins/dlangui" id="view-on-github" class="button"><span>View on GitHub</span></a>
</section>
<hr>
<section id="main_content">
<h1>dlangui.widgets.styles</h1>
<!-- Generated by Ddoc from src\dlangui\widgets\styles.d -->
This module contains declaration of themes and <u>styles</u> implementation.
<br><br>
Style - style container
Theme - parent for all <u>styles</u>
<br><br>
<br><br>
<b>Synopsis:</b><br>
<pre class="d_code"><font color=blue>import</font> dlangui.widgets.<u>styles</u>;
</pre>
<br><br>
<b>License:</b><br>
Boost License 1.0
<br><br>
<b>Authors:</b><br>
Vadim Lopatin, coolreader.org@gmail.com<br><br>
<dl><dt><big><a name="COLOR_TRANSPARENT"></a>immutable uint <u>COLOR_TRANSPARENT</u>;
</big></dt>
<dd>transparent color constant<br><br>
</dd>
<dt><big><a name="FONT_SIZE_UNSPECIFIED"></a>immutable ushort <u>FONT_SIZE_UNSPECIFIED</u>;
</big></dt>
<dd>unspecified font size constant - to take parent style property value<br><br>
</dd>
<dt><big><a name="FONT_WEIGHT_UNSPECIFIED"></a>immutable ushort <u>FONT_WEIGHT_UNSPECIFIED</u>;
</big></dt>
<dd>unspecified font weight constant - to take parent style property value<br><br>
</dd>
<dt><big><a name="FONT_STYLE_UNSPECIFIED"></a>immutable ubyte <u>FONT_STYLE_UNSPECIFIED</u>;
</big></dt>
<dd>unspecified font style constant - to take parent style property value<br><br>
</dd>
<dt><big><a name="FONT_STYLE_NORMAL"></a>immutable ubyte <u>FONT_STYLE_NORMAL</u>;
</big></dt>
<dd>normal font style constant<br><br>
</dd>
<dt><big><a name="FONT_STYLE_ITALIC"></a>immutable ubyte <u>FONT_STYLE_ITALIC</u>;
</big></dt>
<dd>italic font style constant<br><br>
</dd>
<dt><big><a name="SIZE_UNSPECIFIED"></a>immutable int <u>SIZE_UNSPECIFIED</u>;
</big></dt>
<dd>use as widget.layout() param to avoid applying of parent size<br><br>
</dd>
<dt><big><a name="TEXT_FLAGS_UNSPECIFIED"></a>immutable uint <u>TEXT_FLAGS_UNSPECIFIED</u>;
</big></dt>
<dd>use text flags from parent style<br><br>
</dd>
<dt><big><a name="TEXT_FLAGS_USE_PARENT"></a>immutable uint <u>TEXT_FLAGS_USE_PARENT</u>;
</big></dt>
<dd>use text flags from parent widget<br><br>
</dd>
<dt><big><a name="FILL_PARENT"></a>immutable int <u>FILL_PARENT</u>;
</big></dt>
<dd>layout option, to occupy all available place<br><br>
</dd>
<dt><big><a name="WRAP_CONTENT"></a>immutable int <u>WRAP_CONTENT</u>;
</big></dt>
<dd>layout option, for size based on content<br><br>
</dd>
<dt><big><a name="WEIGHT_UNSPECIFIED"></a>immutable int <u>WEIGHT_UNSPECIFIED</u>;
</big></dt>
<dd>to take layout weight from parent<br><br>
</dd>
<dt><big><a name="Align"></a>enum <u>Align</u>: ubyte;
</big></dt>
<dd><u>Align</u> option bit constants<br><br>
<dl><dt><big><a name="Align.Unspecified"></a><u>Unspecified</u></big></dt>
<dd>alignment is not specified<br><br>
</dd>
<dt><big><a name="Align.Left"></a><u>Left</u></big></dt>
<dd>horizontally align to the left of box<br><br>
</dd>
<dt><big><a name="Align.Right"></a><u>Right</u></big></dt>
<dd>horizontally align to the right of box<br><br>
</dd>
<dt><big><a name="Align.HCenter"></a><u>HCenter</u></big></dt>
<dd>horizontally align to the center of box<br><br>
</dd>
<dt><big><a name="Align.Top"></a><u>Top</u></big></dt>
<dd>vertically align to the top of box<br><br>
</dd>
<dt><big><a name="Align.Bottom"></a><u>Bottom</u></big></dt>
<dd>vertically align to the bottom of box<br><br>
</dd>
<dt><big><a name="Align.VCenter"></a><u>VCenter</u></big></dt>
<dd>vertically align to the center of box<br><br>
</dd>
<dt><big><a name="Align.Center"></a><u>Center</u></big></dt>
<dd>align to the center of box (VCenter | HCenter)<br><br>
</dd>
<dt><big><a name="Align.TopLeft"></a><u>TopLeft</u></big></dt>
<dd>align to the top left corner of box (Left | Top)<br><br>
</dd>
</dl>
</dd>
<dt><big><a name="TextFlag"></a>enum <u>TextFlag</u>: uint;
</big></dt>
<dd>text drawing flag bits<br><br>
<dl><dt><big><a name="TextFlag.HotKeys"></a><u>HotKeys</u></big></dt>
<dd>text contains hot key prefixed with &amp; char (e.g. "&File")<br><br>
</dd>
<dt><big><a name="TextFlag.UnderlineHotKeys"></a><u>UnderlineHotKeys</u></big></dt>
<dd>underline hot key when drawing<br><br>
</dd>
<dt><big><a name="TextFlag.UnderlineHotKeysWhenAltPressed"></a><u>UnderlineHotKeysWhenAltPressed</u></big></dt>
<dd>underline hot key when drawing<br><br>
</dd>
<dt><big><a name="TextFlag.Underline"></a><u>Underline</u></big></dt>
<dd>underline text when drawing<br><br>
</dd>
</dl>
</dd>
<dt><big><a name="DrawableAttribute"></a>class <u>DrawableAttribute</u>;
</big></dt>
<dd>custom drawable attribute container for styles<br><br>
</dd>
<dt><big><a name="Style"></a>class <u>Style</u>;
</big></dt>
<dd>style properties<br><br>
<dl><dt><big><a name="Style.parentStyle"></a>const @property const(Style) <u>parentStyle</u>();
</big></dt>
<dd>access to parent style for this style<br><br>
</dd>
<dt><big><a name="Style.parentStyle"></a>@property Style <u>parentStyle</u>();
</big></dt>
<dd>access to parent style for this style<br><br>
</dd>
<dt><big><a name="Style.customDrawable"></a>ref DrawableRef <u>customDrawable</u>(string <i>id</i>);
</big></dt>
<dd>get custom drawable attribute<br><br>
</dd>
<dt><big><a name="Style.customDrawableId"></a>const string <u>customDrawableId</u>(string <i>id</i>);
</big></dt>
<dd>get custom drawable attribute<br><br>
</dd>
<dt><big><a name="Style.setCustomDrawable"></a>Style <u>setCustomDrawable</u>(string <i>id</i>, string <i>resourceId</i>);
</big></dt>
<dd>sets custom drawable attribute for style<br><br>
</dd>
<dt><big><a name="Style.fontFamily"></a>const @property FontFamily <u>fontFamily</u>();
</big></dt>
<dd>font size<br><br>
</dd>
<dt><big><a name="Style.fontFace"></a>const @property string <u>fontFace</u>();
</big></dt>
<dd>font size<br><br>
</dd>
<dt><big><a name="Style.fontItalic"></a>const @property bool <u>fontItalic</u>();
</big></dt>
<dd>font style - italic<br><br>
</dd>
<dt><big><a name="Style.fontWeight"></a>const @property ushort <u>fontWeight</u>();
</big></dt>
<dd>font weight<br><br>
</dd>
<dt><big><a name="Style.fontSize"></a>const @property ushort <u>fontSize</u>();
</big></dt>
<dd>font size<br><br>
</dd>
<dt><big><a name="Style.padding"></a>const @property ref const(Rect) <u>padding</u>();
</big></dt>
<dd><u>padding</u><br><br>
</dd>
<dt><big><a name="Style.margins"></a>const @property ref const(Rect) <u>margins</u>();
</big></dt>
<dd><u>margins</u><br><br>
</dd>
<dt><big><a name="Style.alpha"></a>const @property uint <u>alpha</u>();
</big></dt>
<dd><u>alpha</u> (0=opaque .. 255=transparent)<br><br>
</dd>
<dt><big><a name="Style.textColor"></a>const @property uint <u>textColor</u>();
</big></dt>
<dd>text color<br><br>
</dd>
<dt><big><a name="Style.textFlags"></a>const @property uint <u>textFlags</u>();
</big></dt>
<dd>text flags<br><br>
</dd>
<dt><big><a name="Style.backgroundColor"></a>const @property uint <u>backgroundColor</u>();
</big></dt>
<dd>background color<br><br>
</dd>
<dt><big><a name="Style.backgroundImageId"></a>const @property string <u>backgroundImageId</u>();
</big></dt>
<dd>font size<br><br>
</dd>
<dt><big><a name="Style.minWidth"></a>const @property uint <u>minWidth</u>();
</big></dt>
<dd>minimal width constraint, 0 if limit is not set<br><br>
</dd>
<dt><big><a name="Style.maxWidth"></a>const @property uint <u>maxWidth</u>();
</big></dt>
<dd>max width constraint, returns SIZE_UNSPECIFIED if limit is not set<br><br>
</dd>
<dt><big><a name="Style.minHeight"></a>const @property uint <u>minHeight</u>();
</big></dt>
<dd>minimal height constraint, 0 if limit is not set<br><br>
</dd>
<dt><big><a name="Style.maxHeight"></a>const @property uint <u>maxHeight</u>();
</big></dt>
<dd>max height constraint, SIZE_UNSPECIFIED if limit is not set<br><br>
</dd>
<dt><big><a name="Style.minWidth"></a>@property Style <u>minWidth</u>(int <i>value</i>);
</big></dt>
<dd>set min width constraint<br><br>
</dd>
<dt><big><a name="Style.maxWidth"></a>@property Style <u>maxWidth</u>(int <i>value</i>);
</big></dt>
<dd>set max width constraint<br><br>
</dd>
<dt><big><a name="Style.minHeight"></a>@property Style <u>minHeight</u>(int <i>value</i>);
</big></dt>
<dd>set min height constraint<br><br>
</dd>
<dt><big><a name="Style.maxHeight"></a>@property Style <u>maxHeight</u>(int <i>value</i>);
</big></dt>
<dd>set max height constraint<br><br>
</dd>
<dt><big><a name="Style.layoutWidth"></a>const @property uint <u>layoutWidth</u>();
</big></dt>
<dd>layout width parameter<br><br>
</dd>
<dt><big><a name="Style.layoutHeight"></a>const @property uint <u>layoutHeight</u>();
</big></dt>
<dd>layout height parameter<br><br>
</dd>
<dt><big><a name="Style.layoutWeight"></a>const @property uint <u>layoutWeight</u>();
</big></dt>
<dd>layout weight parameter<br><br>
</dd>
<dt><big><a name="Style.layoutHeight"></a>@property Style <u>layoutHeight</u>(int <i>value</i>);
</big></dt>
<dd>set layout height<br><br>
</dd>
<dt><big><a name="Style.layoutWidth"></a>@property Style <u>layoutWidth</u>(int <i>value</i>);
</big></dt>
<dd>set layout width<br><br>
</dd>
<dt><big><a name="Style.layoutWeight"></a>@property Style <u>layoutWeight</u>(int <i>value</i>);
</big></dt>
<dd>set layout weight<br><br>
</dd>
<dt><big><a name="Style.alignment"></a>const @property ubyte <u>alignment</u>();
</big></dt>
<dd>get full <u>alignment</u> (both vertical and horizontal)<br><br>
</dd>
<dt><big><a name="Style.valign"></a>const @property ubyte <u>valign</u>();
</big></dt>
<dd>vertical alignment: Top / VCenter / Bottom<br><br>
</dd>
<dt><big><a name="Style.halign"></a>const @property ubyte <u>halign</u>();
</big></dt>
<dd>horizontal alignment: Left / HCenter / Right<br><br>
</dd>
<dt><big><a name="Style.alignment"></a>@property Style <u>alignment</u>(ubyte <i>value</i>);
</big></dt>
<dd>set <u>alignment</u><br><br>
</dd>
<dt><big><a name="Style.createSubstyle"></a>Style <u>createSubstyle</u>(string <i>id</i>);
</big></dt>
<dd>create named substyle of this style<br><br>
</dd>
<dt><big><a name="Style.createState"></a>Style <u>createState</u>(uint <i>stateMask</i> = 0, uint <i>stateValue</i> = 0);
</big></dt>
<dd>create state substyle for this style<br><br>
</dd>
<dt><big><a name="Style.forState"></a>const const(Style) <u>forState</u>(uint <i>state</i>);
</big></dt>
<dd>find substyle based on widget <i>state</i> (e.g. focused, pressed, ...)<br><br>
</dd>
</dl>
</dd>
<dt><big><a name="Theme"></a>class <u>Theme</u>: <u>dlangui.widgets.styles.Style</u>;
</big></dt>
<dd><u>Theme</u> - root for style hierarhy.<br><br>
<dl><dt><big><a name="Theme.modifyStyle"></a>Style <u>modifyStyle</u>(string <i>id</i>);
</big></dt>
<dd>create wrapper style which will have currentTheme.get(<i>id</i>) as parent instead of fixed parent - to modify some base style properties in widget<br><br>
</dd>
<dt><big><a name="Theme.backgroundImageId"></a>const @property string <u>backgroundImageId</u>();
</big></dt>
<dd>font size<br><br>
</dd>
<dt><big><a name="Theme.minWidth"></a>const @property uint <u>minWidth</u>();
</big></dt>
<dd>minimal width constraint, 0 if limit is not set<br><br>
</dd>
<dt><big><a name="Theme.maxWidth"></a>const @property uint <u>maxWidth</u>();
</big></dt>
<dd>max width constraint, returns SIZE_UNSPECIFIED if limit is not set<br><br>
</dd>
<dt><big><a name="Theme.minHeight"></a>const @property uint <u>minHeight</u>();
</big></dt>
<dd>minimal height constraint, 0 if limit is not set<br><br>
</dd>
<dt><big><a name="Theme.maxHeight"></a>const @property uint <u>maxHeight</u>();
</big></dt>
<dd>max height constraint, SIZE_UNSPECIFIED if limit is not set<br><br>
</dd>
<dt><big><a name="Theme.createSubstyle"></a>Style <u>createSubstyle</u>(string <i>id</i>);
</big></dt>
<dd>create new named style or get existing<br><br>
</dd>
<dt><big><a name="Theme.get"></a>@property Style <u>get</u>(string <i>id</i>);
</big></dt>
<dd>find style by <i>id</i>, returns theme if not style with specified ID is not found<br><br>
</dd>
<dt><big><a name="Theme.forState"></a>const const(Style) <u>forState</u>(uint <i>state</i>);
</big></dt>
<dd>find substyle based on widget <i>state</i> (e.g. focused, pressed, ...)<br><br>
</dd>
</dl>
</dd>
<dt><big><a name="currentTheme"></a>@property Theme <u>currentTheme</u>();
</big></dt>
<dd>current theme accessor<br><br>
</dd>
<dt><big><a name="currentTheme"></a>@property void <u>currentTheme</u>(Theme <i>theme</i>);
</big></dt>
<dd>set new current <i>theme</i><br><br>
</dd>
<dt><big><a name="decodeRect"></a>Rect <u>decodeRect</u>(string <i>s</i>);
</big></dt>
<dd>decode comma delimited dimension list or single value - and put to Rect<br><br>
</dd>
<dt><big><a name="decodeAlignment"></a>ubyte <u>decodeAlignment</u>(string <i>s</i>);
</big></dt>
<dd>parses string like "Left|VCenter" to bit set of Align flags<br><br>
</dd>
<dt><big><a name="decodeTextFlags"></a>uint <u>decodeTextFlags</u>(string <i>s</i>);
</big></dt>
<dd>parses string like "HotKeys|UnderlineHotKeysWhenAltPressed" to bit set of TextFlag flags<br><br>
</dd>
<dt><big><a name="decodeFontFamily"></a>FontFamily <u>decodeFontFamily</u>(string <i>s</i>);
</big></dt>
<dd>decode FontFamily item name to value<br><br>
</dd>
<dt><big><a name="decodeLayoutDimension"></a>int <u>decodeLayoutDimension</u>(string <i>s</i>);
</big></dt>
<dd>decode layout dimension (FILL_PARENT, WRAP_CONTENT, or just size)<br><br>
</dd>
<dt><big><a name="loadStyleAttributes"></a>bool <u>loadStyleAttributes</u>(Style <i>style</i>, Element <i>elem</i>, bool <i>allowStates</i>);
</big></dt>
<dd>load <i>style</i> attributes from XML element<br><br>
</dd>
<dt><big><a name="loadTheme"></a>bool <u>loadTheme</u>(Theme <i>theme</i>, Element <i>doc</i>, int <i>level</i> = 0);
</big></dt>
<dd>load <i>theme</i> from XML document
<br><br>
<b>Sample:</b><br>
<pre class="d_code">&lt;?xml <font color=blue>version</font>=<font color=red>"1.0"</font> encoding=<font color=red>"utf-8"</font>?&gt;
&lt;<i>theme</i> id=<font color=red>"theme_custom"</font> parent=<font color=red>"theme_default"</font>&gt;
&lt;style id=<font color=red>"BUTTON"</font>
backgroundImageId=<font color=red>"btn_default_small"</font>
&gt;
&lt;/style&gt;
&lt;/<i>theme</i>&gt;
</pre>
<br><br>
</dd>
<dt><big><a name="loadTheme"></a>bool <u>loadTheme</u>(Theme <i>theme</i>, string <i>resourceId</i>, int <i>level</i> = 0);
</big></dt>
<dd>load <i>theme</i> from file<br><br>
</dd>
<dt><big><a name="loadTheme"></a>Theme <u>loadTheme</u>(string <i>resourceId</i>);
</big></dt>
<dd>load theme from XML file (<b>null</b> if failed)<br><br>
</dd>
</dl>
</section>
<footer>
Dlangui is maintained by <a href="https://github.com/buggins">buggins</a><br>
This page was generated by <a href="http://pages.github.com">GitHub Pages</a>. Tactile theme by <a href="https://twitter.com/jasonlong">Jason Long</a>.
</footer>
</div>
</div>
</body>
</html>

226
stylesheets/print.css Normal file
View File

@ -0,0 +1,226 @@
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
display: block;
}
body {
line-height: 1;
}
ol, ul {
list-style: none;
}
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
body {
font-size: 13px;
line-height: 1.5;
font-family: 'Helvetica Neue', Helvetica, Arial, serif;
color: #000;
}
a {
color: #d5000d;
font-weight: bold;
}
header {
padding-top: 35px;
padding-bottom: 10px;
}
header h1 {
font-weight: bold;
letter-spacing: -1px;
font-size: 48px;
color: #303030;
line-height: 1.2;
}
header h2 {
letter-spacing: -1px;
font-size: 24px;
color: #aaa;
font-weight: normal;
line-height: 1.3;
}
#downloads {
display: none;
}
#main_content {
padding-top: 20px;
}
code, pre {
font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal;
color: #222;
margin-bottom: 30px;
font-size: 12px;
}
code {
padding: 0 3px;
}
pre {
border: solid 1px #ddd;
padding: 20px;
overflow: auto;
}
pre code {
padding: 0;
}
ul, ol, dl {
margin-bottom: 20px;
}
/* COMMON STYLES */
table {
width: 100%;
border: 1px solid #ebebeb;
}
th {
font-weight: 500;
}
td {
border: 1px solid #ebebeb;
text-align: center;
font-weight: 300;
}
form {
background: #f2f2f2;
padding: 20px;
}
/* GENERAL ELEMENT TYPE STYLES */
h1 {
font-size: 2.8em;
}
h2 {
font-size: 22px;
font-weight: bold;
color: #303030;
margin-bottom: 8px;
}
h3 {
color: #d5000d;
font-size: 18px;
font-weight: bold;
margin-bottom: 8px;
}
h4 {
font-size: 16px;
color: #303030;
font-weight: bold;
}
h5 {
font-size: 1em;
color: #303030;
}
h6 {
font-size: .8em;
color: #303030;
}
p {
font-weight: 300;
margin-bottom: 20px;
}
a {
text-decoration: none;
}
p a {
font-weight: 400;
}
blockquote {
font-size: 1.6em;
border-left: 10px solid #e9e9e9;
margin-bottom: 20px;
padding: 0 0 0 30px;
}
ul li {
list-style: disc inside;
padding-left: 20px;
}
ol li {
list-style: decimal inside;
padding-left: 3px;
}
dl dd {
font-style: italic;
font-weight: 100;
}
footer {
margin-top: 40px;
padding-top: 20px;
padding-bottom: 30px;
font-size: 13px;
color: #aaa;
}
footer a {
color: #666;
}
/* MISC */
.clearfix:after {
clear: both;
content: '.';
display: block;
visibility: hidden;
height: 0;
}
.clearfix {display: inline-block;}
* html .clearfix {height: 1%;}
.clearfix {display: block;}

View File

@ -0,0 +1,69 @@
.highlight { background: #ffffff; }
.highlight .c { color: #999988; font-style: italic } /* Comment */
.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
.highlight .k { font-weight: bold } /* Keyword */
.highlight .o { font-weight: bold } /* Operator */
.highlight .cm { color: #999988; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #999999; font-weight: bold } /* Comment.Preproc */
.highlight .c1 { color: #999988; font-style: italic } /* Comment.Single */
.highlight .cs { color: #999999; font-weight: bold; font-style: italic } /* Comment.Special */
.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */
.highlight .gd .x { color: #000000; background-color: #ffaaaa } /* Generic.Deleted.Specific */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .gr { color: #aa0000 } /* Generic.Error */
.highlight .gh { color: #999999 } /* Generic.Heading */
.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */
.highlight .gi .x { color: #000000; background-color: #aaffaa } /* Generic.Inserted.Specific */
.highlight .go { color: #888888 } /* Generic.Output */
.highlight .gp { color: #555555 } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #800080; font-weight: bold; } /* Generic.Subheading */
.highlight .gt { color: #aa0000 } /* Generic.Traceback */
.highlight .kc { font-weight: bold } /* Keyword.Constant */
.highlight .kd { font-weight: bold } /* Keyword.Declaration */
.highlight .kn { font-weight: bold } /* Keyword.Namespace */
.highlight .kp { font-weight: bold } /* Keyword.Pseudo */
.highlight .kr { font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #445588; font-weight: bold } /* Keyword.Type */
.highlight .m { color: #009999 } /* Literal.Number */
.highlight .s { color: #d14 } /* Literal.String */
.highlight .na { color: #008080 } /* Name.Attribute */
.highlight .nb { color: #0086B3 } /* Name.Builtin */
.highlight .nc { color: #445588; font-weight: bold } /* Name.Class */
.highlight .no { color: #008080 } /* Name.Constant */
.highlight .ni { color: #800080 } /* Name.Entity */
.highlight .ne { color: #990000; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #990000; font-weight: bold } /* Name.Function */
.highlight .nn { color: #555555 } /* Name.Namespace */
.highlight .nt { color: #000080 } /* Name.Tag */
.highlight .nv { color: #008080 } /* Name.Variable */
.highlight .ow { font-weight: bold } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mf { color: #009999 } /* Literal.Number.Float */
.highlight .mh { color: #009999 } /* Literal.Number.Hex */
.highlight .mi { color: #009999 } /* Literal.Number.Integer */
.highlight .mo { color: #009999 } /* Literal.Number.Oct */
.highlight .sb { color: #d14 } /* Literal.String.Backtick */
.highlight .sc { color: #d14 } /* Literal.String.Char */
.highlight .sd { color: #d14 } /* Literal.String.Doc */
.highlight .s2 { color: #d14 } /* Literal.String.Double */
.highlight .se { color: #d14 } /* Literal.String.Escape */
.highlight .sh { color: #d14 } /* Literal.String.Heredoc */
.highlight .si { color: #d14 } /* Literal.String.Interpol */
.highlight .sx { color: #d14 } /* Literal.String.Other */
.highlight .sr { color: #009926 } /* Literal.String.Regex */
.highlight .s1 { color: #d14 } /* Literal.String.Single */
.highlight .ss { color: #990073 } /* Literal.String.Symbol */
.highlight .bp { color: #999999 } /* Name.Builtin.Pseudo */
.highlight .vc { color: #008080 } /* Name.Variable.Class */
.highlight .vg { color: #008080 } /* Name.Variable.Global */
.highlight .vi { color: #008080 } /* Name.Variable.Instance */
.highlight .il { color: #009999 } /* Literal.Number.Integer.Long */
.type-csharp .highlight .k { color: #0000FF }
.type-csharp .highlight .kt { color: #0000FF }
.type-csharp .highlight .nf { color: #000000; font-weight: normal }
.type-csharp .highlight .nc { color: #2B91AF }
.type-csharp .highlight .nn { color: #000000 }
.type-csharp .highlight .s { color: #A31515 }
.type-csharp .highlight .sc { color: #A31515 }

1226
stylesheets/stylesheet.css Normal file

File diff suppressed because it is too large Load Diff

267
tabs.html Normal file
View File

@ -0,0 +1,267 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta charset='utf-8'>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<link href='https://fonts.googleapis.com/css?family=Chivo:900' rel='stylesheet' type='text/css'>
<link rel="stylesheet" type="text/css" href="stylesheets/stylesheet.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/pygment_trac.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/print.css" media="print" />
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<title>DlangUI - cross platform GUI library for D programming language - dlangui.widgets.tabs</title>
</head>
<body>
<div id="container">
<div class="inner">
<header>
<h1>DlangUI</h1>
<h2>Cross Platform GUI for D programming language</h2>
</header>
<section id="downloads" class="clearfix">
<a href="index.html" id="home" class="button"><span>Home</span></a>
<a href="api.html" id="home" class="button"><span>API Docs</span></a>
<a href="screenshots.html" id="home" class="button"><span>Screenshots</span></a>
<a href="https://github.com/buggins/dlangui/zipball/master" id="download-zip" class="button"><span>Download .zip</span></a>
<!--a href="https://github.com/buggins/dlangui/tarball/master" id="download-tar-gz" class="button"><span>Download .tar.gz</span></a-->
<a href="https://github.com/buggins/dlangui" id="view-on-github" class="button"><span>View on GitHub</span></a>
</section>
<hr>
<section id="main_content">
<h1>dlangui.widgets.tabs</h1>
<!-- Generated by Ddoc from src\dlangui\widgets\tabs.d -->
This module contains declaration of tabbed view controls.
<br><br>
TabItemWidget - single tab header in tab control
TabWidget
TabHost
TabControl
<br><br>
<br><br>
<b>Synopsis:</b><br>
<pre class="d_code"><font color=blue>import</font> dlangui.widgets.<u>tabs</u>;
</pre>
<br><br>
<b>License:</b><br>
Boost License 1.0
<br><br>
<b>Authors:</b><br>
Vadim Lopatin, coolreader.org@gmail.com<br><br>
<dl><dt><big><a name="TabItem"></a>class <u>TabItem</u>;
</big></dt>
<dd>tab item metadata<br><br>
</dd>
<dt><big><a name="TabItemWidget"></a>class <u>TabItemWidget</u>: <u>dlangui.widgets.layouts.HorizontalLayout</u>;
</big></dt>
<dd>tab item widget - to show tab header<br><br>
</dd>
<dt><big><a name="TabItemList"></a>class <u>TabItemList</u>;
</big></dt>
<dd>tab item list helper class<br><br>
<dl><dt><big><a name="TabItemList.get"></a>TabItem <u>get</u>(int <i>index</i>);
</big></dt>
<dd><u>get</u> item by <i>index</i><br><br>
</dd>
<dt><big><a name="TabItemList.get"></a>TabItem <u>get</u>(string <i>id</i>);
</big></dt>
<dd><u>get</u> item by <i>id</i><br><br>
</dd>
<dt><big><a name="TabItemList.add"></a>TabItemList <u>add</u>(TabItem <i>item</i>);
</big></dt>
<dd>append new <i>item</i><br><br>
</dd>
<dt><big><a name="TabItemList.insert"></a>TabItemList <u>insert</u>(TabItem <i>item</i>, int <i>index</i>);
</big></dt>
<dd><u>insert</u> new <i>item</i> to specified position<br><br>
</dd>
<dt><big><a name="TabItemList.remove"></a>TabItem <u>remove</u>(int <i>index</i>);
</big></dt>
<dd><u>remove</u> item by <i>index</i><br><br>
</dd>
<dt><big><a name="TabItemList.indexById"></a>int <u>indexById</u>(string <i>id</i>);
</big></dt>
<dd>find tab index by <i>id</i><br><br>
</dd>
</dl>
</dd>
<dt><big><a name="TabControl"></a>class <u>TabControl</u>: <u>dlangui.widgets.widget.WidgetGroup</u>;
</big></dt>
<dd>tab header - tab labels, with optional More button<br><br>
<dl><dt><big><a name="TabControl.onTabChangedListener"></a>Signal!TabHandler <u>onTabChangedListener</u>;
</big></dt>
<dd>signal of tab change (e.g. by clicking on tab header)<br><br>
</dd>
<dt><big><a name="TabControl.tabCount"></a>const @property int <u>tabCount</u>();
</big></dt>
<dd>returns tab count<br><br>
</dd>
<dt><big><a name="TabControl.tab"></a>TabItem <u>tab</u>(int <i>index</i>);
</big></dt>
<dd>returns <u>tab</u> item by id (<b>null</b> if <i>index</i> out of range)<br><br>
</dd>
<dt><big><a name="TabControl.tab"></a>TabItem <u>tab</u>(string <i>id</i>);
</big></dt>
<dd>returns <u>tab</u> item by <i>id</i> (<b>null</b> if not found)<br><br>
</dd>
<dt><big><a name="TabControl.tabIndex"></a>int <u>tabIndex</u>(string <i>id</i>);
</big></dt>
<dd>get tab index by tab <i>id</i> (-1 if not found)<br><br>
</dd>
<dt><big><a name="TabControl.removeTab"></a>TabControl <u>removeTab</u>(string <i>id</i>);
</big></dt>
<dd>remove tab<br><br>
</dd>
<dt><big><a name="TabControl.addTab"></a>TabControl <u>addTab</u>(TabItem <i>item</i>, int <i>index</i> = -1, bool <i>enableCloseButton</i> = false);
</big></dt>
<dd>add new tab<br><br>
</dd>
<dt><big><a name="TabControl.addTab"></a>TabControl <u>addTab</u>(string <i>id</i>, dstring <i>label</i>, string <i>iconId</i> = null, bool <i>enableCloseButton</i> = false);
</big></dt>
<dd>add new tab by <i>id</i> and <i>label</i> string<br><br>
</dd>
<dt><big><a name="TabControl.addTab"></a>TabControl <u>addTab</u>(string <i>id</i>, string <i>labelResourceId</i>, string <i>iconId</i> = null, bool <i>enableCloseButton</i> = false);
</big></dt>
<dd>add new tab by <i>id</i> and label string resource <i>id</i><br><br>
</dd>
<dt><big><a name="TabControl.measure"></a>void <u>measure</u>(int <i>parentWidth</i>, int <i>parentHeight</i>);
</big></dt>
<dd>Measure widget according to desired width and height constraints. (Step 1 of two phase layout).<br><br>
</dd>
<dt><big><a name="TabControl.layout"></a>void <u>layout</u>(Rect <i>rc</i>);
</big></dt>
<dd>Set widget rectangle to specified value and <u>layout</u> widget contents. (Step 2 of two phase <u>layout</u>).<br><br>
</dd>
<dt><big><a name="TabControl.onDraw"></a>void <u>onDraw</u>(DrawBuf <i>buf</i>);
</big></dt>
<dd>Draw widget at its position to buffer<br><br>
</dd>
</dl>
</dd>
<dt><big><a name="TabHost"></a>class <u>TabHost</u>: <u>dlangui.widgets.layouts.FrameLayout</u>, <u>dlangui.widgets.tabs.TabHandler</u>;
</big></dt>
<dd>container for widgets controlled by TabControl<br><br>
<dl><dt><big><a name="TabHost.tabControl"></a>@property TabControl <u>tabControl</u>();
</big></dt>
<dd>get currently set control widget<br><br>
</dd>
<dt><big><a name="TabHost.tabControl"></a>@property TabHost <u>tabControl</u>(TabControl <i>newWidget</i>);
</big></dt>
<dd>set new control widget<br><br>
</dd>
<dt><big><a name="TabHost.onTabChangedListener"></a>Signal!TabHandler <u>onTabChangedListener</u>;
</big></dt>
<dd>signal of tab change (e.g. by clicking on tab header)<br><br>
</dd>
<dt><big><a name="TabHost.removeTab"></a>TabHost <u>removeTab</u>(string <i>id</i>);
</big></dt>
<dd>remove tab<br><br>
</dd>
<dt><big><a name="TabHost.addTab"></a>TabHost <u>addTab</u>(Widget <i>widget</i>, dstring <i>label</i>, string <i>iconId</i> = null, bool <i>enableCloseButton</i> = false);
</big></dt>
<dd>add new tab by id and <i>label</i> string<br><br>
</dd>
<dt><big><a name="TabHost.addTab"></a>TabHost <u>addTab</u>(Widget <i>widget</i>, string <i>labelResourceId</i>, string <i>iconId</i> = null, bool <i>enableCloseButton</i> = false);
</big></dt>
<dd>add new tab by id and label string resource id<br><br>
</dd>
<dt><big><a name="TabHost.selectTab"></a>void <u>selectTab</u>(string <i>ID</i>);
</big></dt>
<dd>select tab<br><br>
</dd>
</dl>
</dd>
<dt><big><a name="TabWidget"></a>class <u>TabWidget</u>: <u>dlangui.widgets.layouts.VerticalLayout</u>, <u>dlangui.widgets.tabs.TabHandler</u>;
</big></dt>
<dd>compound widget - contains from TabControl widget (tabs header) and TabHost (content pages)<br><br>
<dl><dt><big><a name="TabWidget.onTabChangedListener"></a>Signal!TabHandler <u>onTabChangedListener</u>;
</big></dt>
<dd>signal of tab change (e.g. by clicking on tab header)<br><br>
</dd>
<dt><big><a name="TabWidget.addTab"></a>TabWidget <u>addTab</u>(Widget <i>widget</i>, string <i>labelResourceId</i>, string <i>iconId</i> = null, bool <i>enableCloseButton</i> = false);
</big></dt>
<dd>add new tab by id and label string resource id<br><br>
</dd>
<dt><big><a name="TabWidget.addTab"></a>TabWidget <u>addTab</u>(Widget <i>widget</i>, dstring <i>label</i>, string <i>iconId</i> = null, bool <i>enableCloseButton</i> = false);
</big></dt>
<dd>add new tab by id and <i>label</i> (raw value)<br><br>
</dd>
<dt><big><a name="TabWidget.removeTab"></a>TabWidget <u>removeTab</u>(string <i>id</i>);
</big></dt>
<dd>remove tab by <i>id</i><br><br>
</dd>
<dt><big><a name="TabWidget.selectTab"></a>void <u>selectTab</u>(string <i>ID</i>);
</big></dt>
<dd>select tab<br><br>
</dd>
<dt><big><a name="TabWidget.tab"></a>TabItem <u>tab</u>(int <i>index</i>);
</big></dt>
<dd>returns <u>tab</u> item by id (<b>null</b> if <i>index</i> out of range)<br><br>
</dd>
<dt><big><a name="TabWidget.tab"></a>TabItem <u>tab</u>(string <i>id</i>);
</big></dt>
<dd>returns <u>tab</u> item by <i>id</i> (<b>null</b> if not found)<br><br>
</dd>
<dt><big><a name="TabWidget.tabIndex"></a>int <u>tabIndex</u>(string <i>id</i>);
</big></dt>
<dd>get tab index by tab <i>id</i> (-1 if not found)<br><br>
</dd>
</dl>
</dd>
</dl>
</section>
<footer>
Dlangui is maintained by <a href="https://github.com/buggins">buggins</a><br>
This page was generated by <a href="http://pages.github.com">GitHub Pages</a>. Tactile theme by <a href="https://twitter.com/jasonlong">Jason Long</a>.
</footer>
</div>
</div>
</body>
</html>

177
tree.html Normal file
View File

@ -0,0 +1,177 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta charset='utf-8'>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<link href='https://fonts.googleapis.com/css?family=Chivo:900' rel='stylesheet' type='text/css'>
<link rel="stylesheet" type="text/css" href="stylesheets/stylesheet.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/pygment_trac.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/print.css" media="print" />
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<title>DlangUI - cross platform GUI library for D programming language - dlangui.widgets.tree</title>
</head>
<body>
<div id="container">
<div class="inner">
<header>
<h1>DlangUI</h1>
<h2>Cross Platform GUI for D programming language</h2>
</header>
<section id="downloads" class="clearfix">
<a href="index.html" id="home" class="button"><span>Home</span></a>
<a href="api.html" id="home" class="button"><span>API Docs</span></a>
<a href="screenshots.html" id="home" class="button"><span>Screenshots</span></a>
<a href="https://github.com/buggins/dlangui/zipball/master" id="download-zip" class="button"><span>Download .zip</span></a>
<!--a href="https://github.com/buggins/dlangui/tarball/master" id="download-tar-gz" class="button"><span>Download .tar.gz</span></a-->
<a href="https://github.com/buggins/dlangui" id="view-on-github" class="button"><span>View on GitHub</span></a>
</section>
<hr>
<section id="main_content">
<h1>dlangui.widgets.tree</h1>
<!-- Generated by Ddoc from src\dlangui\widgets\tree.d -->
<br><br>
<dl><dt><big><a name="TreeActions"></a>enum <u>TreeActions</u>: int;
</big></dt>
<dd>grid control action codes<br><br>
<dl><dt><big><a name="TreeActions.None"></a><u>None</u></big></dt>
<dd>no action<br><br>
</dd>
<dt><big><a name="TreeActions.Up"></a><u>Up</u></big></dt>
<dd>move selection up<br><br>
</dd>
<dt><big><a name="TreeActions.Down"></a><u>Down</u></big></dt>
<dd>move selection down<br><br>
</dd>
<dt><big><a name="TreeActions.Left"></a><u>Left</u></big></dt>
<dd>move selection left<br><br>
</dd>
<dt><big><a name="TreeActions.Right"></a><u>Right</u></big></dt>
<dd>move selection right<br><br>
</dd>
<dt><big><a name="TreeActions.ScrollUp"></a><u>ScrollUp</u></big></dt>
<dd>scroll up, w/o changing selection<br><br>
</dd>
<dt><big><a name="TreeActions.ScrollDown"></a><u>ScrollDown</u></big></dt>
<dd>scroll down, w/o changing selection<br><br>
</dd>
<dt><big><a name="TreeActions.ScrollLeft"></a><u>ScrollLeft</u></big></dt>
<dd>scroll left, w/o changing selection<br><br>
</dd>
<dt><big><a name="TreeActions.ScrollRight"></a><u>ScrollRight</u></big></dt>
<dd>scroll right, w/o changing selection<br><br>
</dd>
<dt><big><a name="TreeActions.ScrollTop"></a><u>ScrollTop</u></big></dt>
<dd>scroll top w/o changing selection<br><br>
</dd>
<dt><big><a name="TreeActions.ScrollBottom"></a><u>ScrollBottom</u></big></dt>
<dd>scroll bottom, w/o changing selection<br><br>
</dd>
<dt><big><a name="TreeActions.ScrollPageUp"></a><u>ScrollPageUp</u></big></dt>
<dd>scroll up, w/o changing selection<br><br>
</dd>
<dt><big><a name="TreeActions.ScrollPageDown"></a><u>ScrollPageDown</u></big></dt>
<dd>scroll down, w/o changing selection<br><br>
</dd>
<dt><big><a name="TreeActions.ScrollPageLeft"></a><u>ScrollPageLeft</u></big></dt>
<dd>scroll left, w/o changing selection<br><br>
</dd>
<dt><big><a name="TreeActions.ScrollPageRight"></a><u>ScrollPageRight</u></big></dt>
<dd>scroll right, w/o changing selection<br><br>
</dd>
<dt><big><a name="TreeActions.PageUp"></a><u>PageUp</u></big></dt>
<dd>move cursor one page up<br><br>
</dd>
<dt><big><a name="TreeActions.SelectPageUp"></a><u>SelectPageUp</u></big></dt>
<dd>move cursor one page up with selection<br><br>
</dd>
<dt><big><a name="TreeActions.PageDown"></a><u>PageDown</u></big></dt>
<dd>move cursor one page down<br><br>
</dd>
<dt><big><a name="TreeActions.SelectPageDown"></a><u>SelectPageDown</u></big></dt>
<dd>move cursor one page down with selection<br><br>
</dd>
<dt><big><a name="TreeActions.PageBegin"></a><u>PageBegin</u></big></dt>
<dd>move cursor to the beginning of page<br><br>
</dd>
<dt><big><a name="TreeActions.SelectPageBegin"></a><u>SelectPageBegin</u></big></dt>
<dd>move cursor to the beginning of page with selection<br><br>
</dd>
<dt><big><a name="TreeActions.PageEnd"></a><u>PageEnd</u></big></dt>
<dd>move cursor to the end of page<br><br>
</dd>
<dt><big><a name="TreeActions.SelectPageEnd"></a><u>SelectPageEnd</u></big></dt>
<dd>move cursor to the end of page with selection<br><br>
</dd>
<dt><big><a name="TreeActions.LineBegin"></a><u>LineBegin</u></big></dt>
<dd>move cursor to the beginning of line<br><br>
</dd>
<dt><big><a name="TreeActions.SelectLineBegin"></a><u>SelectLineBegin</u></big></dt>
<dd>move cursor to the beginning of line with selection<br><br>
</dd>
<dt><big><a name="TreeActions.LineEnd"></a><u>LineEnd</u></big></dt>
<dd>move cursor to the end of line<br><br>
</dd>
<dt><big><a name="TreeActions.SelectLineEnd"></a><u>SelectLineEnd</u></big></dt>
<dd>move cursor to the end of line with selection<br><br>
</dd>
<dt><big><a name="TreeActions.DocumentBegin"></a><u>DocumentBegin</u></big></dt>
<dd>move cursor to the beginning of document<br><br>
</dd>
<dt><big><a name="TreeActions.SelectDocumentBegin"></a><u>SelectDocumentBegin</u></big></dt>
<dd>move cursor to the beginning of document with selection<br><br>
</dd>
<dt><big><a name="TreeActions.DocumentEnd"></a><u>DocumentEnd</u></big></dt>
<dd>move cursor to the end of document<br><br>
</dd>
<dt><big><a name="TreeActions.SelectDocumentEnd"></a><u>SelectDocumentEnd</u></big></dt>
<dd>move cursor to the end of document with selection<br><br>
</dd>
</dl>
</dd>
</dl>
</section>
<footer>
Dlangui is maintained by <a href="https://github.com/buggins">buggins</a><br>
This page was generated by <a href="http://pages.github.com">GitHub Pages</a>. Tactile theme by <a href="https://twitter.com/jasonlong">Jason Long</a>.
</footer>
</div>
</div>
</body>
</html>

327
types.html Normal file
View File

@ -0,0 +1,327 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta charset='utf-8'>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<link href='https://fonts.googleapis.com/css?family=Chivo:900' rel='stylesheet' type='text/css'>
<link rel="stylesheet" type="text/css" href="stylesheets/stylesheet.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/pygment_trac.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/print.css" media="print" />
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<title>DlangUI - cross platform GUI library for D programming language - dlangui.core.types</title>
</head>
<body>
<div id="container">
<div class="inner">
<header>
<h1>DlangUI</h1>
<h2>Cross Platform GUI for D programming language</h2>
</header>
<section id="downloads" class="clearfix">
<a href="index.html" id="home" class="button"><span>Home</span></a>
<a href="api.html" id="home" class="button"><span>API Docs</span></a>
<a href="screenshots.html" id="home" class="button"><span>Screenshots</span></a>
<a href="https://github.com/buggins/dlangui/zipball/master" id="download-zip" class="button"><span>Download .zip</span></a>
<!--a href="https://github.com/buggins/dlangui/tarball/master" id="download-tar-gz" class="button"><span>Download .tar.gz</span></a-->
<a href="https://github.com/buggins/dlangui" id="view-on-github" class="button"><span>View on GitHub</span></a>
</section>
<hr>
<section id="main_content">
<h1>dlangui.core.types</h1>
<!-- Generated by Ddoc from src\dlangui\core\types.d -->
This module declares basic data <u>types</u> for usage in dlangui library.
<br><br>
<b>Synopsis:</b><br>
<pre class="d_code"><font color=blue>import</font> dlangui.core.<u>types</u>;
<font color=green>// points
</font>Point p(5, 10);
<font color=green>// rectangles
</font>Rect r(5, 13, 120, 200);
writeln(r);
<font color=green>// reference counted objects, useful for RAII / resource management.
</font><font color=blue>class</font> Foo : RefCountedObject {
<font color=blue>int</font>[] resource;
~<font color=blue>this</font>() {
writeln(<font color=red>"freeing Foo resources"</font>);
}
}
{
Ref!Foo ref1;
{
Ref!Foo fooRef = <font color=blue>new</font> RefCountedObject();
ref1 = fooRef;
}
<font color=green>// RAII: will destroy object when no more references
</font>}
</pre>
<br><br>
<b>License:</b><br>
Boost License 1.0
<br><br>
<b>Authors:</b><br>
Vadim Lopatin, coolreader.org@gmail.com<br><br>
<dl><dt><big><a name="Point"></a>struct <u>Point</u>;
</big></dt>
<dd>2D point<br><br>
<dl><dt><big><a name="Point.x"></a>int <u>x</u>;
</big></dt>
<dd><u>x</u> coordinate<br><br>
</dd>
<dt><big><a name="Point.y"></a>int <u>y</u>;
</big></dt>
<dd><u>y</u> coordinate<br><br>
</dd>
</dl>
</dd>
<dt><big><a name="Rect"></a>struct <u>Rect</u>;
</big></dt>
<dd>2D rectangle<br><br>
<dl><dt><big><a name="Rect.left"></a>int <u>left</u>;
</big></dt>
<dd>x coordinate of top <u>left</u> corner<br><br>
</dd>
<dt><big><a name="Rect.top"></a>int <u>top</u>;
</big></dt>
<dd>y coordinate of <u>top</u> left corner<br><br>
</dd>
<dt><big><a name="Rect.right"></a>int <u>right</u>;
</big></dt>
<dd>x coordinate of bottom <u>right</u> corner<br><br>
</dd>
<dt><big><a name="Rect.bottom"></a>int <u>bottom</u>;
</big></dt>
<dd>y coordinate of <u>bottom</u> right corner<br><br>
</dd>
<dt><big><a name="Rect.middlex"></a>@property int <u>middlex</u>();
</big></dt>
<dd>returns average of left, right<br><br>
</dd>
<dt><big><a name="Rect.middley"></a>@property int <u>middley</u>();
</big></dt>
<dd>returns average of top, bottom<br><br>
</dd>
<dt><big><a name="Rect.offset"></a>void <u>offset</u>(int <i>dx</i>, int <i>dy</i>);
</big></dt>
<dd>add <u>offset</u> to horizontal and vertical coordinates<br><br>
</dd>
<dt><big><a name="Rect.expand"></a>void <u>expand</u>(int <i>dx</i>, int <i>dy</i>);
</big></dt>
<dd><u>expand</u> rectangle dimensions<br><br>
</dd>
<dt><big><a name="Rect.shrink"></a>void <u>shrink</u>(int <i>dx</i>, int <i>dy</i>);
</big></dt>
<dd><u>shrink</u> rectangle dimensions<br><br>
</dd>
<dt><big><a name="Rect.setMax"></a>void <u>setMax</u>(Rect <i>rc</i>);
</big></dt>
<dd>for all fields, sets this.field to <i>rc</i>.field if <i>rc</i>.field &gt; this.field<br><br>
</dd>
<dt><big><a name="Rect.moveBy"></a>void <u>moveBy</u>(int <i>deltax</i>, int <i>deltay</i>);
</big></dt>
<dd>translate rectangle coordinates by (x,y) - add <i>deltax</i> to x coordinates, and <i>deltay</i> to y coordinates<br><br>
</dd>
<dt><big><a name="Rect.moveToFit"></a>void <u>moveToFit</u>(ref Rect <i>rc</i>);
</big></dt>
<dd>moves this rect to fit <i>rc</i> bounds, retaining the same size<br><br>
</dd>
<dt><big><a name="Rect.intersect"></a>bool <u>intersect</u>(Rect <i>rc</i>);
</big></dt>
<dd>updates this rect to intersection with <i>rc</i>, returns <b>true</b> if result is non empty<br><br>
</dd>
<dt><big><a name="Rect.intersects"></a>bool <u>intersects</u>(Rect <i>rc</i>);
</big></dt>
<dd>returns <b>true</b> if this rect has nonempty intersection with <i>rc</i><br><br>
</dd>
<dt><big><a name="Rect.isPointInside"></a>bool <u>isPointInside</u>(Point <i>pt</i>);
</big></dt>
<dd>returns <b>true</b> if point is inside of this rectangle<br><br>
</dd>
<dt><big><a name="Rect.isPointInside"></a>bool <u>isPointInside</u>(int <i>x</i>, int <i>y</i>);
</big></dt>
<dd>returns <b>true</b> if point is inside of this rectangle<br><br>
</dd>
<dt><big><a name="Rect.isInsideOf"></a>bool <u>isInsideOf</u>(Rect <i>rc</i>);
</big></dt>
<dd>this rectangle is completely inside <i>rc</i><br><br>
</dd>
</dl>
</dd>
<dt><big><a name="Glyph"></a>struct <u>Glyph</u>;
</big></dt>
<dd>character glyph<br><br>
<dl><dt><big><a name="Glyph.blackBoxX"></a>ubyte <u>blackBoxX</u>;
</big></dt>
<dd>&lt; 4: width of glyph black box<br><br>
</dd>
<dt><big><a name="Glyph.blackBoxY"></a>ubyte <u>blackBoxY</u>;
</big></dt>
<dd>&lt; 5: height of glyph black box<br><br>
</dd>
<dt><big><a name="Glyph.originX"></a>byte <u>originX</u>;
</big></dt>
<dd>&lt; 6: X origin for glyph<br><br>
</dd>
<dt><big><a name="Glyph.originY"></a>byte <u>originY</u>;
</big></dt>
<dd>&lt; 7: Y origin for glyph<br><br>
</dd>
<dt><big><a name="Glyph.width"></a>ubyte <u>width</u>;
</big></dt>
<dd>&lt; 8: full <u>width</u> of glyph<br><br>
</dd>
<dt><big><a name="Glyph.lastUsage"></a>ubyte <u>lastUsage</u>;
</big></dt>
<dd>&lt; 9: usage flag, to handle cleanup of unused glyphs<br><br>
</dd>
<dt><big><a name="Glyph.glyph"></a>ubyte[] <u>glyph</u>;
</big></dt>
<dd>&lt; 12: <u>glyph</u> data, arbitrary size<br><br>
</dd>
</dl>
</dd>
<dt><big><a name="RefCountedObject"></a>class <u>RefCountedObject</u>;
</big></dt>
<dd>base class for reference counted objects, maintains reference counter inplace.<br><br>
</dd>
<dt><big><a name="Ref"></a>struct <u>Ref</u>(T);
</big></dt>
<dd>reference counting support<br><br>
<dl><dt><big><a name="Ref.isNull"></a>const @property bool <u>isNull</u>();
</big></dt>
<dd>returns <b>true</b> if object is not assigned<br><br>
</dd>
<dt><big><a name="Ref.refCount"></a>const @property int <u>refCount</u>();
</big></dt>
<dd>returns counter of references<br><br>
</dd>
<dt><big><a name="Ref.clear"></a>void <u>clear</u>();
</big></dt>
<dd>clears reference<br><br>
</dd>
<dt><big><a name="Ref.get"></a>@property T <u>get</u>();
</big></dt>
<dd>returns object reference (<b>null</b> if not assigned)<br><br>
</dd>
<dt><big><a name="Ref.get"></a>const @property const(T) <u>get</u>();
</big></dt>
<dd>returns const reference from const object<br><br>
</dd>
</dl>
</dd>
<dt><big><a name="fromWStringz"></a>wstring <u>fromWStringz</u>(const(wchar[]) <i>s</i>);
</big></dt>
<dd>conversion from wchar z-string<br><br>
</dd>
<dt><big><a name="fromWStringz"></a>wstring <u>fromWStringz</u>(const(wchar)* <i>s</i>);
</big></dt>
<dd>conversion from wchar z-string<br><br>
</dd>
<dt><big><a name="State"></a>enum <u>State</u>: uint;
</big></dt>
<dd>widget state flags - bits<br><br>
<dl><dt><big><a name="State.Normal"></a><u>Normal</u></big></dt>
<dd>state not specified / normal<br><br>
</dd>
</dl>
</dd>
<dt><big><a name="dcharToUpper"></a>dchar <u>dcharToUpper</u>(dchar <i>ch</i>);
</big></dt>
<dd>uppercase unicode character<br><br>
</dd>
<dt><big><a name="isPathDelimiter"></a>bool <u>isPathDelimiter</u>(char <i>ch</i>);
</big></dt>
<dd>returns <b>true</b> if char <i>ch</i> is / or \ slash<br><br>
</dd>
<dt><big><a name="exePath"></a>@property string <u>exePath</u>();
</big></dt>
<dd>returns current executable path only, including last path delimiter<br><br>
</dd>
<dt><big><a name="convertPathDelimiters"></a>char[] <u>convertPathDelimiters</u>(char[] <i>buf</i>);
</big></dt>
<dd>converts path delimiters to standard for platform inplace in buffer(e.g. / to \ on windows, \ to / on posix), returns <i>buf</i><br><br>
</dd>
<dt><big><a name="convertPathDelimiters"></a>string <u>convertPathDelimiters</u>(string <i>src</i>);
</big></dt>
<dd>converts path delimiters to standard for platform (e.g. / to \ on windows, \ to / on posix)<br><br>
</dd>
<dt><big><a name="appendPath"></a>string <u>appendPath</u>(string[] <i>pathItems</i>...);
</big></dt>
<dd>appends file path parts with proper delimiters e.g. <u>appendPath</u>("/home/user", ".myapp", "config") =&gt; "/home/user/.myapp/config"<br><br>
</dd>
<dt><big><a name="appendPath"></a>char[] <u>appendPath</u>(char[] <i>buf</i>, string[] <i>pathItems</i>...);
</big></dt>
<dd>appends file path parts with proper delimiters (as well converts delimiters inside path to system) to buffer e.g. <u>appendPath</u>("/home/user", ".myapp", "config") =&gt; "/home/user/.myapp/config"<br><br>
</dd>
<dt><big><a name="splitPath"></a>string[] <u>splitPath</u>(string <i>path</i>);
</big></dt>
<dd>split <i>path</i> into elements, e.g. /home/user/dir1 -&gt; ["home", "user", "dir1"], "c:\dir1\dir2" -&gt; ["c:", "dir1", "dir2"]<br><br>
</dd>
</dl>
</section>
<footer>
Dlangui is maintained by <a href="https://github.com/buggins">buggins</a><br>
This page was generated by <a href="http://pages.github.com">GitHub Pages</a>. Tactile theme by <a href="https://twitter.com/jasonlong">Jason Long</a>.
</footer>
</div>
</div>
</body>
</html>

1003
widget.html Normal file

File diff suppressed because it is too large Load Diff

46
win32drawbuf.html Normal file
View File

@ -0,0 +1,46 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta charset='utf-8'>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<link href='https://fonts.googleapis.com/css?family=Chivo:900' rel='stylesheet' type='text/css'>
<link rel="stylesheet" type="text/css" href="stylesheets/stylesheet.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/pygment_trac.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/print.css" media="print" />
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<title>DlangUI - cross platform GUI library for D programming language - dlangui.platforms.windows.win32drawbuf</title>
</head>
<body>
<div id="container">
<div class="inner">
<header>
<h1>DlangUI</h1>
<h2>Cross Platform GUI for D programming language</h2>
</header>
<section id="downloads" class="clearfix">
<a href="index.html" id="home" class="button"><span>Home</span></a>
<a href="api.html" id="home" class="button"><span>API Docs</span></a>
<a href="screenshots.html" id="home" class="button"><span>Screenshots</span></a>
<a href="https://github.com/buggins/dlangui/zipball/master" id="download-zip" class="button"><span>Download .zip</span></a>
<!--a href="https://github.com/buggins/dlangui/tarball/master" id="download-tar-gz" class="button"><span>Download .tar.gz</span></a-->
<a href="https://github.com/buggins/dlangui" id="view-on-github" class="button"><span>View on GitHub</span></a>
</section>
<hr>
<section id="main_content">
<h1>dlangui.platforms.windows.win32drawbuf</h1>
<!-- Generated by Ddoc from src\dlangui\platforms\windows\win32drawbuf.d -->
<br><br>
</section>
<footer>
Dlangui is maintained by <a href="https://github.com/buggins">buggins</a><br>
This page was generated by <a href="http://pages.github.com">GitHub Pages</a>. Tactile theme by <a href="https://twitter.com/jasonlong">Jason Long</a>.
</footer>
</div>
</div>
</body>
</html>

124
win32fonts.html Normal file
View File

@ -0,0 +1,124 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta charset='utf-8'>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<link href='https://fonts.googleapis.com/css?family=Chivo:900' rel='stylesheet' type='text/css'>
<link rel="stylesheet" type="text/css" href="stylesheets/stylesheet.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/pygment_trac.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/print.css" media="print" />
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<title>DlangUI - cross platform GUI library for D programming language - dlangui.platforms.windows.win32fonts</title>
</head>
<body>
<div id="container">
<div class="inner">
<header>
<h1>DlangUI</h1>
<h2>Cross Platform GUI for D programming language</h2>
</header>
<section id="downloads" class="clearfix">
<a href="index.html" id="home" class="button"><span>Home</span></a>
<a href="api.html" id="home" class="button"><span>API Docs</span></a>
<a href="screenshots.html" id="home" class="button"><span>Screenshots</span></a>
<a href="https://github.com/buggins/dlangui/zipball/master" id="download-zip" class="button"><span>Download .zip</span></a>
<!--a href="https://github.com/buggins/dlangui/tarball/master" id="download-tar-gz" class="button"><span>Download .tar.gz</span></a-->
<a href="https://github.com/buggins/dlangui" id="view-on-github" class="button"><span>View on GitHub</span></a>
</section>
<hr>
<section id="main_content">
<h1>dlangui.platforms.windows.win32fonts</h1>
<!-- Generated by Ddoc from src\dlangui\platforms\windows\win32fonts.d -->
<br><br>
<dl><dt><big><a name="Win32Font"></a>class <u>Win32Font</u>: <u>dlangui.graphics.fonts.Font</u>;
</big></dt>
<dd>Font implementation based on Win32 API system fonts.<br><br>
<dl><dt><big><a name="Win32Font.this"></a>this();
</big></dt>
<dd>need to call create() after construction to initialize font<br><br>
</dd>
<dt><big><a name="Win32Font.clear"></a>void <u>clear</u>();
</big></dt>
<dd>cleanup resources<br><br>
</dd>
<dt><big><a name="Win32Font.create"></a>bool <u>create</u>(FontDef* <i>def</i>, int <i>size</i>, int <i>weight</i>, bool <i>italic</i>);
</big></dt>
<dd>init from font definition<br><br>
</dd>
</dl>
</dd>
<dt><big><a name="Win32FontManager"></a>class <u>Win32FontManager</u>: <u>dlangui.graphics.fonts.FontManager</u>;
</big></dt>
<dd>Font manager implementation based on Win32 API system fonts.<br><br>
<dl><dt><big><a name="Win32FontManager.this"></a>this();
</big></dt>
<dd>initialize in constructor<br><br>
</dd>
<dt><big><a name="Win32FontManager.init"></a>bool <u>init</u>();
</big></dt>
<dd>initialize font manager by enumerating of system fonts<br><br>
</dd>
<dt><big><a name="Win32FontManager._emptyFontRef"></a>FontRef <u>_emptyFontRef</u>;
</big></dt>
<dd>for returning of not found font<br><br>
</dd>
<dt><big><a name="Win32FontManager.getFont"></a>ref FontRef <u>getFont</u>(int <i>size</i>, int <i>weight</i>, bool <i>italic</i>, FontFamily <i>family</i>, string <i>face</i>);
</big></dt>
<dd>get font by properties<br><br>
</dd>
<dt><big><a name="Win32FontManager.findFace"></a>FontDef* <u>findFace</u>(FontFamily <i>family</i>);
</big></dt>
<dd>find font face definition by <i>family</i> only (try to get one of defaults for <i>family</i> if possible)<br><br>
</dd>
<dt><big><a name="Win32FontManager.findFace"></a>FontDef* <u>findFace</u>(string <i>face</i>);
</big></dt>
<dd>find font <i>face</i> definition by <i>face</i> only<br><br>
</dd>
<dt><big><a name="Win32FontManager.findFace"></a>FontDef* <u>findFace</u>(FontFamily <i>family</i>, string <i>face</i>);
</big></dt>
<dd>find font <i>face</i> definition by <i>family</i> and <i>face</i><br><br>
</dd>
<dt><big><a name="Win32FontManager.registerFont"></a>bool <u>registerFont</u>(FontFamily <i>family</i>, string <i>fontFace</i>, ubyte <i>pitchAndFamily</i>);
</big></dt>
<dd>register enumerated font<br><br>
</dd>
<dt><big><a name="Win32FontManager.checkpoint"></a>void <u>checkpoint</u>();
</big></dt>
<dd>clear usage flags for all entries<br><br>
</dd>
<dt><big><a name="Win32FontManager.cleanup"></a>void <u>cleanup</u>();
</big></dt>
<dd>removes entries not used after last call of checkpoint() or <u>cleanup</u>()<br><br>
</dd>
</dl>
</dd>
</dl>
</section>
<footer>
Dlangui is maintained by <a href="https://github.com/buggins">buggins</a><br>
This page was generated by <a href="http://pages.github.com">GitHub Pages</a>. Tactile theme by <a href="https://twitter.com/jasonlong">Jason Long</a>.
</footer>
</div>
</div>
</body>
</html>

52
winapp.html Normal file
View File

@ -0,0 +1,52 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta charset='utf-8'>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<link href='https://fonts.googleapis.com/css?family=Chivo:900' rel='stylesheet' type='text/css'>
<link rel="stylesheet" type="text/css" href="stylesheets/stylesheet.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/pygment_trac.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/print.css" media="print" />
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<title>DlangUI - cross platform GUI library for D programming language - dlangui.platforms.windows.winapp</title>
</head>
<body>
<div id="container">
<div class="inner">
<header>
<h1>DlangUI</h1>
<h2>Cross Platform GUI for D programming language</h2>
</header>
<section id="downloads" class="clearfix">
<a href="index.html" id="home" class="button"><span>Home</span></a>
<a href="api.html" id="home" class="button"><span>API Docs</span></a>
<a href="screenshots.html" id="home" class="button"><span>Screenshots</span></a>
<a href="https://github.com/buggins/dlangui/zipball/master" id="download-zip" class="button"><span>Download .zip</span></a>
<!--a href="https://github.com/buggins/dlangui/tarball/master" id="download-tar-gz" class="button"><span>Download .tar.gz</span></a-->
<a href="https://github.com/buggins/dlangui" id="view-on-github" class="button"><span>View on GitHub</span></a>
</section>
<hr>
<section id="main_content">
<h1>dlangui.platforms.windows.winapp</h1>
<!-- Generated by Ddoc from src\dlangui\platforms\windows\winapp.d -->
<br><br>
<dl><dt><big><a name="UIAppMain"></a>int <u>UIAppMain</u>(string[] <i>args</i>);
</big></dt>
<dd>this function should be defined in user application!<br><br>
</dd>
</dl>
</section>
<footer>
Dlangui is maintained by <a href="https://github.com/buggins">buggins</a><br>
This page was generated by <a href="http://pages.github.com">GitHub Pages</a>. Tactile theme by <a href="https://twitter.com/jasonlong">Jason Long</a>.
</footer>
</div>
</div>
</body>
</html>

46
x11app.html Normal file
View File

@ -0,0 +1,46 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta charset='utf-8'>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<link href='https://fonts.googleapis.com/css?family=Chivo:900' rel='stylesheet' type='text/css'>
<link rel="stylesheet" type="text/css" href="stylesheets/stylesheet.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/pygment_trac.css" media="screen" />
<link rel="stylesheet" type="text/css" href="stylesheets/print.css" media="print" />
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<title>DlangUI - cross platform GUI library for D programming language - src.dlangui.platforms.x11.x11app</title>
</head>
<body>
<div id="container">
<div class="inner">
<header>
<h1>DlangUI</h1>
<h2>Cross Platform GUI for D programming language</h2>
</header>
<section id="downloads" class="clearfix">
<a href="index.html" id="home" class="button"><span>Home</span></a>
<a href="api.html" id="home" class="button"><span>API Docs</span></a>
<a href="screenshots.html" id="home" class="button"><span>Screenshots</span></a>
<a href="https://github.com/buggins/dlangui/zipball/master" id="download-zip" class="button"><span>Download .zip</span></a>
<!--a href="https://github.com/buggins/dlangui/tarball/master" id="download-tar-gz" class="button"><span>Download .tar.gz</span></a-->
<a href="https://github.com/buggins/dlangui" id="view-on-github" class="button"><span>View on GitHub</span></a>
</section>
<hr>
<section id="main_content">
<h1>src.dlangui.platforms.x11.x11app</h1>
<!-- Generated by Ddoc from src\dlangui\platforms\x11\x11app.d -->
<br><br>
</section>
<footer>
Dlangui is maintained by <a href="https://github.com/buggins">buggins</a><br>
This page was generated by <a href="http://pages.github.com">GitHub Pages</a>. Tactile theme by <a href="https://twitter.com/jasonlong">Jason Long</a>.
</footer>
</div>
</div>
</body>
</html>