diff --git a/001_bases.html b/001_bases.html index c9ad2c59..b69b757f 100644 --- a/001_bases.html +++ b/001_bases.html @@ -15,6 +15,8 @@

Documentation:

Tutorials:


Associate libraries:

+ + diff --git a/class_ewol__Resource.html b/class_ewol__Resource.html index 6ffb8ca9..f015ade7 100644 --- a/class_ewol__Resource.html +++ b/class_ewol__Resource.html @@ -15,6 +15,8 @@

Documentation:

Tutorials:


Associate libraries:

class: ewol::Resource


Description:

- -

+A Resource is a generic interface to have an instance that have things that can be used by many people, ad have some hardware dependency. +For example of resources : +:INDENT: ...

Associated Namespace:

Constructor and Destructor:

-+                                   Resource            (void );
+ Resource (const std::string & _name);
+ virtual ~Resource (void );
+# Resource ();
+ virtual ~Resource ();

Synopsis:

-+         void                      increment           (void );
+ bool decrement (void );
+ int32_t getCounter (void );
# uint8_t m_resourceLevel;
+ uint8_t getResourceLevel (void );
+ virtual void updateContext (void );
+ virtual void removeContext (void );
+ virtual void removeContextToLate (void );
+ virtual void reload (void );
+ ewol::resource::Manager & getManager (void );
+# void init ();
# void init (const std::string & _name);
# uint8_t m_resourceLevel;
+ uint8_t getResourceLevel ();
+ virtual void updateContext ();
+ virtual void removeContext ();
+ virtual void removeContextToLate ();
+ virtual void reload ();
# ewol::resource::Manager & getManager ();

Object Hierarchy:

-+ewol::Object
+--> ewol::Resource
+--> ewol::resource::Colored3DObject
+--> ewol::resource::Program
+--> ewol::resource::Texture
+--> ewol::resource::Shader
+--> ewol::resource::ConfigFile
+--> ewol::resource::VirtualBufferObject
+--> ewol::resource::FontBase
+--> ege::resource::Mesh
++std::enable_shared_from_this<Object>
+ewol::object::ParameterList
+ewol::object::SignalList
+--> +ewol::Object
+--> ewol::Resource
+--> ewol::resource::Colored3DObject
+--> ewol::resource::Program
+--> ewol::resource::Texture
+--> ewol::resource::Shader
+--> ewol::resource::ConfigFile
+--> ewol::resource::ColorFile
+--> ewol::resource::VirtualBufferObject
+--> ewol::resource::FontBase
+--> ege::resource::Mesh

Detail:

-

Resource

-+  Resource (void );
- -
+

Resource

+#  Resource ();
+generic protected contructor (use factory to create this class)


-

Resource

-+  Resource (const std::string & _name);
+

init

+# void init ();
# void init (const
std::string & _name);
+Initialisation of the class and previous classes.
-


-

~Resource

-+ virtual  ~Resource (void );
+

~Resource

++ virtual  ~Resource ();
-
+geenric destructor


-

increment

-+ void increment (void );
- -
-
-
-

decrement

-+ bool decrement (void );
- -
-
-
-

getCounter

-+ int32_t getCounter (void );
- -
-
-
-

m_resourceLevel

+

m_resourceLevel

 # uint8_t m_resourceLevel;
-Level of the resource ==> for updata priority [0..5] 0 must be update first.
+Level of the resource ==> for update priority [0..5] 0 must be update first.


-

getResourceLevel

-+ uint8_t getResourceLevel (void );
+

getResourceLevel

++ uint8_t getResourceLevel ();
+Get the current resource level;
    + +
    Return: value in [0..5]
    +
-


-

updateContext

-+ virtual void updateContext (void );
- -
+

updateContext

++ virtual void updateContext ();
+Call when need to send data on the harware (openGL)
Note: This is done asynchronously with the create of the Resource.


-

removeContext

-+ virtual void removeContext (void );
- -
+

removeContext

++ virtual void removeContext ();
+The current OpenGl context is removing ==> remove yout own system data


-

removeContextToLate

-+ virtual void removeContextToLate (void );
- -
+

removeContextToLate

++ virtual void removeContextToLate ();
+The notification of the Context removing is too late, we have no more acces on the OpenGl context (thank you Android). +Juste update your internal state


-

reload

-+ virtual void reload (void );
- -
+

reload

