Table of Contents
Constructor MyObj(void) : propertyConfig(this, "file", "DATA:ExapleConfig.json", "no desc", &appl::MyObj::onChangePropertyFile), m_configValId(-1) { // nothing to do.. } void init() { ewol::Object::init(); onChangePropertyFile(); } public: //!
Objectifs
- Understand what is a resource
- Use resources
What is a resource:
A resource is an unique element that can be used by many 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:
Create a new resource:
A resource is a generic gale::Resource:
- 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:
Now we need to implement somme functions:
To send data on the hardware (openGL):
To remove data from the the hardware (openGL):
When loose hardware (juste update internal state the hardware is no more present):
When user request to reload all resources (can be usefull when using file type : THEME:GUI:xxx)