162 lines
9.0 KiB
HTML
162 lines
9.0 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
|
|
<title>ewol Library</title>
|
|
<link rel="stylesheet" href="base.css">
|
|
<link rel="stylesheet" href="menu.css">
|
|
</head>
|
|
<body>
|
|
<div class="navbar navbar-fixed-top">
|
|
<div class="container">
|
|
<h1>ewol Library</h1>
|
|
<div id="menu">
|
|
<h2>ewol</h2>
|
|
<ul class="niveau1">
|
|
<li class="sousmenu"><a>compositing</a>
|
|
<ul class="niveau2">
|
|
<li><a href="ewol__Compositing.html">Compositing</a></li>
|
|
<li><a href="ewol__compositing__Area.html">Area</a></li>
|
|
<li><a href="ewol__compositing__Drawing.html">Drawing</a></li>
|
|
<li><a href="ewol__compositing__Image.html">Image</a></li>
|
|
<li><a href="ewol__compositing__Shaper.html">Shaper</a></li>
|
|
<li><a href="ewol__compositing__Sprite.html">Sprite</a></li>
|
|
<li><a href="ewol__compositing__Text.html">Text</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="sousmenu"><a>context</a>
|
|
<ul class="niveau2">
|
|
<li><a href="ewol__Context.html">Context</a></li>
|
|
<li><a href="ewol__context__CommandLine.html">CommandLine</a></li>
|
|
<li><a href="ewol__context__ConfigFont.html">ConfigFont</a></li>
|
|
<li><a href="ewol__context__InputManager.html">InputManager</a></li>
|
|
<li class="sousmenu"><a href="ewol__context__clipBoard.html">clipBoard</a>
|
|
<ul class="niveau3">
|
|
<li><a href="ewol__context__clipBoard.html::clipboardListe">clipboardListe</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="ewol__context__cursorDisplay.html">cursorDisplay</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="sousmenu"><a>event</a>
|
|
<ul class="niveau2">
|
|
<li><a href="ewol__event__Entry.html">Entry</a></li>
|
|
<li><a href="ewol__event__EntrySystem.html">EntrySystem</a></li>
|
|
<li><a href="ewol__event__Input.html">Input</a></li>
|
|
<li><a href="ewol__event__InputSystem.html">InputSystem</a></li>
|
|
<li><a href="ewol__event__Time.html">Time</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="sousmenu"><a>key</a>
|
|
<ul class="niveau2">
|
|
<li><a href="ewol__key__Special.html">Special</a></li>
|
|
<li><a href="ewol__key__keyboard.html">keyboard</a></li>
|
|
<li><a href="ewol__key__status.html">status</a></li>
|
|
<li><a href="ewol__key__type.html">type</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="sousmenu"><a>object</a>
|
|
<ul class="niveau2">
|
|
<li><a href="ewol__Object.html">Object</a></li>
|
|
<li><a href="ewol__object__Config.html">Config</a></li>
|
|
<li><a href="ewol__object__ConfigElement.html">ConfigElement</a></li>
|
|
<li><a href="ewol__object__Manager.html">Manager</a></li>
|
|
<li><a href="ewol__object__Message.html">Message</a></li>
|
|
<li class="sousmenu"><a href="ewol__object__MultiCast.html">MultiCast</a>
|
|
<ul class="niveau3">
|
|
<li><a href="ewol__object__MultiCast.html::MessageList">MessageList</a></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="sousmenu"><a>openGL</a>
|
|
<ul class="niveau2">
|
|
<li><a href="ewol__openGL__openGlFlags.html">openGlFlags</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="sousmenu"><a>resource</a>
|
|
<ul class="niveau2">
|
|
<li><a href="ewol__Resource.html">Resource</a></li>
|
|
<li><a href="ewol__resource__Colored3DObject.html">Colored3DObject</a></li>
|
|
<li><a href="ewol__resource__ConfigFile.html">ConfigFile</a></li>
|
|
<li><a href="ewol__resource__FontBase.html">FontBase</a></li>
|
|
<li><a href="ewol__resource__FontFreeType.html">FontFreeType</a></li>
|
|
<li><a href="ewol__resource__Manager.html">Manager</a></li>
|
|
<li><a href="ewol__resource__Program.html">Program</a></li>
|
|
<li><a href="ewol__resource__Shader.html">Shader</a></li>
|
|
<li><a href="ewol__resource__Texture.html">Texture</a></li>
|
|
<li><a href="ewol__resource__TextureFile.html">TextureFile</a></li>
|
|
<li><a href="ewol__resource__TexturedFont.html">TexturedFont</a></li>
|
|
<li><a href="ewol__resource__VirtualBufferObject.html">VirtualBufferObject</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="sousmenu"><a>widget</a>
|
|
<ul class="niveau2">
|
|
<li><a href="ewol__Widget.html">Widget</a></li>
|
|
<li><a href="ewol__widget__Button.html">Button</a></li>
|
|
<li><a href="ewol__widget__ButtonColor.html">ButtonColor</a></li>
|
|
<li><a href="ewol__widget__CheckBox.html">CheckBox</a></li>
|
|
<li><a href="ewol__widget__ColorBar.html">ColorBar</a></li>
|
|
<li><a href="ewol__widget__ColorChooser.html">ColorChooser</a></li>
|
|
<li><a href="ewol__widget__Composer.html">Composer</a></li>
|
|
<li><a href="ewol__widget__Container.html">Container</a></li>
|
|
<li><a href="ewol__widget__ContainerN.html">ContainerN</a></li>
|
|
<li><a href="ewol__widget__ContextMenu.html">ContextMenu</a></li>
|
|
<li><a href="ewol__widget__Entry.html">Entry</a></li>
|
|
<li><a href="ewol__widget__FileChooser.html">FileChooser</a></li>
|
|
<li class="sousmenu"><a href="ewol__widget__Gird.html">Gird</a>
|
|
<ul class="niveau3">
|
|
<li><a href="ewol__widget__Gird.html::GirdProperties">GirdProperties</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="ewol__widget__Image.html">Image</a></li>
|
|
<li><a href="ewol__widget__Joystick.html">Joystick</a></li>
|
|
<li><a href="ewol__widget__Label.html">Label</a></li>
|
|
<li><a href="ewol__widget__Layer.html">Layer</a></li>
|
|
<li><a href="ewol__widget__List.html">List</a></li>
|
|
<li><a href="ewol__widget__ListFileSystem.html">ListFileSystem</a></li>
|
|
<li><a href="ewol__widget__Manager.html">Manager</a></li>
|
|
<li><a href="ewol__widget__Menu.html">Menu</a></li>
|
|
<li><a href="ewol__widget__MenuElement.html">MenuElement</a></li>
|
|
<li><a href="ewol__widget__Parameter.html">Parameter</a></li>
|
|
<li><a href="ewol__widget__ParameterList.html">ParameterList</a></li>
|
|
<li><a href="ewol__widget__PopUp.html">PopUp</a></li>
|
|
<li><a href="ewol__widget__ProgressBar.html">ProgressBar</a></li>
|
|
<li><a href="ewol__widget__Scroll.html">Scroll</a></li>
|
|
<li><a href="ewol__widget__Sizer.html">Sizer</a></li>
|
|
<li><a href="ewol__widget__Slider.html">Slider</a></li>
|
|
<li><a href="ewol__widget__Spacer.html">Spacer</a></li>
|
|
<li><a href="ewol__widget__StdPopUp.html">StdPopUp</a></li>
|
|
<li><a href="ewol__widget__WSlider.html">WSlider</a></li>
|
|
<li><a href="ewol__widget__WidgetScrooled.html">WidgetScrooled</a></li>
|
|
<li><a href="ewol__widget__Windows.html">Windows</a></li>
|
|
<li><a href="ewol__widget__elementPL.html">elementPL</a></li>
|
|
</ul>
|
|
</li>
|
|
<ul>
|
|
<h3> </h3>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="container" id="content">
|
|
<h1><center>EWOL: Bases </center></h1>
|
|
<hr><div align="right"><a href="tutorial_000_Build.html">Next: Tutorals</a></div><br/>
|
|
<h2> Overview:</h2>
|
|
EWOL is an OpenGL library for creating graphical user interfaces.
|
|
It works on many UNIX-like platforms, Windows, and OS X and some mobile platforms Android, iOs(soon).
|
|
EWOL is released under the BSD 3 clauses license (BSD v3), which allows for very flexible licensing of client applications.
|
|
EWOL has a C++ architecture that allows for maximum flexibility.<br/>
|
|
The main idea of EWOL is to create a complete abstraction of the platforms.
|
|
This generate some restriction that you will see an overwiew in the under section.<br/>
|
|
<h2>User requires:</h2>
|
|
To use ewol you need to know only C++ language. It could be usefull to know:
|
|
<ul><li> <span style="font-weight: bold;">Python</span> for all build tool.</li><li> <span style="font-weight: bold;">git</span> for all version management</li><li> <span style="font-weight: bold;">OpenGL-ES2</span> if you want to create custum advenced widget.</li></ul>
|
|
<h2> Architecture:</h2>
|
|
One of the important point to know in this framwork is some of absurd things came from the multiple architecture type.<br/>
|
|
I will Explain the main points:
|
|
<ul><li> IOs does <span style="font-weight: bold;">NOT</span> simply support the shared object sub lib, this force ewol to be BSD, and depend on some sub-library with small license restriction.</li><li> Android have a JAVA main, then the application main will not be used with this platform</li><li> Android event (keyboard, mouse, touch-screen and ...) will arrive in asynchron mode ==> need to be resynchronyse in one thread</li><li> Only one graphyc framework is availlable on all platform. This is OpenGL</li><li> Main interesting point is packaging of the application data:</li><ul><li> Linux store it in /usr/share/applName/*</li><li> MacOs store it in applName.app/subFolder/*</li><li> Android store it in the .pkg that is a renamed .zip that the name is dynamic</li><li> Windows (TODO : Never done a pakage)</li> This will generate a complex result of data access...
|
|
</ul><li> Sub lib Change on all the platform, the I will use the idea of Apple, that incluse in a package all needed libs. This could be a problem for small platform, but this framwork need to have a OpenGL-ES2 instance then the memory problem, is not really a problem.</li></ul>
|
|
</div>
|
|
</body>
|
|
</html>
|