++ virtual void reload ();
+User request the reload of all resources (usefull when the file depend on DATA:GUI:xxx ...


getManager

-+ ewol::resource::Manager & getManager (void );
- -
+# ewol::resource::Manager & getManager ();
+Get the current resource Manager


diff --git a/class_ewol__Widget.html b/class_ewol__Widget.html index 442d195e..06af97e9 100644 --- a/class_ewol__Widget.html +++ b/class_ewol__Widget.html @@ -15,6 +15,8 @@

Documentation:

Tutorials:


Associate libraries:

diff --git a/class_ewol__compositing__Shaper.html b/class_ewol__compositing__Shaper.html index c86795c7..39831c92 100644 --- a/class_ewol__compositing__Shaper.html +++ b/class_ewol__compositing__Shaper.html @@ -15,6 +15,8 @@

Documentation:

Tutorials:


Associate libraries:

diff --git a/class_ewol__compositing__Sprite.html b/class_ewol__compositing__Sprite.html index 6625b928..5b22bcdc 100644 --- a/class_ewol__compositing__Sprite.html +++ b/class_ewol__compositing__Sprite.html @@ -15,6 +15,8 @@

Documentation:

Tutorials:


Associate libraries:

Documentation:

Tutorials:


Associate libraries:

Documentation:

Tutorials:


Associate libraries:

Documentation:

Tutorials:


Associate libraries:

Documentation:

Tutorials:


Associate libraries:

diff --git a/class_ewol__object__Message.html b/class_ewol__object__Message.html deleted file mode 100644 index 7658ff68..00000000 --- a/class_ewol__object__Message.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - ewol Library - - - - - -
-

class: ewol::object::Message


Description:

- -

-

Constructor and Destructor:

-
-+                     Message        (ewol::Object* _caller,
const char* _message,
const std::string & _data);
-
-

Synopsis:

-
-+ void                setCaller      (ewol::Object* _caller);
+ ewol::Object* getCaller (void ) const;
+ void setMessage (const char* _message);
+ const char* getMessage (void ) const;
+ void setData (const std::string & _data);
+ const std::string & getData (void ) const;
-
-

Detail:

-

Message

-+  Message (ewol::Object* _caller,
const char* _message,
const std::string & _data);
- -
-
-
-

setCaller

-+ void setCaller (ewol::Object* _caller);
- -
-
-
-

getCaller

-+ ewol::Object* getCaller (void ) const;
- -
-
-
-

setMessage

-+ void setMessage (const char* _message);
- -
-
-
-

getMessage

-+ const char* getMessage (void ) const;
- -
-
-
-

setData

-+ void setData (const std::string & _data);
- -
-
-
-

getData

-+ const std::string & getData (void ) const;
- -
-
-
-
- - - diff --git a/class_ewol__object__MultiCast.html b/class_ewol__object__MultiCast.html deleted file mode 100644 index 03694962..00000000 --- a/class_ewol__object__MultiCast.html +++ /dev/null @@ -1,140 +0,0 @@ - - - - - ewol Library - - - - - -
-

class: ewol::object::MultiCast


Description:

- -

-

Constructor and Destructor:

-
-+                          MultiCast     (void );
+ ~MultiCast (void );
-
-

Synopsis:

-
-+ void                     anonymousSend (const char* const _messageId,
const std::string & _data);
+ void send (ewol::Object* _object,
const char* const _message,
const std::string & _data);
+ void rm (ewol::Object* _object);
+ void add (ewol::Object* _object,
const char* const _message);
-
-

Detail:

-

MultiCast

-+  MultiCast (void );
- -
-
-
-

~MultiCast

-+  ~MultiCast (void );
- -
-
-
-

anonymousSend

-+ void anonymousSend (const char* const _messageId,
const
std::string & _data);
- -
-
-
-

send

-+ void send (ewol::Object* _object,
const char* const _message,
const std::string & _data);
- -
-
-
-

rm

-+ void rm (ewol::Object* _object);
- -
-
-
-

add

-+ void add (ewol::Object* _object,
const char* const _message);
- -
-
-
-
- - - diff --git a/class_ewol__object__ParamList__template_MY_TYPE_isEventReceiving__.html b/class_ewol__object__ParamList__template_MY_TYPE_isEventReceiving__.html new file mode 100644 index 00000000..7d5fa8aa --- /dev/null +++ b/class_ewol__object__ParamList__template_MY_TYPE_isEventReceiving__.html @@ -0,0 +1,234 @@ + + + + + ewol Library + + + + + +
+

class: ewol::object::template<MY_TYPE, isEventReceiving> ParamList


Description:

+ +

+

Synopsis:

+
++                                       ParamList                (ewol::object::ParameterList & _objectLink,
const std::string & _name,
const MY_TYPE & _defaultValue,
const std::string & _description);
+ virtual ~ParamList ();
+ void add (const MY_TYPE & _value,
const std::string & _name,
const std::string & _description);
+ virtual std::string getType () const;
+ virtual std::string getString () const;
+ virtual std::string getDefault () const;
+ virtual void setString (const std::string & _newVal);
+ virtual std::string getInfo () const;
+ virtual bool isDefault () const;
+ virtual void setDefault ();
+ void setDefaultValue (const MY_TYPE & _value);
+ MY_TYPE & get ();
+ const inlineMY_TYPE & get () const;
+ void set (MY_TYPE _newVal);
+ const ParamList & operator = (MY_TYPE _newVal);
+ operator const MY_TYPE & () const;
+ MY_TYPE & operator * () const;
+ const MY_TYPE* operator -> () const;
+ MY_TYPE* operator -> ();
+
+

Object Hierarchy:

+
++Parameter
+--> ewol::object::ParamList
+

Detail:

+

ParamList

++  ParamList (ewol::object::ParameterList & _objectLink,
const std::string & _name,
const MY_TYPE & _defaultValue,
const std::string & _description);
+Create a parameter with List of element parameter.
    + + + + +
    Parameter [input]:_objectLink reference on the parameter lister.
    Parameter [input]:_name Static name of the parameter.
    Parameter [input]:_description description of the parameter.
    +
+ +
+
+

~ParamList

++ virtual  ~ParamList ();
+Destructor.
+
+
+

add

++ void add (const MY_TYPE & _value,
const
std::string & _name,
const std::string & _description);
+ +
+
+
+

getType

++ virtual std::string getType () const;
+ +
+
+
+

getString

++ virtual std::string getString () const;
+ +
+
+
+

getDefault

++ virtual std::string getDefault () const;
+ +
+
+
+

setString

++ virtual void setString (const std::string & _newVal);
+ +
+
+
+

getInfo

++ virtual std::string getInfo () const;
+ +
+
+
+

isDefault

++ virtual bool isDefault () const;
+ +
+
+
+

setDefault

++ virtual void setDefault ();
+ +
+
+
+

setDefaultValue

++ void setDefaultValue (const MY_TYPE & _value);
+ +
+
+
+

get

++ MY_TYPE & get ();
+Get the value of the current parameter.
    + +
    Return: the Reference value
    +
+ +
+
+

get

++ const inlineMY_TYPE & get () const;
+ +
+
+
+

set

++ void set (MY_TYPE _newVal);
+Set the value of the current parameter.
    + + +
    Parameter [input]:_newVal New value of the parameter. (not set if out of range)
    +
+ +
+
+

operator =

++ const ParamList & operator = (MY_TYPE _newVal);
+assignement operator.
    + + +
    Parameter [input]:newVal The new value of the parameter.
    +
+ +
+
+

operator const MY_TYPE &

++  operator const MY_TYPE & () const;
+ +
+
+
+

operator *

++ MY_TYPE & operator * () const;
+ +
+
+
+

operator ->

++ const MY_TYPE* operator -> () const;
+ +
+
+
+

operator ->

++ MY_TYPE* operator -> ();
+ +
+
+
+
+ + + diff --git a/class_ewol__object__ParamRange__template_MY_TYPE_isEventReceiving__.html b/class_ewol__object__ParamRange__template_MY_TYPE_isEventReceiving__.html new file mode 100644 index 00000000..431b9414 --- /dev/null +++ b/class_ewol__object__ParamRange__template_MY_TYPE_isEventReceiving__.html @@ -0,0 +1,225 @@ + + + + + ewol Library + + + + + +
+

class: ewol::object::template<MY_TYPE, isEventReceiving> ParamRange


Description:

+ +

+

Synopsis:

+
++                                ParamRange               (ewol::object::ParameterList & _objectLink,
const std::string & _name,
const MY_TYPE & _defaultValue,
const MY_TYPE & _min,
const MY_TYPE & _max,
const std::string & _description);
+ virtual ~ParamRange ();
+ virtual std::string getType () const;
+ virtual std::string getString () const;
+ virtual std::string getDefault () const;
+ virtual void setString (const std::string & _newVal);
+ virtual std::string getInfo () const;
+ virtual bool isDefault () const;
+ virtual void setDefault ();
+ MY_TYPE & get ();
+ const inlineMY_TYPE & get () const;
+ void set (const MY_TYPE & _newVal);
+ const Param<MY_TYPE> & operator = (const MY_TYPE & _newVal);
+ operator const MY_TYPE & () const;
+ MY_TYPE & operator * () const;
+ const MY_TYPE* operator -> () const;
+ MY_TYPE* operator -> ();
+
+

Object Hierarchy:

+
++Parameter
+--> ewol::object::ParamRange
+

Detail:

+

ParamRange

++  ParamRange (ewol::object::ParameterList & _objectLink,
const std::string & _name,
const MY_TYPE & _defaultValue,
const MY_TYPE & _min,
const MY_TYPE & _max,
const std::string & _description);
+Create a parameter with a specific type.
    + + + + + + + +
    Parameter [input]:_objectLink reference on the parameter lister.
    Parameter [input]:_name Static name of the parameter.
    Parameter [input]:_defaultValue Default value of the parameter.
    Parameter [input]:_min Minumum value.
    Parameter [input]:_max Maximum value.
    Parameter [input]:_description description of the parameter.
    +
+ +
+
+

~ParamRange

++ virtual  ~ParamRange ();
+Destructor.
+
+
+

getType

++ virtual std::string getType () const;
+ +
+
+
+

getString

++ virtual std::string getString () const;
+ +
+
+
+

getDefault

++ virtual std::string getDefault () const;
+ +
+
+
+

setString

++ virtual void setString (const std::string & _newVal);
+ +
+
+
+

getInfo

++ virtual std::string getInfo () const;
+ +
+
+
+

isDefault

++ virtual bool isDefault () const;
+ +
+
+
+

setDefault

++ virtual void setDefault ();
+ +
+
+
+

get

++ MY_TYPE & get ();
+Get the value of the current parameter.
Note: For performence, this function must be inline
    + +
    Return: the Reference value
    +
+ +
+
+

get

++ const inlineMY_TYPE & get () const;
+ +
+
+
+

set

++ void set (const MY_TYPE & _newVal);
+Set a new value for this parameter
    + + +
    Parameter [input]:newVal New value to set (set the nearest value if range is set)
    +
+ +
+
+

operator =

++ const Param<MY_TYPE> & operator = (const MY_TYPE & _newVal);
+assignement operator.
    + + +
    Parameter [input]:newVal The new value of the parameter.
    +
+ +
+
+

operator const MY_TYPE &

++  operator const MY_TYPE & () const;
+ +
+
+
+

operator *

++ MY_TYPE & operator * () const;
+ +
+
+
+

operator ->

++ const MY_TYPE* operator -> () const;
+ +
+
+
+

operator ->

++ MY_TYPE* operator -> ();
+ +
+
+
+
+ + + diff --git a/class_ewol__object__Param__template_MY_TYPE_isEventReceiving__.html b/class_ewol__object__Param__template_MY_TYPE_isEventReceiving__.html new file mode 100644 index 00000000..7efed2d5 --- /dev/null +++ b/class_ewol__object__Param__template_MY_TYPE_isEventReceiving__.html @@ -0,0 +1,231 @@ + + + + + ewol Library + + + + + +
+

class: ewol::object::template<MY_TYPE, isEventReceiving> Param


Description:

+ +

+

Synopsis:

+
++                                Param                    (ewol::object::ParameterList & _objectLink,
const std::string & _name,
const MY_TYPE & _defaultValue,
const std::string & _description);
+ Param (ewol::object::ParameterList & _objectLink,
const std::string & _name,
const std::string & _description);
+ virtual ~Param ();
+ virtual std::string getType () const;
+ virtual std::string getString () const;
+ virtual std::string getDefault () const;
+ virtual void setString (const std::string & _newVal);
+ virtual std::string getInfo () const;
+ virtual bool isDefault () const;
+ virtual void setDefault ();
+ MY_TYPE & get ();
+ const inlineMY_TYPE & get () const;
+ void set (const MY_TYPE & _newVal);
+ const Param<MY_TYPE> & operator = (const MY_TYPE & _newVal);
+ operator const MY_TYPE & () const;
+ MY_TYPE & operator * () const;
+ const MY_TYPE* operator -> () const;
+ MY_TYPE* operator -> ();
+
+

Object Hierarchy:

+
++Parameter
+--> ewol::object::Param
+

Detail:

+

Param

++  Param (ewol::object::ParameterList & _objectLink,
const std::string & _name,
const MY_TYPE & _defaultValue,
const std::string & _description);
+Create a parameter with a specific type.
    + + + + + + + +
    Parameter [input]:_objectLink reference on the parameter lister.
    Parameter [input]:_name Static name of the parameter.
    Parameter [input]:_defaultValue Default value of the parameter.
    Parameter [input]:_min Minumum value.
    Parameter [input]:_max Maximum value.
    Parameter [input]:_description description of the parameter.
    +
+ +
+
+

Param

++  Param (ewol::object::ParameterList & _objectLink,
const std::string & _name,
const std::string & _description);
+ +
+
+
+

~Param

++ virtual  ~Param ();
+Destructor.
+
+
+

getType

++ virtual std::string getType () const;
+ +
+
+
+

getString

++ virtual std::string getString () const;
+ +
+
+
+

getDefault

++ virtual std::string getDefault () const;
+ +
+
+
+

setString

++ virtual void setString (const std::string & _newVal);
+ +
+
+
+

getInfo

++ virtual std::string getInfo () const;
+ +
+
+
+

isDefault

++ virtual bool isDefault () const;
+ +
+
+
+

setDefault

++ virtual void setDefault ();
+ +
+
+
+

get

++ MY_TYPE & get ();
+Get the value of the current parameter.
Note: For performence, this function must be inline
    + +
    Return: the Reference value
    +
+ +
+
+

get

++ const inlineMY_TYPE & get () const;
+ +
+
+
+

set

++ void set (const MY_TYPE & _newVal);
+Set a new value for this parameter
    + + +
    Parameter [input]:newVal New value to set (set the nearest value if range is set)
    +
+ +
+
+

operator =

++ const Param<MY_TYPE> & operator = (const MY_TYPE & _newVal);
+assignement operator.
    + + +
    Parameter [input]:newVal The new value of the parameter.
    +
+ +
+
+

operator const MY_TYPE &

++  operator const MY_TYPE & () const;
+ +
+
+
+

operator *

++ MY_TYPE & operator * () const;
+ +
+
+
+

operator ->

++ const MY_TYPE* operator -> () const;
+ +
+
+
+

operator ->

++ MY_TYPE* operator -> ();
+ +
+
+
+
+ + + diff --git a/class_ewol__object__Parameter.html b/class_ewol__object__Parameter.html new file mode 100644 index 00000000..e3e2cde9 --- /dev/null +++ b/class_ewol__object__Parameter.html @@ -0,0 +1,191 @@ + + + + + ewol Library + + + + + +
+

class: ewol::object::Parameter


Description:

+ +

+

Constructor and Destructor:

+
++                                       Parameter    (ewol::object::ParameterList & _objectLink,
const std::string & _name);
+ virtual ~Parameter ();
+
+

Synopsis:

+
++         void                          notifyChange () const;
+ virtual std::string getName () const;
+ virtual std::string getType () = 0 const;
+ virtual std::string getString () = 0 const;
+ virtual std::string getDefault () = 0 const;
+ virtual void setString (const std::string & _newVal) = 0;
+ virtual std::string getInfo () = 0 const;
+ virtual bool isDefault () = 0 const;
+ virtual void setDefault () = 0;
+
+

Detail:

+

Parameter

++  Parameter (ewol::object::ParameterList & _objectLink,
const std::string & _name);
+ +
+
+
+

~Parameter

++ virtual  ~Parameter ();
+ +
+
+
+

notifyChange

++ void notifyChange () const;
+call main class that parameterChange
+
+
+

getName

++ virtual std::string getName () const;
+Get the name of the parameter.
    + +
    Return: The name of the parameter
    +
+ +
+
+

getType

++ virtual std::string getType () = 0 const;
+Get the type of the parameter in string mode.
    + +
    Return: The string type of the parameter.
    +
+ +
+
+

getString

++ virtual std::string getString () = 0 const;
+Get the string of the current value of the parameter.
    + +
    Return: The string description of the value.
    +
+ +
+
+

getDefault

++ virtual std::string getDefault () = 0 const;
+Get the string of the default value of the parameter.
    + +
    Return: the string decription of the default value.
    +
+ +
+
+

setString

++ virtual void setString (const std::string & _newVal) = 0;
+Set a new value of the parameter (with string interface).
    + + +
    Parameter [input]:_newVal New value of the parameters.
    +
+ +
+
+

getInfo

++ virtual std::string getInfo () = 0 const;
+Description of the parameters.
    + +
    Return: Descriptive information of the parameter (for remote UI).
    +
+ +
+
+

isDefault

++ virtual bool isDefault () = 0 const;
+Check if the value is the default
    + +
    Return: true : the vakue is the default one, false otherwise.
    +
+ +
+
+

setDefault

++ virtual void setDefault () = 0;
+Reset the value to the default value.
+
+
+
+ + + diff --git a/class_ewol__object__ParameterList.html b/class_ewol__object__ParameterList.html new file mode 100644 index 00000000..dbf377a3 --- /dev/null +++ b/class_ewol__object__ParameterList.html @@ -0,0 +1,180 @@ + + + + + ewol Library + + + + + +
+

class: ewol::object::ParameterList


Description:

+ +

+

Constructor and Destructor:

+
++                                               ParameterList          ();
+ virtual ~ParameterList ();
+
+

Synopsis:

+
++         void                                  parameterAdd           (Parameter* _pointerOnParameter);
+ void parameterClean ();
+ bool parameterSet (const std::string & _parameter,
const std::string & _value);
+ std::string parameterGet (const std::string & _parameter) const;
+ void parameterDisplay (bool _changeOnly) const;
+ virtual void onParameterChangeValue (const ewol::object::ParameterRef & _paramPointer);
+ std::map<std::string,std::string> parameterGetAll (bool _notIfDefault) const;
+
+

Detail:

+

ParameterList

++  ParameterList ();
+Constructor.
+
+
+

~ParameterList

++ virtual  ~ParameterList ();
+Destructor.
+
+
+

parameterAdd

++ void parameterAdd (Parameter* _pointerOnParameter);
+Register a parameter class pointer in the List of parameters
Note: This class does not destroy the parameter pointer!!!
    + + +
    Parameter [input]:pointerOnParameter Pointer on the parameter that might be added.
    +
+ +
+
+

parameterClean

++ void parameterClean ();
+Remove all the parameter reference in this class.
Note: no delete, just clean and inform that a parameter has not been removed.
+
+
+

parameterSet

++ bool parameterSet (const std::string & _parameter,
const std::string & _value);
+Set a specific value to the parameter reference name.
    + + + +
    Parameter [input]:parameter The parameter string name.
    Parameter [input]:value The new value of the parameter (string).
    Return: true Parameter update.<br/>false Parameter not update.
    +
+ +
+
+

parameterGet

++ std::string parameterGet (const std::string & _parameter) const;
+Get a specific value of the parameter reference name.
    + + +
    Parameter [input]:parameter The parameter string name.
    Return: The value of the parameter (string).
    +
+ +
+
+

parameterDisplay

++ void parameterDisplay (bool _changeOnly) const;
+Display all the parameter value with there name.
    + + +
    Parameter [input]:changeOnly check at true if the user want to display only parameter that are not at default value.
    +
+ +
+
+

onParameterChangeValue

++ virtual void onParameterChangeValue (const ewol::object::ParameterRef & _paramPointer);
+Called when a parameter change value.
    + + +
    Parameter [input]:_paramPointer Pointer on the parameter (to know which parameter have change);
    +
+ +
+
+

parameterGetAll

++ std::map<std::string,std::string> parameterGetAll (bool _notIfDefault) const;
+Get All the parameter configuration:
    + +
    Return: map on the parameters
    +
+ +
+
+
+ + + diff --git a/namespace_ewol__audio__wav.html b/class_ewol__object__ParameterRef.html similarity index 59% rename from namespace_ewol__audio__wav.html rename to class_ewol__object__ParameterRef.html index 76aa894e..b39408c5 100644 --- a/namespace_ewol__audio__wav.html +++ b/class_ewol__object__ParameterRef.html @@ -15,6 +15,8 @@

Documentation:

Tutorials:


Associate libraries:

-

namespace: ewol::audio::wav


Description:

+

class: ewol::object::ParameterRef


Description:



+

Constructor and Destructor:

+
++                  ParameterRef (const Parameter* _ref);
+

Synopsis:

-  int16_t* loadData (std::string filename,
int8_t nbChan,
int32_t frequency,
int32_t & nbSampleOut);
++ const Parameter* m_ref;

Detail:

-

loadData

-  int16_t* loadData (std::string filename,
int8_t nbChan,
int32_t frequency,
int32_t & nbSampleOut);
+

m_ref

++ const Parameter* m_ref;
+ +
+
+
+

ParameterRef

++  ParameterRef (const Parameter* _ref);


diff --git a/class_ewol__object__SignalBase.html b/class_ewol__object__SignalBase.html new file mode 100644 index 00000000..5ba6a3c6 --- /dev/null +++ b/class_ewol__object__SignalBase.html @@ -0,0 +1,164 @@ + + + + + ewol Library + + + + +
+
+

class: ewol::object::SignalBase


Description:

+ +

+

Constructor and Destructor:

+
++                                    SignalBase     (ewol::object::SignalList & _objectLink,
const std::string & _name,
const std::string & _description);
+ virtual ~SignalBase ();
+
+

Synopsis:

+
+#         ewol::object::SignalList & m_objectLink;
# std::string m_name;
# std::string m_description;
# int32_t m_uidSignal;
+ const std::string & getName () const;
+ const std::string & getDescription () const;
+ virtual void release (std::shared_ptr<ewol::Object> _obj) = 0;
+
+

Detail:

+

m_objectLink

+# ewol::object::SignalList & m_objectLink;
+ +
+
+
+

m_name

+# std::string m_name;
+ +
+
+
+

m_description

+# std::string m_description;
+ +
+
+
+

m_uidSignal

+# int32_t m_uidSignal;
+ +
+
+
+

SignalBase

++  SignalBase (ewol::object::SignalList & _objectLink,
const std::string & _name,
const std::string & _description);
+Create a parameter with a specific type.
    + + + + +
    Parameter [input]:_objectLink reference on the parameter lister.
    Parameter [input]:_name Static name of the parameter.
    Parameter [input]:_description description of the parameter.
    +
+ +
+
+

~SignalBase

++ virtual  ~SignalBase ();
+Destructor.
+
+
+

getName

++ const std::string & getName () const;
+ +
+
+
+

getDescription

++ const std::string & getDescription () const;
+ +
+
+
+

release

++ virtual void release (std::shared_ptr<ewol::Object> _obj) = 0;
+ +
+
+
+
+ + + diff --git a/class_ewol__object__SignalList.html b/class_ewol__object__SignalList.html new file mode 100644 index 00000000..a4ee572f --- /dev/null +++ b/class_ewol__object__SignalList.html @@ -0,0 +1,144 @@ + + + + + ewol Library + + + + + +
+

class: ewol::object::SignalList


Description:

+ +

+

Constructor and Destructor:

+
++                                                SignalList   ();
+ virtual ~SignalList ();
+
+

Synopsis:

+
++ void                                   signalAdd    (SignalBase* _pointerOnParameter);
+ std::vector<std::string> signalGetAll () const;
+ void unBindAll (const std::shared_ptr<ewol::Object> & _object);
+
+

Detail:

+

SignalList

++  SignalList ();
+Constructor.
+
+
+

~SignalList

++ virtual  ~SignalList ();
+Destructor.
+
+
+

signalAdd

++ void signalAdd (SignalBase* _pointerOnParameter);
+Register a parameter class pointer in the List of parameters
Note: This class does not destroy the parameter pointer!!!
    + + +
    Parameter [input]:pointerOnParameter Pointer on the parameter that might be added.
    +
+ +
+
+

signalGetAll

++ std::vector<std::string> signalGetAll () const;
+Get All the signal list:
    + +
    Return: vector on all the signals names
    +
+ +
+
+

unBindAll

++ void unBindAll (const std::shared_ptr<ewol::Object> & _object);
+Remove binding on all event class.
    + + +
    Parameter [input]:_object Object to unlink.
    +
+ +
+
+
+ + + diff --git a/class_ewol__object__Signal__template_T__.html b/class_ewol__object__Signal__template_T__.html new file mode 100644 index 00000000..ae91bcca --- /dev/null +++ b/class_ewol__object__Signal__template_T__.html @@ -0,0 +1,166 @@ + + + + + ewol Library + + + + + +
+

class: ewol::object::template<T> Signal


Description:

+ +

+

Synopsis:

+
++                                                                                          Signal       (ewol::object::SignalList & _objectLink,
const std::string & _name,
const std::string & _description);
+ virtual ~Signal ();
+ void bind (std::shared_ptr<ewol::Object> _obj,
void(TYPE::*_func)(constT & ));
+ void connect (std::shared_ptr<ewol::Object> _obj,
std::function<void(constT&)> _function);
+ void release (std::shared_ptr<ewol::Object> _obj);
+ void emit (const T & _data);
+
+

Object Hierarchy:

+
++SignalBase
+--> ewol::object::Signal
+

Detail:

+

Signal

++  Signal (ewol::object::SignalList & _objectLink,
const std::string & _name,
const std::string & _description);
+Create a parameter with a specific type.
    + + + + + + + +
    Parameter [input]:_objectLink reference on the parameter lister.
    Parameter [input]:_name Static name of the parameter.
    Parameter [input]:_defaultValue Default value of the parameter.
    Parameter [input]:_min Minumum value.
    Parameter [input]:_max Maximum value.
    Parameter [input]:_description description of the parameter.
    +
+ +
+
+

~Signal

++ virtual  ~Signal ();
+Destructor.
+
+
+

bind

++ void bind (std::shared_ptr<ewol::Object> _obj,
void(TYPE::*_func)(constT & ));
+Bind a callback function to the current signal (generic methis (simplest))
    + + + +
    Parameter [input]:_obj Shared pointer on the caller object
    Parameter [input]:_func Link on the fuction that might be called (inside a class)
    +
+ +
+
+

connect

++ void connect (std::shared_ptr<ewol::Object> _obj,
std::function<void(constT&)> _function);
+Advanced binding a callback function to the current signal.
    + + + +
    Parameter [input]:_obj Shared pointer on the caller object
    Parameter [input]:_func functor to call (do it yourself)
    +
+ +
+
+

release

++ void release (std::shared_ptr<ewol::Object> _obj);
+remove link on the signal.
    + + +
    Parameter [input]:_obj shared pointer on the removing object
    +
+ +
+
+

emit

++ void emit (const T & _data);
+Generate a signal on all interface listening.
    + + +
    Parameter [input]:_data data to emit
    +
+ +
+
+
+ + + diff --git a/class_ewol__object__Signal__template___.html b/class_ewol__object__Signal__template___.html new file mode 100644 index 00000000..cb47293c --- /dev/null +++ b/class_ewol__object__Signal__template___.html @@ -0,0 +1,162 @@ + + + + + ewol Library + + + + + +
+

class: ewol::object::template<> Signal


Description:

+ +

+

Synopsis:

+
++                                                                                   Signal       (ewol::object::SignalList & _objectLink,
const std::string & _name,
const std::string & _description);
+ virtual ~Signal ();
+ void bind (std::shared_ptr<ewol::Object> _obj,
void(TYPE::*_func)( ));
+ void connect (std::shared_ptr<ewol::Object> _obj,
std::function<void()> _function);
+ void release (std::shared_ptr<ewol::Object> _obj);
+ void emit ();
+
+

Object Hierarchy:

+
++SignalBase
+--> ewol::object::Signal
+

Detail:

+

Signal

++  Signal (ewol::object::SignalList & _objectLink,
const std::string & _name,
const std::string & _description);
+Create a parameter with a specific type.
    + + + + + + + +
    Parameter [input]:_objectLink reference on the parameter lister.
    Parameter [input]:_name Static name of the parameter.
    Parameter [input]:_defaultValue Default value of the parameter.
    Parameter [input]:_min Minumum value.
    Parameter [input]:_max Maximum value.
    Parameter [input]:_description description of the parameter.
    +
+ +
+
+

~Signal

++ virtual  ~Signal ();
+Destructor.
+
+
+

bind

++ void bind (std::shared_ptr<ewol::Object> _obj,
void(TYPE::*_func)( ));
+Bind a callback function to the current signal (generic methis (simplest))
    + + + +
    Parameter [input]:_obj Shared pointer on the caller object
    Parameter [input]:_func Link on the fuction that might be called (inside a class)
    +
+ +
+
+

connect

++ void connect (std::shared_ptr<ewol::Object> _obj,
std::function<void()> _function);
+Advanced binding a callback function to the current signal.
    + + + +
    Parameter [input]:_obj Shared pointer on the caller object
    Parameter [input]:_func functor to call (do it yourself)
    +
+ +
+
+

release

++ void release (std::shared_ptr<ewol::Object> _obj);
+remove link on the signal.
    + + +
    Parameter [input]:_obj shared pointer on the removing object
    +
+ +
+
+

emit

++ void emit ();
+ +
+
+
+
+ + + diff --git a/class_ewol__object__Worker.html b/class_ewol__object__Worker.html new file mode 100644 index 00000000..10d96927 --- /dev/null +++ b/class_ewol__object__Worker.html @@ -0,0 +1,134 @@ + + + + + ewol Library + + + + + +
+

class: ewol::object::Worker


Description:

+A worker might not been possesed by someone, then the system might keep a pointer on it.

+

Constructor and Destructor:

+
+#              Worker          ();
+ virtual ~Worker ();
+
+

Synopsis:

+
+#         void init            ();
# void init (const std::string & _name);
+ DECLARE_FACTORY (Worker );
+ virtual void destroy ();
+
+

Object Hierarchy:

+
++std::enable_shared_from_this<Object>
+ewol::object::ParameterList
+ewol::object::SignalList
+--> +ewol::Object
+--> ewol::object::Worker
+

Detail:

+

Worker

+#  Worker ();
+Constructor.
+
+
+

init

+# void init ();
# void init (const
std::string & _name);
+ +
+
+
+

