[DEV] use doxygen documentation and update doc to markdown
This commit is contained in:
parent
a1e59a95e3
commit
a062b31ff7
@ -1,6 +1,8 @@
|
||||
=?= FAQ =?=
|
||||
FAQ
|
||||
===
|
||||
|
||||
== What is ewol licence ==
|
||||
What is ewol licence
|
||||
--------------------
|
||||
|
||||
This is really simple : APACHE-2 :
|
||||
|
||||
@ -10,7 +12,7 @@ Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
[[http://www.apache.org/licenses/LICENSE-2.0]]
|
||||
<http://www.apache.org/licenses/LICENSE-2.0>
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
@ -21,13 +23,14 @@ limitations under the License.
|
||||
|
||||
|
||||
|
||||
== Why we use "DECLARE_FACTORY" Macro ? ==
|
||||
Why we use "DECLARE_FACTORY" Macro?
|
||||
-----------------------------------
|
||||
|
||||
For some reason!!! But everything might be clear:
|
||||
:** In ewol we masively use std::shared_ptr<xxx> (I have create my own but it is not "standard" (I like when we use genecic system)).
|
||||
:** The main class : [class[ewol::Object]] herited from [i]std::enable_shared_from_this<Object>[/i] to permit to access at his own [i]std::shared_ptr[/i].
|
||||
:** Acces At his own [i]std::shared_ptr[/i] is not allowed in the class contructor/destructor.
|
||||
:** Many time for meta-widget we need to propagate our [i]std::shared_ptr[/i] in child.
|
||||
- In ewol we masively use ememory::SharedPtr (simple wrapper over std::shared_ptr (that is not thread safe ...)).
|
||||
- The main class : ewol::Object herited from ememory::EnableSharedFromThis<ewol::Object> to permit to access at his own ememory::SharedPtr.
|
||||
- Acces At his own ememory::SharedPtr is not allowed in the class contructor/destructor.
|
||||
- Many time for meta-widget we need to propagate our ememory::SharedPtr in child through the ememory::WeakPtr.
|
||||
|
||||
Then for all these reasons, I have create a simple MACRO that create a static template funtion that create the object and just after
|
||||
creation call the init(...) function to permit to create a complex widget or others with some writing convinience.
|
123
doc/mainpage.md
Normal file
123
doc/mainpage.md
Normal file
@ -0,0 +1,123 @@
|
||||
Ewol library {#mainpage}
|
||||
============
|
||||
|
||||
What is EWOL, and how can I use it?
|
||||
-----------------------------------
|
||||
|
||||
EWOL, or Edn Widget OpenGl Layer, is a multi-platform library for creating graphical user interfaces in OpenGL. Offering a complete set of widgets.
|
||||
|
||||
Where can I use it?
|
||||
-------------------
|
||||
|
||||
Everywhere! EWOL is cross-platform devolopped to support bases OS:
|
||||
- Linux (X11) (mouse)
|
||||
- Windows (mouse) (build on linux...)
|
||||
- MacOs (mouse)
|
||||
- Android (mouse + touch)
|
||||
- IOs (touch)
|
||||
|
||||
What languages are supported?
|
||||
-----------------------------
|
||||
|
||||
EWOL is written in C++ and is not (for now) supported for other languages.
|
||||
|
||||
Are there any licensing restrictions?
|
||||
-------------------------------------
|
||||
|
||||
EWOL is [b]FREE software[/b] and [i]all sub-library are FREE and staticly linkable !!![/i]
|
||||
|
||||
That allow you to use it for every program you want, including those developing proprietary software, without any license fees or royalties.
|
||||
|
||||
The static support is important for some platform like IOs, and this limit the external library use at some license like:
|
||||
- BSD*
|
||||
- MIT
|
||||
- APPACHE-2
|
||||
- PNG
|
||||
- ZLIB
|
||||
|
||||
This exclude the classical extern library with licence:
|
||||
- L-GPL
|
||||
- GPL
|
||||
|
||||
License (APACHE 2)
|
||||
------------------
|
||||
|
||||
Copyright ewol Edouard DUPIN
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
<http://www.apache.org/licenses/LICENSE-2.0>
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
|
||||
Sub library:
|
||||
------------
|
||||
|
||||
License:
|
||||
|
||||
- [**etk**](http://atria-soft.github.io/etk) : APACHE-2
|
||||
- [**elog**](http://atria-soft.github.io/elog) : APACHE-2
|
||||
+ **linearmath** : z-lib (subset of bullet lib)
|
||||
+ [**earchive**](http://atria-soft.github.io/earchive) : APACHE-2
|
||||
* **zlib** : z-lib
|
||||
- [**egami**](http://atria-soft.github.io/egami) : APACHE-2
|
||||
+ [**esvg**](http://atria-soft.github.io/esvg) : APACHE-2
|
||||
+ **libpng** : PNG
|
||||
- **libogg** : BSD-like
|
||||
- **libfreetype** : BSD-like
|
||||
- [**e-json**](http://atria-soft.github.io/ejson) : APACHE-2
|
||||
- [**e-xml**](http://atria-soft.github.io/exml) : APACHE-2
|
||||
- [**audio**](http://musicdsp.github.io/audio) : APACHE-2
|
||||
- [**audio-orchestra**](http://musicdsp.github.io/audio-orchestra) : APACHE-2
|
||||
- [**audio-river**](http://musicdsp.github.io/audio-river) : APACHE-2
|
||||
|
||||
...
|
||||
|
||||
Description:
|
||||
------------
|
||||
|
||||
Internal:
|
||||
|
||||
- [**elog**](http://atria-soft.github.io/elog) : Generic Log interface (for Android and MacOs) ...
|
||||
- [**etk**](http://atria-soft.github.io/etk) : Generic toolkit to acces on file, standardize acces on string (for Android and MacOs) ...
|
||||
- [**earchive**](http://atria-soft.github.io/earchive) : Generic access to a zip file (used to access on file on Android)
|
||||
- [**egami**](http://atria-soft.github.io/egami) : generic image accessor for PNG, svg and bmp image (might add some other type ...)
|
||||
- [**esvg**](http://atria-soft.github.io/esvg) : Generic SVG image parser and displayer
|
||||
- [**e-json**](http://atria-soft.github.io/ejson) : JSON file access (read and write)
|
||||
- [**e-xml**](http://atria-soft.github.io/exml) : XML file access (read and write)
|
||||
- [**audio**](http://musicdsp.github.io/audio) : Basic audio format
|
||||
- [**audio-orchestra**](http://musicdsp.github.io/audio-orchestra) : Low level wrapper of audio interface (Linux/Windows/MacOs/IOs/Android)
|
||||
- [**audio-river**](http://musicdsp.github.io/audio-river) : High level audio abstraction
|
||||
- [**ege**](http://musicdsp.github.io/ege) : Ewol Game engine is a wrapper on the the bullet physical engine and ewol renderer engin. This is in developpement for now (the simple objective is to produce game to make profitable all my work)
|
||||
|
||||
External:
|
||||
---------
|
||||
|
||||
- **linearmath** : bullet mathamatical sub lib (for using same vec3).
|
||||
- **Z lib** : Clkassical zlib lib.
|
||||
- **libPNG** : the classical png display lib.
|
||||
- **ogg** : The classical Ogg coder reader lib.
|
||||
- **freetype** : The classicle true-type reader lib.
|
||||
- **bulletlib** : the classical bullet library physical engine. (dependence by ege)
|
||||
|
||||
Program Using EWOL
|
||||
------------------
|
||||
|
||||
- [**edn**](http://musicdsp.github.io/edn): (Application in GPLv3) Edn is the main application using this lib and designed for (in the first time). This is a "Code editor".
|
||||
- [**worddown**](http://play.google.com/store/apps/details?id=com.edouarddupin.worddown): (Proprietary) Worddown is a simple word game.
|
||||
|
||||
|
||||
Main documentation:
|
||||
-------------------
|
||||
|
||||
[doc[001_bases | Global Documantation]]
|
||||
|
||||
[tutorial[000_Build | Tutorials]]
|
||||
|
29
doxy_ewol.py
Normal file
29
doxy_ewol.py
Normal file
@ -0,0 +1,29 @@
|
||||
#!/usr/bin/python
|
||||
import os
|
||||
import doxy.module as module
|
||||
import doxy.debug as debug
|
||||
import doxy.tools as tools
|
||||
|
||||
def create(target, module_name):
|
||||
my_module = module.Module(__file__, module_name)
|
||||
my_module.set_version([0,9,"dev"])
|
||||
my_module.set_title("Ewol: Ewol Widget in OpenGl")
|
||||
my_module.set_website("http://atria-soft.github.io/" + module_name)
|
||||
my_module.set_website_sources("http://github.com/atria-soft/" + module_name)
|
||||
my_module.set_path([
|
||||
os.path.join(tools.get_current_path(__file__), module_name),
|
||||
os.path.join(tools.get_current_path(__file__), "doc")
|
||||
])
|
||||
my_module.add_module_depend([
|
||||
'elog',
|
||||
'etk',
|
||||
'esignal',
|
||||
'eproperty',
|
||||
'ememory',
|
||||
'gale',
|
||||
'exml',
|
||||
'ejson',
|
||||
'egami'
|
||||
])
|
||||
|
||||
return my_module
|
@ -1,43 +1,43 @@
|
||||
/**
|
||||
/** @file
|
||||
* @author Edouard DUPIN
|
||||
*
|
||||
* @copyright 2010, Edouard DUPIN, all right reserved
|
||||
* @copyright 2011, Edouard DUPIN, all right reserved
|
||||
*
|
||||
* @license GPL v3 (see license file)
|
||||
* @license APACHE v2.0 (see license file)
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <elog/log.h>
|
||||
#include <assert.h>
|
||||
|
||||
namespace appl {
|
||||
/**
|
||||
* @brief Get local id of the library
|
||||
* @return Unique ID of the library
|
||||
*/
|
||||
int32_t getLogId();
|
||||
};
|
||||
// TODO : Review this problem of multiple intanciation of "std::stringbuf sb"
|
||||
#define APPL_BASE(info,data) \
|
||||
do { \
|
||||
if (info <= elog::getLevel(appl::getLogId())) { \
|
||||
std::stringbuf sb; \
|
||||
std::ostream tmpStream(&sb); \
|
||||
tmpStream << data; \
|
||||
elog::logStream(appl::getLogId(), info, __LINE__, __class__, __func__, tmpStream); \
|
||||
} \
|
||||
} while(0)
|
||||
|
||||
#define APPL_CRITICAL(data) APPL_BASE(1, data)
|
||||
#define APPL_ERROR(data) APPL_BASE(2, data)
|
||||
#define APPL_WARNING(data) APPL_BASE(3, data)
|
||||
#define APPL_BASIC(info,data) ELOG_BASE(appl::getLogId(),info,data)
|
||||
|
||||
#define APPL_PRINT(data) APPL_BASIC(-1, data)
|
||||
#define APPL_CRITICAL(data) APPL_BASIC(1, data)
|
||||
#define APPL_ERROR(data) APPL_BASIC(2, data)
|
||||
#define APPL_WARNING(data) APPL_BASIC(3, data)
|
||||
#ifdef DEBUG
|
||||
#define APPL_INFO(data) APPL_BASE(4, data)
|
||||
#define APPL_DEBUG(data) APPL_BASE(5, data)
|
||||
#define APPL_VERBOSE(data) APPL_BASE(6, data)
|
||||
#define APPL_TODO(data) APPL_BASE(4, "TODO : " << data)
|
||||
#define APPL_INFO(data) APPL_BASIC(4, data)
|
||||
#define APPL_DEBUG(data) APPL_BASIC(5, data)
|
||||
#define APPL_VERBOSE(data) APPL_BASIC(6, data)
|
||||
#define APPL_TODO(data) APPL_BASIC(4, "TODO : " << data)
|
||||
#else
|
||||
#define APPL_INFO(data) do { } while(false)
|
||||
#define APPL_DEBUG(data) do { } while(false)
|
||||
#define APPL_VERBOSE(data) do { } while(false)
|
||||
#define APPL_TODO(data) do { } while(false)
|
||||
#define APPL_INFO(data) do { } while(false)
|
||||
#define APPL_DEBUG(data) do { } while(false)
|
||||
#define APPL_VERBOSE(data) do { } while(false)
|
||||
#define APPL_TODO(data) do { } while(false)
|
||||
#endif
|
||||
|
||||
#define APPL_HIDDEN(data) do { } while(false)
|
||||
|
||||
#define APPL_ASSERT(cond,data) \
|
||||
do { \
|
||||
if (!(cond)) { \
|
||||
|
Loading…
x
Reference in New Issue
Block a user