DECLARE_FACTORY

++  DECLARE_FACTORY (Worker );
+Factory
+
+
+

~Worker

++ virtual  ~Worker ();
+Destructor
+
+
+

destroy

++ virtual void destroy ();
+ +
+
+
+
+ + + diff --git a/class_ewol__resource__ColorFile.html b/class_ewol__resource__ColorFile.html new file mode 100644 index 00000000..7f8954a2 --- /dev/null +++ b/class_ewol__resource__ColorFile.html @@ -0,0 +1,178 @@ + + + + + ewol Library + + + + + +
+

class: ewol::resource::ColorFile


Description:

+ColorFile is a Resource designed to be specific with the theme (for example black, or white or orange ...)

+

Constructor and Destructor:

+
+#                                      ColorFile                      ();
+ virtual ~ColorFile ();
+
+

Synopsis:

+
+# void                         init                           (const std::string & _filename);
+ DECLARE_RESOURCE_NAMED_FACTORY (ColorFile );
+ void setErrorColor (const etk::Color<float> & _errorColor);
+ int32_t request (const std::string & _paramName);
+ const etk::Color<float> & get (int32_t _id);
+ std::vector<std::string> getColors () const;
+ void reload ();
+
+

Object Hierarchy:

+
++std::enable_shared_from_this<Object>
+ewol::object::ParameterList
+ewol::object::SignalList
+--> +ewol::Object
+--> +ewol::Resource
+--> ewol::resource::ColorFile
+

Detail:

+

ColorFile

+#  ColorFile ();
+Constructor of the color property file
    + + +
    Parameter [input]:_filename Name of the file needed
    +
+ +
+
+

init

+# void init (const std::string & _filename);
+ +
+
+
+

DECLARE_RESOURCE_NAMED_FACTORY

++  DECLARE_RESOURCE_NAMED_FACTORY (ColorFile );
+ +
+
+
+

~ColorFile

++ virtual  ~ColorFile ();
+Simple Destructor of this class (nothing specific ...)
+
+
+

setErrorColor

++ void setErrorColor (const etk::Color<float> & _errorColor);
+Set the error color.
    + + +
    Parameter [input]:_errorColor Color that might be set when not finding a color
    +
+ +
+
+

request

++ int32_t request (const std::string & _paramName);
+Request the presence of a specific color.
    + + +
    Parameter [input]:_paramName Name of the color.
    Return: A unique ID of the color (or -1 if an error occured).
    +
+ +
+
+

get

++ const etk::Color<float> & get (int32_t _id);
+Get the associated color of the ID.
    + + +
    Parameter [input]:_Id Id of the color.
    Return: The requested color.
    +
+ +
+
+

getColors

++ std::vector<std::string> getColors () const;
+Get All color name
    + +
    Return: list of all color existing
    +
+ +
+
+

reload

++ void reload ();
+User request the reload of all resources (usefull when the file depend on DATA:GUI:xxx ...
+
+
+
+ + + diff --git a/class_ewol__resource__Colored3DObject.html b/class_ewol__resource__Colored3DObject.html index aa9d7add..1ad0fcf4 100644 --- a/class_ewol__resource__Colored3DObject.html +++ b/class_ewol__resource__Colored3DObject.html @@ -15,6 +15,8 @@

Documentation:

Tutorials:


Associate libraries:

diff --git a/class_ewol__resource__ConfigFile.html b/class_ewol__resource__ConfigFile.html index 596f8fa9..03f13938 100644 --- a/class_ewol__resource__ConfigFile.html +++ b/class_ewol__resource__ConfigFile.html @@ -15,6 +15,8 @@

Documentation:

Tutorials:


Associate libraries:

Documentation:

Tutorials:


Associate libraries:

Documentation:

Tutorials:


Associate libraries:

diff --git a/class_ewol__resource__ImageDF.html b/class_ewol__resource__ImageDF.html new file mode 100644 index 00000000..de2a3c8a --- /dev/null +++ b/class_ewol__resource__ImageDF.html @@ -0,0 +1,166 @@ + + + + + ewol Library + + + + + +
+

class: ewol::resource::ImageDF


Description:

+ +

+

Constructor and Destructor:

+
+#                                                  ImageDF               ();
+ virtual ~ImageDF ();
+
+

Synopsis:

+
+# vec2                                     m_realImageSize;
# void init ();
# void init (std::string _genName,
const std::string & _fileName,
const ivec2 & _size);
# void generateDistanceField (const egami::ImageMono & _input,
egami::Image & _output);
+ const vec2 & getRealSize ();
+ std::shared_ptr<ewol::resource::ImageDF> create (const std::string & _filename,
ivec2 _size);
+
+

Object Hierarchy:

+
++std::enable_shared_from_this<Object>
+ewol::object::ParameterList
+ewol::object::SignalList
+--> +ewol::Object
+--> +ewol::Resource
+--> +ewol::resource::Texture
+--> ewol::resource::ImageDF
+

Detail:

+

m_realImageSize

+# vec2 m_realImageSize;
+ +
+
+
+

ImageDF

+#  ImageDF ();
+ +
+
+
+

init

+# void init ();
+ +
+
+
+

init

+# void init (std::string _genName,
const std::string & _fileName,
const ivec2 & _size);
+ +
+
+
+

~ImageDF

++ virtual  ~ImageDF ();
+ +
+
+
+

generateDistanceField

+# void generateDistanceField (const egami::ImageMono & _input,
egami::Image & _output);
+Generate distance field of this Image input.
    + + + +
    Parameter [input]:_input Input image to change in distance field mode.
    Parameter [output]:_output New image generate with this image _input.
    +
+ +
+
+

getRealSize

++ const vec2 & getRealSize ();
+ +
+
+
+

create

++ std::shared_ptr<ewol::resource::ImageDF> create (const std::string & _filename,
ivec2 _size);
+keep the resource pointer.
Note: Never free this pointer by your own...
    + + + +
    Parameter [input]:_filename Name of the image file.
    Parameter [input]:_requested size of the image (usefull when loading .svg to automatic rescale)
    Return: pointer on the resource or nullptr if an error occured.
    +
+ +
+
+
+ + + diff --git a/class_ewol__resource__Manager.html b/class_ewol__resource__Manager.html index 0d886492..a00fa39b 100644 --- a/class_ewol__resource__Manager.html +++ b/class_ewol__resource__Manager.html @@ -15,6 +15,8 @@

Documentation:

Tutorials:


Associate libraries:

Documentation:

Tutorials:


Associate libraries:

diff --git a/class_ewol__resource__Shader.html b/class_ewol__resource__Shader.html index f76cd05a..eece4cb2 100644 --- a/class_ewol__resource__Shader.html +++ b/class_ewol__resource__Shader.html @@ -15,6 +15,8 @@

Documentation:

Tutorials:


Associate libraries:

diff --git a/class_ewol__resource__SimpleConfigElement.html b/class_ewol__resource__SimpleConfigElement.html deleted file mode 100644 index f86becfd..00000000 --- a/class_ewol__resource__SimpleConfigElement.html +++ /dev/null @@ -1,143 +0,0 @@ - - - - - ewol Library - - - - - -
-

class: ewol::resource::SimpleConfigElement


Constructor and Destructor:

-
-+               SimpleConfigElement  (const std::string & _name);
+ ~SimpleConfigElement (void );
-
-

Synopsis:

-
-+ std::string   m_paramName;
+ void parse (const std::string & value);
+ int32_t getInteger (void );
+ float getFloat (void );
+ std::string & getString (void );
-
-

Detail:

-

m_paramName

-+ std::string m_paramName;
- -
-
-
-

SimpleConfigElement

-+  SimpleConfigElement (const std::string & _name);
- -
-
-
-

~SimpleConfigElement

-+  ~SimpleConfigElement (void );
- -
-
-
-

parse

-+ void parse (const std::string & value);
- -
-
-
-

getInteger

-+ int32_t getInteger (void );
- -
-
-
-

getFloat

-+ float getFloat (void );
- -
-
-
-

getString

-+ std::string & getString (void );
- -
-
-
-
- - - diff --git a/class_ewol__resource__Texture.html b/class_ewol__resource__Texture.html index f4aa6ba0..e3a17cc0 100644 --- a/class_ewol__resource__Texture.html +++ b/class_ewol__resource__Texture.html @@ -15,6 +15,8 @@

Documentation:

Tutorials:


Associate libraries:

diff --git a/class_ewol__resource__TextureFile.html b/class_ewol__resource__TextureFile.html index 0a97ca7d..6740f035 100644 --- a/class_ewol__resource__TextureFile.html +++ b/class_ewol__resource__TextureFile.html @@ -15,6 +15,8 @@

Documentation:

Tutorials:


Associate libraries:

Documentation:

Tutorials:


Associate libraries:

diff --git a/class_ewol__resource__VirtualBufferObject.html b/class_ewol__resource__VirtualBufferObject.html index f05ceb85..e9d86616 100644 --- a/class_ewol__resource__VirtualBufferObject.html +++ b/class_ewol__resource__VirtualBufferObject.html @@ -15,6 +15,8 @@

Documentation:

Tutorials:


Associate libraries:

diff --git a/class_ewol__resource__progAttributeElement.html b/class_ewol__resource__progAttributeElement.html index 7d4bab5a..bc8b32b2 100644 --- a/class_ewol__resource__progAttributeElement.html +++ b/class_ewol__resource__progAttributeElement.html @@ -15,6 +15,8 @@

Documentation:

Tutorials:


Associate libraries:

Documentation:

Tutorials:


Associate libraries:

diff --git a/class_ewol__widget__ButtonColor.html b/class_ewol__widget__ButtonColor.html index d84ce52b..6c5d78c6 100644 --- a/class_ewol__widget__ButtonColor.html +++ b/class_ewol__widget__ButtonColor.html @@ -15,6 +15,8 @@

Documentation:

Tutorials:


Associate libraries:

diff --git a/class_ewol__widget__CheckBox.html b/class_ewol__widget__CheckBox.html index d8be56a7..cbde57fd 100644 --- a/class_ewol__widget__CheckBox.html +++ b/class_ewol__widget__CheckBox.html @@ -15,6 +15,8 @@

Documentation:

Tutorials:


Associate libraries:

diff --git a/class_ewol__widget__ColorBar.html b/class_ewol__widget__ColorBar.html index aa1930b0..3eb61b5a 100644 --- a/class_ewol__widget__ColorBar.html +++ b/class_ewol__widget__ColorBar.html @@ -15,6 +15,8 @@

Documentation:

Tutorials:


Associate libraries:

Documentation:

Tutorials:


Associate libraries:

Documentation:

Tutorials:


Associate libraries:

diff --git a/class_ewol__widget__Container2.html b/class_ewol__widget__Container2.html new file mode 100644 index 00000000..94248693 --- /dev/null +++ b/class_ewol__widget__Container2.html @@ -0,0 +1,304 @@ + + + + + ewol Library + + + + + +
+

class: ewol::widget::Container2


Description:

+the Cotainer widget is a widget that have an only one subWidget

+

Constructor and Destructor:

+
+#                                       Container2                   ();
+ virtual ~Container2 ();
+
+

Synopsis:

+
+#         std::shared_ptr<ewol::Widget> m_subWidget;
# int32_t m_idWidgetDisplayed;
# void init (std::shared_ptr<ewol::Widget> _subElement,
std::shared_ptr<ewol::Widget> _subElementToggle);
+ void setSubWidget (std::shared_ptr<ewol::Widget> _subWidget);
+ void setSubWidgetToggle (std::shared_ptr<ewol::Widget> _subWidget);
+ std::shared_ptr<ewol::Widget> getSubWidget () const;
+ std::shared_ptr<ewol::Widget> getSubWidgetToggle () const;
+ void subWidgetRemove ();
+ void subWidgetRemoveToggle ();
+ void subWidgetUnLink ();
+ void subWidgetUnLinkToggle ();
# virtual ewol::Padding calculateSizePadded (const vec2 & _availlable,
const ewol::Padding & _padding);
# virtual void calculateMinMaxSizePadded (const ewol::Padding & _padding);
# virtual void onDetectPresenceToggleWidget ();
# int32_t convertId (int32_t _id);
+ virtual void systemDraw (const ewol::DrawProperty & _displayProp);
+ virtual void onRegenerateDisplay ();
+ virtual void calculateSize (const vec2 & _availlable);
+ virtual void calculateMinMaxSize ();
+ virtual std::shared_ptr<ewol::Object> getSubObjectNamed (const std::string & _objectName);
+ virtual bool loadXML (exml::Element* _node);
+ virtual void setOffset (const vec2 & _newVal);
+ virtual void requestDestroyFromChild (const std::shared_ptr<Object> & _child);
+
+

Object Hierarchy:

+
++std::enable_shared_from_this<Object>
+ewol::object::ParameterList
+ewol::object::SignalList
+--> +ewol::Object
+--> +ewol::Widget
+--> ewol::widget::Container2
+--> ewol::widget::Button
+--> ewol::widget::CheckBox
+

Detail:

+

m_subWidget

+# std::shared_ptr<ewol::Widget> m_subWidget;
+ +2 subwidget possible
+
+
+

m_idWidgetDisplayed

+# int32_t m_idWidgetDisplayed;
+ +current widget displayed
+
+
+

Container2

+#  Container2 ();
+Constructor
    + + + +
    Parameter [input]:_subElement Widget to set on the normal position
    Parameter [input]:_subElementToggle Widget to set on the toggle position
    +
+ +
+
+

init

+# void init (std::shared_ptr<ewol::Widget> _subElement,
std::shared_ptr<ewol::Widget> _subElementToggle);
+ +
+
+
+

~Container2

++ virtual  ~Container2 ();
+Destructor
+
+
+

setSubWidget

++ void setSubWidget (std::shared_ptr<ewol::Widget> _subWidget);
+Specify the current widget
    + + +
    Parameter [input]:_subWidget Widget to add normal
    +
+ +
+
+

setSubWidgetToggle

++ void setSubWidgetToggle (std::shared_ptr<ewol::Widget> _subWidget);
+Specify the current toggle widget
    + + +
    Parameter [input]:_subWidget Widget to add Toggle
    +
+ +
+
+

getSubWidget

++ std::shared_ptr<ewol::Widget> getSubWidget () const;
+get the current displayed composition
    + +
    Return: The base widget
    +
+ +
+
+

getSubWidgetToggle

++ std::shared_ptr<ewol::Widget> getSubWidgetToggle () const;
+get the current displayed composition
    + +
    Return: The toggle widget
    +
+ +
+
+

subWidgetRemove

++ void subWidgetRemove ();
+remove the subWidget node (async).
+
+
+

subWidgetRemoveToggle

++ void subWidgetRemoveToggle ();
+remove the subWidget Toggle node (async).
+
+
+

subWidgetUnLink

++ void subWidgetUnLink ();
+Unlink the subwidget Node.
+
+
+

subWidgetUnLinkToggle

++ void subWidgetUnLinkToggle ();
+Unlink the subwidget Toggle Node.
+
+
+

calculateSizePadded

+# virtual ewol::Padding calculateSizePadded (const vec2 & _availlable,
const ewol::Padding & _padding);
+Parent set the possible diplay size of the current widget whith his own possibilities + By default this save the widget available size in the widget size
Note: : INTERNAL EWOL SYSTEM
    + + + +
    Parameter [input]:_available Available x&y pixel size
    Parameter [input]:_padding Padding of the widget.
    +
+ +
+
+

calculateMinMaxSizePadded

+# virtual void calculateMinMaxSizePadded (const ewol::Padding & _padding);
+calculate the minimum and maximum size (need to estimate expend properties of the widget)
Note: : INTERNAL EWOL SYSTEM
    + + +
    Parameter [input]:_padding Padding of the widget.
    +
+ +
+
+

onDetectPresenceToggleWidget

+# virtual void onDetectPresenceToggleWidget ();
+Called when parsing a XML and detect the presence of a second Widget
+
+
+

convertId

+# int32_t convertId (int32_t _id);
+convert ID of the widget if not existed
    + + +
    Parameter [input]:_id Id of the widget to display.
    Return: the id of the widget displayable
    +
+ +
+
+

systemDraw

++ virtual void systemDraw (const ewol::DrawProperty & _displayProp);
+{SYSTEM} extern interface to request a draw ... (called by the drawing thread [Android, X11, ...]) +This function generate a clipping with the viewport openGL system. Like this a widget draw can not draw over an other widget
Note: This function is virtual for the scrolled widget, and the more complicated openGl widget
Note: : INTERNAL EWOL SYSTEM
    + + +
    Parameter [input]:_displayProp properties of the current display
    +
+ +
+
+

onRegenerateDisplay

++ virtual void onRegenerateDisplay ();
+Event generated when a redraw is needed
+
+
+

calculateSize

++ virtual void calculateSize (const vec2 & _availlable);
+Parent set the possible diplay size of the current widget whith his own possibilities + By default this save the widget available size in the widget size
Note: : INTERNAL EWOL SYSTEM
    + + +
    Parameter [input]:_available Available x&y pixel size
    +
+ +
+
+

calculateMinMaxSize

++ virtual void calculateMinMaxSize ();
+calculate the minimum and maximum size (need to estimate expend properties of the widget)
Note: : INTERNAL EWOL SYSTEM
+
+
+

getSubObjectNamed

++ virtual std::shared_ptr<ewol::Object> getSubObjectNamed (const std::string & _objectName);
+Retrive an object with his name (in the global list)
    + + +
    Parameter [input]:_name Name of the object
    Return: the requested object or nullptr
    +
+ +
+
+

loadXML

++ virtual bool loadXML (exml::Element* _node);
+load properties with an XML node.
    + + +
    Parameter [input]:_node Pointer on the tinyXML node.
    Return: true : All has been done corectly.<br/>false : An error occured.
    +
+ +
+
+

setOffset

++ virtual void setOffset (const vec2 & _newVal);
+set the zoom property of the widget.
    + + +
    Parameter [input]:_newVal offset value.
    +
+ +
+
+

requestDestroyFromChild

++ virtual void requestDestroyFromChild (const std::shared_ptr<Object> & _child);
+ +
+
+
+
+ + + diff --git a/class_ewol__widget__ContainerN.html b/class_ewol__widget__ContainerN.html index f5fc0cd2..46928c29 100644 --- a/class_ewol__widget__ContainerN.html +++ b/class_ewol__widget__ContainerN.html @@ -15,6 +15,8 @@

Documentation:

Tutorials:


Associate libraries:

diff --git a/class_ewol__widget__ContextMenu.html b/class_ewol__widget__ContextMenu.html index b4ef8b6e..9bfbff75 100644 --- a/class_ewol__widget__ContextMenu.html +++ b/class_ewol__widget__ContextMenu.html @@ -15,6 +15,8 @@

Documentation:

Tutorials:


Associate libraries:

Documentation:

Tutorials:


Associate libraries:

Documentation:

Tutorials:


Associate libraries:

-

class: ewol::widget::FileChooser


Constructor and Destructor:

+

class: ewol::widget::FileChooser


Description:

+File Chooser is a simple selector of file for opening, saving, and what you want ...
+As all other pop-up methode ( wost case we can have) the creating is simple , but event back is not all the time simple:
+Fist global static declaration and inclusion:
-+                                       FileChooser             (void );
+ virtual ~FileChooser (void );
+#include <ewol/widget/meta/FileChooser.h> +
+The first step is to create the file chooser pop-up : (never in the constructor!!!) +
+std::shared_ptr<ewol::widget::FileChooser> tmpWidget = ewol::Widget::FileChooser::create();
+if (tmpWidget == nullptr) {
+	APPL_ERROR("Can not open File chooser !!! ");
+	return -1;
+}
+// register on the Validate event:
+tmpWidget->signalValidate.bind(shared_from_this(), &::onCallbackOpenFile);
+// no need of this event watching ...
+tmpWidget->signalCancel.bind(shared_from_this(), &::onCallbackClosePopUp);
+// set the title:
+ tmpWidget->setTitle("Open files ...");
+// Set the validate Label:
+tmpWidget->setValidateLabel("Open");
+// simply set a folder (by default this is the home folder)
+//tmpWidget->setFolder("/home/me");
+// add the widget as windows pop-up ...
+std::shared_ptr<ewol::widget::Windows> tmpWindows = getWindows();
+if (tmpWindows == nullptr) {
+	APPL_ERROR("Can not get the current windows !!! ");
+	return -1;
+}
+tmpWindows->popUpWidgetPush(tmpWidget);
+

+Now we just need to wait the the open event message.
+
+void::onCallbackOpenFile(const std::string& _value) {
+	APPL_INFO("Request open file : '" << _value << "'");
+}
+void::onCallbackClosePopUp() {
+	APPL_INFO("The File chooser has been closed");
+}
+
+This is the best example of a Meta-widget.

+

Constructor and Destructor:

+
+#                                           FileChooser                          ();
+ virtual ~FileChooser ();

Synopsis:

-+         const char* const             eventCancel;
+ const char* const eventValidate;
+ void setTitle (const std::string & _label);
+ void setValidateLabel (const std::string & _label);
+ void setCancelLabel (const std::string & _label);
+ void setFolder (const std::string & _folder);
+ void setFileName (const std::string & _filename);
+ std::string getCompleateFileName (void );
+ void updateCurrentFolder (void );
+ virtual void onReceiveMessage (const ewol::object::Message & _msg);
+ virtual void onObjectRemove (ewol::Object* _removeObject);
++ ewol::object::Signal<void> signalCancel;
+ ewol::object::Signal<std::string> signalValidate;
# void init ();
+ DECLARE_WIDGET_FACTORY (FileChooser ,
"FileChooser" );
+ void setTitle (const std::string & _label);
+ void setValidateLabel (const std::string & _label);
+ void setCancelLabel (const std::string & _label);
+ void setFolder (const std::string & _folder);
+ void setFileName (const std::string & _filename);
+ std::string getCompleateFileName ();
+ void updateCurrentFolder ();
+ virtual void onGetFocus ();

Object Hierarchy:

-+ewol::Object
+--> +ewol::Widget
+--> +ewol::widget::Container
+--> +ewol::widget::PopUp
+--> ewol::widget::FileChooser
++std::enable_shared_from_this<Object>
+ewol::object::ParameterList
+ewol::object::SignalList
+--> +ewol::Object
+--> +ewol::Widget
+--> +ewol::widget::Container
+--> +ewol::widget::Composer
+--> ewol::widget::FileChooser

Detail:

-

eventCancel

-+ const char* const eventCancel;
+

signalCancel

++ ewol::object::Signal<void> signalCancel;



-

eventValidate

-+ const char* const eventValidate;
+

signalValidate

++ ewol::object::Signal<std::string> signalValidate;



-

FileChooser

-+  FileChooser (void );
+

FileChooser

+#  FileChooser ();



-

~FileChooser

-+ virtual  ~FileChooser (void );
+

init

+# void init ();



-

setTitle

+

DECLARE_WIDGET_FACTORY

++  DECLARE_WIDGET_FACTORY (FileChooser ,
"FileChooser" );
+ +
+
+
+

~FileChooser

++ virtual  ~FileChooser ();
+ +
+
+
+

setTitle

 + void setTitle (const std::string & _label);



-

setValidateLabel

+

setValidateLabel

 + void setValidateLabel (const std::string & _label);



-

setCancelLabel

+

setCancelLabel

 + void setCancelLabel (const std::string & _label);



-

setFolder

+

setFolder

 + void setFolder (const std::string & _folder);



-

setFileName

+

setFileName

 + void setFileName (const std::string & _filename);



-

getCompleateFileName

-+ std::string getCompleateFileName (void );
+

getCompleateFileName

++ std::string getCompleateFileName ();



-

updateCurrentFolder

-+ void updateCurrentFolder (void );
+

updateCurrentFolder

++ void updateCurrentFolder ();



-

onReceiveMessage

-+ virtual void onReceiveMessage (const ewol::object::Message & _msg);
-Receive a message from an other Object with a specific eventId and data
    - - -
    Parameter [input]:_msg Message handle
    -
- -
-
-

onObjectRemove

-+ virtual void onObjectRemove (ewol::Object* _removeObject);
-Inform object that an other object is removed ...
Note: : Sub classes must call this class
    - - -
    Parameter [input]:_removObject Pointer on the Object remeved == > the user must remove all reference on this Object
    -
- +

onGetFocus

++ virtual void onGetFocus ();
+Event of the focus has been grep by the current widget


diff --git a/class_ewol__widget__Gird.html b/class_ewol__widget__Gird.html index b0fe7267..26212497 100644 --- a/class_ewol__widget__Gird.html +++ b/class_ewol__widget__Gird.html @@ -15,6 +15,8 @@

Documentation:

Tutorials:


Associate libraries:

diff --git a/class_ewol__widget__elementPL.html b/class_ewol__widget__elementPL.html index 0e8eab84..05b32cf5 100644 --- a/class_ewol__widget__elementPL.html +++ b/class_ewol__widget__elementPL.html @@ -15,6 +15,8 @@

Documentation:

Tutorials:


Associate libraries:

Documentation:

Tutorials:


Associate libraries:

Documentation:

Tutorials:


Associate libraries:

Documentation:

Tutorials:


Associate libraries:

-

enum: ewol::compositing::Text::aligneMode


Description:

+

enum: ewol::compositing::aligneMode


Description:



Value list

diff --git a/enum_ewol__compositing__renderMode.html b/enum_ewol__compositing__renderMode.html new file mode 100644 index 00000000..51ef16c8 --- /dev/null +++ b/enum_ewol__compositing__renderMode.html @@ -0,0 +1,118 @@ + + + + + ewol Library + + + + + + + + + diff --git a/class_ewol__object__MultiCast__MessageList.html b/enum_ewol__compositing__shaperPos.html similarity index 56% rename from class_ewol__object__MultiCast__MessageList.html rename to enum_ewol__compositing__shaperPos.html index 8e4cfae9..ba78e0e5 100644 --- a/class_ewol__object__MultiCast__MessageList.html +++ b/enum_ewol__compositing__shaperPos.html @@ -15,6 +15,8 @@

Documentation:

Tutorials:


Associate libraries:

-

class: ewol::object::MultiCast::MessageList


Description:

+

enum: ewol::compositing::shaperPos


Description:



-

Constructor and Destructor:

-
-+               MessageList (const char* _message,
ewol::Object* _object);
-
-

Synopsis:

-
-+ const char*   m_message;
+ ewol::Object* m_object;
-
+

Value list

+

Detail:

-

MessageList

-+  MessageList (const char* _message,
ewol::Object* _object);
- -
-
+

shaperPosLeft

+shaperPosLeft   = 0

-

m_message

-+ const char* m_message;
- -
-
+

shaperPosRight

+shaperPosRight  = 1

-

m_object

-+ ewol::Object* m_object;
- -
-
+

shaperPosTop

+shaperPosTop    = 2

+

shaperPosButtom

+shaperPosButtom = 3
+
+

shaperPosCount

+shaperPosCount  = 4
+ + diff --git a/enum_ewol__key__status.html b/enum_ewol__key__status.html index 15999cf9..3f1ad6cd 100644 --- a/enum_ewol__key__status.html +++ b/enum_ewol__key__status.html @@ -15,6 +15,8 @@

Documentation:

Tutorials:


Associate libraries:

+ + diff --git a/index.html b/index.html index 5fc52588..7a976b12 100644 --- a/index.html +++ b/index.html @@ -15,6 +15,8 @@

Documentation:

Tutorials:


Associate libraries:

Documentation:

Tutorials:


Associate libraries:

Documentation:

Tutorials:


Associate libraries:

Documentation:

Tutorials:


Associate libraries:

+ + diff --git a/namespace_ewol__widget.html b/namespace_ewol__widget.html index 755c2c1a..50276a39 100644 --- a/namespace_ewol__widget.html +++ b/namespace_ewol__widget.html @@ -15,6 +15,8 @@

Documentation:

Tutorials:


Associate libraries:

+ + diff --git a/tutorial_011_ObjectConfig.html b/tutorial_011_ObjectConfig.html new file mode 100644 index 00000000..cec8124e --- /dev/null +++ b/tutorial_011_ObjectConfig.html @@ -0,0 +1,169 @@ + + + + + ewol Library + + + + + +
+

object config

+
+ +

Objectif

+
  • Understand ewol::Object configuration parameter
  • Create an configurable object
+

Configuration using


+All ewol::Object have a configuration of parameters (the object name is a parameter), Then we need to set get and use xml to update parameters.
+

Set a Parameter


+
+Note:
+	Using getter and setter is really better, and faster.
+

+

With a string configuration


+
+	if (tmpObject->parameterSet("name", "new name of object") == false) {
+		APPL_ERROR("Can not set object parameter");
+	}
+

+

whith the object name


+
+	if (parameterSetOnWidgetNamed("objectName", "value", "16.2") == false) {
+		APPL_ERROR("Can not set object parameter");
+	}
+

+

Get Parameter


+
+	std::string val = tmpObject->parameterGet("name");
+	APPL_INFO("Get Object property : name='" << val << "'");
+

+

Implement configuration


+
+#include <ewol/object/Object.h>
+namespace appl {
+	class MyObj : public ewol::Object {
+		protected:
+			//! @brief Constructor
+			MyObj(void) :
+			  m_value(*this, "value", false, "Value of the parameter (descrition string)") {
+				// nothing to do..
+			}
+			void init() {
+				ewol::Object::init();
+			}
+		public:
+			//! @brief Destructor
+			virtual ~MyObj(void) { }
+			DECLARE_FACTORY(MyObj);
+		private:
+			ewol::object::Param<bool> m_value; //!< Internal Object value
+		public:
+			//! @brief Setter
+			void setValue(bool _val) {
+				m_value.set(_val);
+			}
+			//! @brief Getter
+			bool getValue() const {
+				return m_value.get();
+			}
+		public: // herited function:
+			void onParameterChangeValue(const ewol::object::ParameterRef& _paramPointer) {
+				if (_paramPointer == m_value) {
+					APPL_DEBUG("The internal value has change, new value is : '" << m_value.get() << "'");
+				}
+			}
+	}
+}
+

+In the contructor we need to add: +
+m_value(*this, "value", false, "Value of the parameter (descrition string)")
+
+
  • '*this': Reference the main class to call it chen value change.
  • "value": Is the name of the parameter.
  • false: The default value.
  • "....." Description of the parameter (optionnal).

+The function onParameterChangeValue is called only the parameter change (no historic has been registered)
+The last point is that the m_value.get() is an inline fuction then it take no more CPU cycle to access the value than normal variable.
+Some other parameter are availlable : +
  • ewol::object::Param<T> Basic parameter.
  • ewol::object::ParamRange<T> For numeric parameter that range value are check befor setting new value.
  • ewol::object::ParamList<T> For List of parameter values.

+
+ + + diff --git a/tutorial_012_ObjectMessage.html b/tutorial_012_ObjectMessage.html new file mode 100644 index 00000000..7a987906 --- /dev/null +++ b/tutorial_012_ObjectMessage.html @@ -0,0 +1,239 @@ + + + + + ewol Library + + + + + +
+

object message

+
+ +

Objectif

+
  • Understand ewol::Object Messaging system
  • Create extern message and receive Object message
+

Message system


+Message system is based on generic std::funtion and std::bind methode:
+It permit to an object to generate some 'signals'.
+All signal are synchronous
+ +

Receive signals from other object


+[todo] +Link with the signal name +[/todo]
+Register on the 'up' and 'value' signal of a button:
+Button header : +
+	...
+	public:
+		ewol::object::Signal<void> signalDown;
+		ewol::object::Signal<void> signalUp;
+		...
+		ewol::object::Signal<bool> signalValue;
+	...
+

+

simple signal connection:


+
+#include <ewol/object/Object.h>
+#include <ewol/widget/Button.h>
+namespace appl {
+	class MyObj : public ewol::Object {
+		private:
+			std::shared_ptr<ewol::widget::Button> m_button;
+		protected:
+			//! @brief Constructor
+			MyObj(void) {
+				// nothing to do..
+			}
+			void init() {
+				ewol::Object::init();
+				m_button = ewol::widget::Button::Create();
+				if (m_button == nullptr) {
+					APPL_ERROR("Can not create button...");
+					return;
+				}
+				// We connect signals here :
+				m_button->signalUp.bind(shared_from_this(), &appl::MyObj::onCallbackUp);
+				m_button->signalValue.bind(shared_from_this(), &appl::MyObj::onCallbackValue);
+			}
+		public:
+			//! @brief Destructor
+			virtual ~MyObj(void) { }
+			DECLARE_FACTORY(MyObj);
+		private:
+			void onCallbackUp() {
+				APPL_INFO("button pressed: UP);
+			}
+			void onCallbackValue(const bool& _value) {
+				APPL_INFO("button value: " << _value);
+			}
+	}
+}
+

+ +

Advenced signal connection:


+Here we will see how to connect an advance function on a signal
+
+#include <ewol/object/Object.h>
+#include <ewol/widget/Button.h>
+namespace appl {
+	class MyObj : public ewol::Object {
+		private:
+			std::shared_ptr<ewol::widget::Button> m_button;
+		protected:
+			//! @brief Constructor
+			MyObj(void) {
+				// nothing to do..
+			}
+			void init() {
+				ewol::Object::init();
+				m_button = ewol::widget::Button::Create();
+				if (m_button == nullptr) {
+					APPL_ERROR("Can not create button...");
+					return;
+				}
+				// We connect signals here :
+				m_button->signalUp.register(shared_from_this(), std::bind(&appl::MyObj::onCallbackUp, this, std::string("tmpVariableToSend")));
+				m_button->signalValue.register(shared_from_this(), std::bind(&appl::MyObj::onCallbackValue, this));
+			}
+		public:
+			//! @brief Destructor
+			virtual ~MyObj(void) { }
+			DECLARE_FACTORY(MyObj);
+		private:
+			void onCallbackUp(const std::string& _value) {
+				APPL_INFO("button pressed: UP inputMessage: " << _value);
+			}
+			void onCallbackValue() {
+				APPL_INFO("button value: " << _value);
+			}
+	}
+}
+

+

Connect to a signal with a named widget


+TODO: documentation : +
  • subBind(_type, _name, _event, _obj, _func)
  • globalBind(_type, _name, _event, _obj, _func)
  • externSubBind(_object, _type, _name, _event, _obj, _func)

+

Declare Signal


+

source


+
+#include <ewol/object/Object.h>
+#include <ewol/widget/Button.h>
+namespace appl {
+	class MyObj : public ewol::Object {
+		public:
+			ewol::object::Signal<void> signalEmpty;
+			ewol::object::Signal<bool> signalBoolean;
+			ewol::object::Signal<std::string> signalString;
+		protected:
+			//! @brief Constructor
+			MyObj(void) :
+			  signalEmpty(*this, "empty"),
+			  signalBoolean(*this, "boolean"),
+			  signalString(*this, "string") {
+				// nothing to do..
+			}
+			void init() {
+				ewol::Object::init();
+			}
+		public:
+			//! @brief Destructor
+			virtual ~MyObj(void) { }
+			DECLARE_FACTORY(MyObj);
+		private:
+			void process() {
+				signalEmpty.emit();
+				signalBoolean.emit(false);
+				signalString.emit("plop... plop");
+			}
+	}
+}
+

+

Conclusion


+You will now able to reise signals between objects...
+
+
+ +
+ + + diff --git a/tutorial_020_FileAccess.html b/tutorial_020_FileAccess.html new file mode 100644 index 00000000..9bc7b0b6 --- /dev/null +++ b/tutorial_020_FileAccess.html @@ -0,0 +1,188 @@ + + + + + ewol Library + + + + + +
+

file access

+
+ +

Objectif

+
  • Understand why we wrap interface on file system
+

Limitation


+Application generation is really simple, but package management can create some problems...
+For example : +
  • Android does not permit access on the file system, but we need data that is named assets, thes data in contained in a zip file.
  • Linux set his own application data in a special path : /usr/shared/applName/
  • MacOs create a bundle (*.app) that is a folder with all application data.
  • ...
+For all tese reason we need to wrap standard application interface. (you can acces directly but it could be tricky and depend on the target)
+

Generic Properties


+By default we dertermine some basics for files.
+Then we need to determine file in the tree with : +
  • "DATA:XXX" Application internal data
  • "USERDATA:XXX" User save data (like game save)
  • "HOME:XXX" User home folder
  • "/XXX" Direct acces on a file in the fileSystem
  • ...
+When you will call a file, you need to just call it with the starting name.
+For example if I want to acces at an application data I will call the file : "DATA:myImage.png"
+

Integrate a file in a package


+In your lutin_xxx.py file add: +
+	# to copy a single file:
+	myModule.copy_file("relative/path/file.svg","destination/folder/file.svg")
+	# to copy an entire patern path
+	myModule.copy_folder("relative/path/start*.png","destination/folder/")
+

+And now you can acces on these file with : "DATA:destination/folder/file.svg"
+ +

Read a file


+
+	#include <etk/os/FSNode.h>
+	
+	...
+	
+	etk::FSNode file("DATA:destination/folder/file.svg");
+	if (file.exist() == false) {
+		APPL_ERROR("Can not read the file (Does not exist)");
+		return;
+	}
+	APPL_INFO("open :" << file << " with size=" << file.fileSize());
+	if (file.fileOpenRead() == false) {
+		APPL_ERROR("Can not open in read mode the file: " << file);
+		return;
+	}
+	// get a char
+	APPL_INFO("read in: " << file << " the first char='" << file.fileGet() << "'");
+	// Get a line
+	std::string output;
+	file.fileGets(output);
+	APPL_INFO("and the end of the line ='" << output << "'");
+	// close the file (note : if you did not do it, it will be close automaticly with an error)
+	file.fileClose();
+

+

Write a file


+
+	#include <etk/os/FSNode.h>
+	
+	...
+	
+	etk::FSNode file("USERDATA:exmple.txt");
+	APPL_INFO("open :" << file);
+	if (file.fileOpenWrite() == false) {
+		APPL_ERROR("Can not open in write mode the file: " << file);
+		return;
+	}
+	// put a char
+	file.filePut('A');
+	// write a line
+	file.filePuts(" other string to put in the file ... \n");
+	// close the file (note : if you did not do it, it will be close automaticly with an error)
+	file.fileClose();
+

+

'Theme' management


+The theme management is a subset a file selected by a main key. +For example The basic theme of an API can be manage with only 2 commands (set the theme, and request upate of GUI)
+At the start of the program, you might specify the default path theme:
+
+	etk::theme::setNameDefault("GUI_COLOR", "theme/black");
+	etk::theme::setNameDefault("GUI_SHAPE", "theme/rounded");
+

+And when you want to change the theme, just call:
+
+	// change the theme :
+	etk::theme::setName("GUI_COLOR", "theme/white");
+	// force reload of all the resources :
+	ewol::getContext().getResourcesManager().reLoadResources();
+	ewol::getContext().forceRedrawAll();
+

+
+Note:
+This is not done automaticly, because reloading the resources can have a real cost of time.
+

+You can acces on your theme with accessing the filename: "THEME:GUI_COLOR:your/sub/path/file.xx"
+An important think is that the theme file is searching in many path in the order: +
  • USERDATA:GUI_COLOR:your/sub/path/file.xx
  • DATA:GUI_COLOR:your/sub/path/file.xx
  • USERDATA:GUI_COLOR(default):your/sub/path/file.xx
  • DATA:GUI_COLOR(default):your/sub/path/file.xx

+Like this a user can overload the application theme...
+
+
+ + + diff --git a/tutorial_021_Resources.html b/tutorial_021_Resources.html new file mode 100644 index 00000000..4722dda8 --- /dev/null +++ b/tutorial_021_Resources.html @@ -0,0 +1,183 @@ + + + + + ewol Library + + + + + +
+

resources

+
+ +

Objectifs

+
  • Understand What is a resource
  • Use resources
+

What is a resource:


+A resource is an usique element that can be used by manny element like: +
  • An image (special resolution)
  • A configuration file
  • An application manager (special case)
  • A sound file
  • ...
+A resource have an other objective, form some platform, the graphic interface can be stopped, then we need to reload texture in the graphic inteface... +Then the texture is an other graphic interface.
+

Get a resource:


+For this example we will load a configuration file: +
+#include <ewol/object/Object.h>
+#include <ewol/resource/ConfigFile.h>
+namespace appl {
+	class MyObj : public ewol::Object {
+		private:
+			std::shared_ptr<ewol::resource::ConfigFile> m_config;
+			int32_t m_configValId;
+		protected:
+			//! @brief Constructor
+			MyObj(void) :
+			  m_configValId(-1) {
+				// nothing to do..
+			}
+			void init() {
+				ewol::Object::init();
+				m_config = ewol::resource::ConfigFile::create("DATA:ExapleConfig.json");
+				m_configValId = m_config->request("exampleConfigName");
+			}
+		public:
+			//! @brief Destructor
+			virtual ~MyObj(void) { }
+			DECLARE_FACTORY(MyObj);
+		public:
+			void process() {
+				double value = m_config->getNumber(m_configValId);
+				APPL_DEBUG("example value : " << value);
+			}
+	}
+}
+

+ +

Create a new resource:


+A resource is a generic ewol::Resource that hrited form a generic ewol::Object, simply change the FACTORY macro in : +
  • DECLARE_RESOURCE_FACTORY(className) To declare a resource with no name (unique for every creation)
  • DECLARE_RESOURCE_NAMED_FACTORY(className) To create a resource that have a specific name. When created, we will find the previous resource with the specify name in the fanctory.
  • DECLARE_RESOURCE_SINGLE_FACTORY(className,uniqueName) This is to have a unique resource for all the application (name is specify in the Macro)
+we have now some specific interface to compleate (if needed):
+

The Resource Level


+The resources can be reloaded, then we need to reaload in the good order (level [0 .. 5])
+The resources are loaded fron 0 to 5.
+Then for basic resource :
+
+#include <ewol/object/Resource.h>
+namespace appl {
+	class MyResource : public ewol::Resource {
+		protected:
+			//! @brief Constructor
+			MyResource() :
+			  m_configValId(-1) {
+				m_resourceLevel = 4;
+				addObjectType("ewol::MyResource");
+			}
+			void init(const std::& _name) {
+				ewol::Resource::init(_name);
+			}
+		public:
+			//! @brief Destructor
+			virtual ~MyResource(void) { }
+			DECLARE_RESOURCE_NAMED_FACTORY(MyResource);
+	}
+}
+

+Now we need to implement somme functions:
+To send data on the hardware (openGL): +
+	void updateContext();
+

+To remove data from the the hardware (openGL): +
+	void removeContext();
+

+When loose hardware (juste update internal state): +
+	void removeContextToLate();
+

+When user request to reload all resources (can be usefull when using file type : THEME:GUI:xxx) +
+	void reload();
+

+
+ + + diff --git a/tutorial_030_ConplexeXmlGui.html b/tutorial_030_ConplexeXmlGui.html new file mode 100644 index 00000000..9bad2b31 --- /dev/null +++ b/tutorial_030_ConplexeXmlGui.html @@ -0,0 +1,108 @@ + + + + + ewol Library + + + + + +
+

conplexe xml gui

+
+ +

Objectif

+
  • What is a Widget
  • Simply create a complex Gui
+

What is a Widget


+A widget is a simple entity of a graphical Object. It herited of every ewol::Object class with many graphical interface to draw a complex gui.
+We can consider some widget: +
  • Windows: Main gui interface to display the unique "windows".
  • Simple widget: all widget that display somthing.
  • Meta widget: Widget composed with some wodget.
+

Simple load of a widget:


+
+

Create an interface with a XML form:


+ +

Create in C++ the interface:


+ +
+ + + diff --git a/tutorial_050_CreateCustomWidget.html b/tutorial_050_CreateCustomWidget.html new file mode 100644 index 00000000..a3d1d1df --- /dev/null +++ b/tutorial_050_CreateCustomWidget.html @@ -0,0 +1,118 @@ + + + + + ewol Library + + + + + +
+

create custom widget

+
+ +To create a custum widget, this is as simple as complex. +The first things to do is to choice a methode to display you widget: +
  • Direct mode: display on openGL engine with your prefered methode (some help for shaders)
  • Compositing: display with a toolbox for drawing on openGL
  • Shaper: this is a special mode of compositing
  • Add capacity: this could be interesting to increase some capacity of a widget...
+

Create the widget structure

+

Header

+
+	#include <ewol/widget/Widget.h>
+	namespace appl {
+		class myWidget : public ewol::Widget {
+			public:
+				myWidget(void) {};
+				~myWidget(void) {};
+			public: // herited function
+				void draw(void);
+				void onRegenerateDisplay(void);
+		}
+	}
+

+We can show that we had two function, the first is call every time we render the widget (as the number of fps) "draw()". +And the second that is call only when we need to redraw the widget (after the user call markToRedraw() ) "onRegenerateDisplay()".
+
+
+
+ + + diff --git a/namespace_ewol__portAudio.html b/tutorial_051_AddWidgetCustumInXML.html similarity index 63% rename from namespace_ewol__portAudio.html rename to tutorial_051_AddWidgetCustumInXML.html index 7e2de9bb..ecf69d24 100644 --- a/namespace_ewol__portAudio.html +++ b/tutorial_051_AddWidgetCustumInXML.html @@ -15,6 +15,8 @@

Documentation:

Tutorials:


Associate libraries:

-

namespace: ewol::portAudio


Description:

+

add widget custum in x m l

+
-

-

Synopsis:

-
-  void init   (void );
void unInit (void );
+

Declare object in XML


+Object can be declared in some XML, (like gui decription), then we need to declare the Object in the system recognition.
+

Declare Object


+The fist step is to add a methode to create the object
+

Declare on XML and configuration


+

Special case SubParsing XML element



-

Detail:

-

init

-  void init (void );
- -
-
-
-

unInit

-  void unInit (void );
- -
-
-