[DEV] update to the new ETK allocator wrapper

This commit is contained in:
Edouard DUPIN 2017-10-21 19:05:21 +02:00
parent b8a2210d0d
commit dd8daa7e3d
17 changed files with 56 additions and 59 deletions

View File

@ -27,7 +27,7 @@ int32_t ewol::run(ewol::context::Application* _application,
int32_t _argc, int32_t _argc,
const char* _argv[]) { const char* _argv[]) {
etranslate::init(_argc, _argv); etranslate::init(_argc, _argv);
return gale::run(new ewol::Context(_application), _argc, _argv); return gale::run(ETK_NEW(ewol::Context, _application), _argc, _argv);
} }

View File

@ -62,7 +62,7 @@ exit_on_error:
#define DECLARE_FACTORY(className) \ #define DECLARE_FACTORY(className) \
template<class ... EWOL_FACTORY_CREATE_TYPE> static ememory::SharedPtr<className> create(const EWOL_FACTORY_CREATE_TYPE& ... _all) { \ template<class ... EWOL_FACTORY_CREATE_TYPE> static ememory::SharedPtr<className> create(const EWOL_FACTORY_CREATE_TYPE& ... _all) { \
ememory::SharedPtr<className> object(new className()); \ ememory::SharedPtr<className> object(ETK_NEW(className)); \
if (object == nullptr) { \ if (object == nullptr) { \
EWOL_ERROR("Factory error"); \ EWOL_ERROR("Factory error"); \
return nullptr; \ return nullptr; \
@ -75,7 +75,7 @@ exit_on_error:
return object; \ return object; \
} \ } \
static ememory::SharedPtr<className> createXml(const exml::Element& _node) { \ static ememory::SharedPtr<className> createXml(const exml::Element& _node) { \
ememory::SharedPtr<className> object(new className()); \ ememory::SharedPtr<className> object(ETK_NEW(className)); \
if (object == nullptr) { \ if (object == nullptr) { \
EWOL_ERROR("Factory error"); \ EWOL_ERROR("Factory error"); \
return nullptr; \ return nullptr; \
@ -102,7 +102,7 @@ exit_on_error:
if (object != nullptr) { \ if (object != nullptr) { \
return object; \ return object; \
} \ } \
object = ememory::SharedPtr<className>(new className()); \ object = ememory::SharedPtr<className>(ETK_NEW(className)); \
if (object == nullptr) { \ if (object == nullptr) { \
EWOL_ERROR("Factory error"); \ EWOL_ERROR("Factory error"); \
return nullptr; \ return nullptr; \

View File

@ -53,7 +53,6 @@ void ewol::resource::freeTypeUnInit() {
ewol::resource::FontFreeType::FontFreeType() { ewol::resource::FontFreeType::FontFreeType() {
addResourceType("ewol::FontFreeType"); addResourceType("ewol::FontFreeType");
m_init = false; m_init = false;
m_FileBuffer = nullptr;
m_FileSize = 0; m_FileSize = 0;
} }
@ -75,17 +74,17 @@ void ewol::resource::FontFreeType::init(const etk::String& _fontName) {
return; return;
} }
// allocate data // allocate data
m_FileBuffer = new FT_Byte[m_FileSize]; m_FileBuffer.resize(m_FileSize, 0);
if (m_FileBuffer == nullptr) { if (m_FileBuffer.size() != m_FileSize) {
EWOL_ERROR("Error Memory allocation size=" << _fontName); EWOL_ERROR("Error Memory allocation size=" << _fontName);
return; return;
} }
// load data from the file : // load data from the file :
myfile.fileRead(m_FileBuffer, 1, m_FileSize); myfile.fileRead(&m_FileBuffer[0], 1, m_FileSize);
// close the file: // close the file:
myfile.fileClose(); myfile.fileClose();
// load Face ... // load Face ...
int32_t error = FT_New_Memory_Face( library, m_FileBuffer, m_FileSize, 0, &m_fftFace ); int32_t error = FT_New_Memory_Face(library, &m_FileBuffer[0], m_FileSize, 0, &m_fftFace );
if( FT_Err_Unknown_File_Format == error) { if( FT_Err_Unknown_File_Format == error) {
EWOL_ERROR("... the font file could be opened and read, but it appears ... that its font format is unsupported"); EWOL_ERROR("... the font file could be opened and read, but it appears ... that its font format is unsupported");
} else if (0 != error) { } else if (0 != error) {
@ -101,17 +100,14 @@ void ewol::resource::FontFreeType::init(const etk::String& _fontName) {
ewol::resource::FontFreeType::~FontFreeType() { ewol::resource::FontFreeType::~FontFreeType() {
ethread::RecursiveLock lock(m_mutex); ethread::RecursiveLock lock(m_mutex);
// clean the tmp memory // clean the tmp memory
if (nullptr != m_FileBuffer) { m_FileBuffer.clear();
delete[] m_FileBuffer;
m_FileBuffer = nullptr;
}
// must be deleted fftFace // must be deleted fftFace
FT_Done_Face(m_fftFace); FT_Done_Face(m_fftFace);
} }
vec2 ewol::resource::FontFreeType::getSize(int32_t _fontSize, const etk::String& _unicodeString) { vec2 ewol::resource::FontFreeType::getSize(int32_t _fontSize, const etk::String& _unicodeString) {
ethread::RecursiveLock lock(m_mutex); ethread::RecursiveLock lock(m_mutex);
if(false == m_init) { if (m_init == false) {
return vec2(0,0); return vec2(0,0);
} }
// TODO : ... // TODO : ...

View File

@ -19,7 +19,7 @@ namespace ewol {
// show : http://www.freetype.org/freetype2/docs/tutorial/step2.html // show : http://www.freetype.org/freetype2/docs/tutorial/step2.html
class FontFreeType : public ewol::resource::FontBase { class FontFreeType : public ewol::resource::FontBase {
private: private:
FT_Byte* m_FileBuffer; etk::Vector<FT_Byte> m_FileBuffer;
int32_t m_FileSize; int32_t m_FileSize;
FT_Face m_fftFace; FT_Face m_fftFace;
bool m_init; bool m_init;

View File

@ -156,7 +156,7 @@ static int32_t nextP2(int32_t _value) {
ememory::SharedPtr<ewol::resource::ImageDF> ewol::resource::ImageDF::create(const etk::String& _filename, ivec2 _size) { ememory::SharedPtr<ewol::resource::ImageDF> ewol::resource::ImageDF::create(const etk::String& _filename, ivec2 _size) {
EWOL_VERBOSE("KEEP: TextureFile: '" << _filename << "' size=" << _size); EWOL_VERBOSE("KEEP: TextureFile: '" << _filename << "' size=" << _size);
if (_filename == "") { if (_filename == "") {
ememory::SharedPtr<ewol::resource::ImageDF> object(new ewol::resource::ImageDF()); ememory::SharedPtr<ewol::resource::ImageDF> object(ETK_NEW(ewol::resource::ImageDF));
if (object == nullptr) { if (object == nullptr) {
EWOL_ERROR("allocation error of a resource : ??TEX??"); EWOL_ERROR("allocation error of a resource : ??TEX??");
return nullptr; return nullptr;
@ -208,7 +208,7 @@ ememory::SharedPtr<ewol::resource::ImageDF> ewol::resource::ImageDF::create(cons
} }
EWOL_INFO("CREATE: ImageDF: '" << TmpFilename << "' size=" << _size); EWOL_INFO("CREATE: ImageDF: '" << TmpFilename << "' size=" << _size);
// need to crate a new one ... // need to crate a new one ...
object = ememory::SharedPtr<ewol::resource::ImageDF>(new ewol::resource::ImageDF()); object = ememory::SharedPtr<ewol::resource::ImageDF>(ETK_NEW(ewol::resource::ImageDF));
if (object == nullptr) { if (object == nullptr) {
EWOL_ERROR("allocation error of a resource : " << _filename); EWOL_ERROR("allocation error of a resource : " << _filename);
return nullptr; return nullptr;

View File

@ -274,7 +274,8 @@ void ewol::resource::Texture::removeContext() {
if (m_loaded == true) { if (m_loaded == true) {
// Request remove texture ... // Request remove texture ...
EWOL_DEBUG("TEXTURE: Rm [" << getId() << "] texId=" << m_texId); EWOL_DEBUG("TEXTURE: Rm [" << getId() << "] texId=" << m_texId);
//glDeleteTextures(1, &m_texId); // TODO: Check if we are in the correct thread
glDeleteTextures(1, &m_texId);
m_loaded = false; m_loaded = false;
} }
} }
@ -311,7 +312,7 @@ void ewol::resource::Texture::set(egami::Image _image) {
m_realImageSize = vec2(tmp.x(), tmp.y()); m_realImageSize = vec2(tmp.x(), tmp.y());
vec2 compatibilityHWSize = vec2(nextP2(tmp.x()), nextP2(tmp.y())); vec2 compatibilityHWSize = vec2(nextP2(tmp.x()), nextP2(tmp.y()));
if (m_realImageSize != compatibilityHWSize) { if (m_realImageSize != compatibilityHWSize) {
EWOL_ERROR("RESIZE Image for HArwareCompatibility:" << m_realImageSize << " => " << compatibilityHWSize); EWOL_VERBOSE("RESIZE Image for HArwareCompatibility:" << m_realImageSize << " => " << compatibilityHWSize);
m_data.resize(ivec2(compatibilityHWSize.x(),compatibilityHWSize.y())); m_data.resize(ivec2(compatibilityHWSize.x(),compatibilityHWSize.y()));
} }
flush(); flush();

View File

@ -61,7 +61,7 @@ void ewol::resource::TextureFile::init(etk::String _genName, const etk::String&
ememory::SharedPtr<ewol::resource::TextureFile> ewol::resource::TextureFile::create(const etk::String& _filename, ivec2 _size, ivec2 _sizeRegister) { ememory::SharedPtr<ewol::resource::TextureFile> ewol::resource::TextureFile::create(const etk::String& _filename, ivec2 _size, ivec2 _sizeRegister) {
EWOL_VERBOSE("KEEP: TextureFile: '" << _filename << "' size=" << _size << " sizeRegister=" << _sizeRegister); EWOL_VERBOSE("KEEP: TextureFile: '" << _filename << "' size=" << _size << " sizeRegister=" << _sizeRegister);
if (_filename == "") { if (_filename == "") {
ememory::SharedPtr<ewol::resource::TextureFile> object(new ewol::resource::TextureFile()); ememory::SharedPtr<ewol::resource::TextureFile> object(ETK_NEW(ewol::resource::TextureFile));
if (object == nullptr) { if (object == nullptr) {
EWOL_ERROR("allocation error of a resource : ??TEX??"); EWOL_ERROR("allocation error of a resource : ??TEX??");
return nullptr; return nullptr;
@ -110,7 +110,7 @@ ememory::SharedPtr<ewol::resource::TextureFile> ewol::resource::TextureFile::cre
} }
EWOL_INFO("CREATE: TextureFile: '" << tmpFilename << "' size=" << _size); EWOL_INFO("CREATE: TextureFile: '" << tmpFilename << "' size=" << _size);
// need to crate a new one ... // need to crate a new one ...
object = ememory::SharedPtr<ewol::resource::TextureFile>(new ewol::resource::TextureFile()); object = ememory::SharedPtr<ewol::resource::TextureFile>(ETK_NEW(ewol::resource::TextureFile));
if (object == nullptr) { if (object == nullptr) {
EWOL_ERROR("allocation error of a resource : " << _filename); EWOL_ERROR("allocation error of a resource : " << _filename);
return nullptr; return nullptr;

View File

@ -124,29 +124,29 @@ void ewol::widget::Image::onRegenerateDisplay() {
} }
void ewol::widget::Image::calculateMinMaxSize() { void ewol::widget::Image::calculateMinMaxSize() {
EWOL_WARNING("calculate min size: border=" << propertyBorder << " size=" << propertyImageSize << " min-size=" << propertyMinSize); EWOL_DEBUG("calculate min size: border=" << propertyBorder << " size=" << propertyImageSize << " min-size=" << propertyMinSize);
vec2 imageBoder = propertyBorder->getPixel()*2.0f; vec2 imageBoder = propertyBorder->getPixel()*2.0f;
vec2 imageSize = propertyImageSize->getPixel(); vec2 imageSize = propertyImageSize->getPixel();
vec2 size = propertyMinSize->getPixel(); vec2 size = propertyMinSize->getPixel();
EWOL_WARNING(" ==> border=" << imageBoder << " size=" << imageSize << " min-size=" << size); EWOL_DEBUG(" ==> border=" << imageBoder << " size=" << imageSize << " min-size=" << size);
if (imageSize != vec2(0,0)) { if (imageSize != vec2(0,0)) {
m_minSize = imageBoder+imageSize; m_minSize = imageBoder+imageSize;
m_maxSize = m_minSize; m_maxSize = m_minSize;
} else { } else {
vec2 imageSizeReal = m_compositing.getRealSize(); vec2 imageSizeReal = m_compositing.getRealSize();
EWOL_WARNING(" Real Size = " << imageSizeReal); EWOL_VERBOSE(" Real Size = " << imageSizeReal);
vec2 min1 = imageBoder+propertyMinSize->getPixel(); vec2 min1 = imageBoder+propertyMinSize->getPixel();
m_minSize = imageBoder+imageSizeReal; m_minSize = imageBoder+imageSizeReal;
EWOL_WARNING(" set max : " << m_minSize << " min1=" << min1); EWOL_VERBOSE(" set max : " << m_minSize << " min1=" << min1);
m_minSize.setMax(min1); m_minSize.setMax(min1);
EWOL_WARNING(" result : " << m_minSize); EWOL_VERBOSE(" result : " << m_minSize);
m_maxSize = imageBoder+propertyMaxSize->getPixel(); m_maxSize = imageBoder+propertyMaxSize->getPixel();
m_minSize.setMin(m_maxSize); m_minSize.setMin(m_maxSize);
} }
m_imageRenderSize = m_minSize; m_imageRenderSize = m_minSize;
m_minSize.setMax(size); m_minSize.setMax(size);
m_maxSize.setMax(m_minSize); m_maxSize.setMax(m_minSize);
EWOL_ERROR("set widget min=" << m_minSize << " max=" << m_maxSize << " with real Image size=" << m_imageRenderSize << " img size=" << imageSize << " " << propertyImageSize); EWOL_DEBUG("set widget min=" << m_minSize << " max=" << m_maxSize << " with real Image size=" << m_imageRenderSize << " img size=" << imageSize << " " << propertyImageSize);
markToRedraw(); markToRedraw();
} }

View File

@ -48,7 +48,7 @@ ewol::widget::Joystick::~Joystick() {
} }
void ewol::widget::Joystick::onRegenerateDisplay() { void ewol::widget::Joystick::onRegenerateDisplay() {
if (true == needRedraw()) { if (needRedraw() == true) {
// clean the object list ... // clean the object list ...
/* /*
@ -158,19 +158,19 @@ bool ewol::widget::Joystick::onEventInput(const ewol::event::Input& _event) {
} }
void ewol::widget::Joystick::ratio(float newRatio) { void ewol::widget::Joystick::ratio(float _newRatio) {
if (newRatio > 1) { if (_newRatio > 1) {
newRatio = 1; _newRatio = 1;
} }
m_ratio = newRatio; m_ratio = _newRatio;
EWOL_INFO("Set default Joystick ratio at " << m_ratio); EWOL_INFO("Set default Joystick ratio at " << m_ratio);
} }
void ewol::widget::Joystick::background(etk::String imageNameInData, bool display) { void ewol::widget::Joystick::background(etk::String _imageNameInData, bool _display) {
// TODO : check if it existed // TODO : check if it existed
m_background = imageNameInData; m_background = _imageNameInData;
m_displayBackground = display; m_displayBackground = _display;
EWOL_INFO("Set default Joystick background at " << m_background << " display it=" << m_displayBackground); EWOL_INFO("Set default Joystick background at " << m_background << " display it=" << m_displayBackground);
} }

View File

@ -28,7 +28,7 @@ ewol::widget::List::List() {
ewol::widget::List::~List() { ewol::widget::List::~List() {
//clean all the object //clean all the object
for (size_t iii=0; iii<m_listOObject.size(); iii++) { for (size_t iii=0; iii<m_listOObject.size(); iii++) {
delete(m_listOObject[iii]); ETK_DELETE(ewol::Compositing, m_listOObject[iii]);
m_listOObject[iii] = nullptr; m_listOObject[iii] = nullptr;
} }
m_listOObject.clear(); m_listOObject.clear();
@ -71,11 +71,12 @@ void ewol::widget::List::calculateMinMaxSize() {
} }
void ewol::widget::List::addOObject(ewol::Compositing* _newObject, int32_t _pos) { void ewol::widget::List::addOObject(ewol::Compositing* _newObject, int32_t _pos) {
if (nullptr == _newObject) { if (_newObject == nullptr) {
EWOL_ERROR("Try to add an empty object in the Widget generic display system"); EWOL_ERROR("Try to add an empty object in the Widget generic display system");
return; return;
} }
if (_pos < 0 || (size_t)_pos >= m_listOObject.size() ) { if ( _pos < 0
|| (size_t)_pos >= m_listOObject.size() ) {
m_listOObject.pushBack(_newObject); m_listOObject.pushBack(_newObject);
} else { } else {
m_listOObject.insert(m_listOObject.begin()+_pos, _newObject); m_listOObject.insert(m_listOObject.begin()+_pos, _newObject);
@ -84,7 +85,7 @@ void ewol::widget::List::addOObject(ewol::Compositing* _newObject, int32_t _pos)
void ewol::widget::List::clearOObjectList() { void ewol::widget::List::clearOObjectList() {
for (size_t iii=0; iii<m_listOObject.size(); iii++) { for (size_t iii=0; iii<m_listOObject.size(); iii++) {
delete(m_listOObject[iii]); ETK_DELETE(ewol::Compositing, m_listOObject[iii]);
m_listOObject[iii] = nullptr; m_listOObject[iii] = nullptr;
} }
m_listOObject.clear(); m_listOObject.clear();
@ -92,7 +93,7 @@ void ewol::widget::List::clearOObjectList() {
void ewol::widget::List::onDraw() { void ewol::widget::List::onDraw() {
for (size_t iii=0; iii<m_listOObject.size(); iii++) { for (size_t iii=0; iii<m_listOObject.size(); iii++) {
if (nullptr != m_listOObject[iii]) { if (m_listOObject[iii] != nullptr) {
m_listOObject[iii]->draw(); m_listOObject[iii]->draw();
} }
} }
@ -100,8 +101,7 @@ void ewol::widget::List::onDraw() {
} }
void ewol::widget::List::onRegenerateDisplay() { void ewol::widget::List::onRegenerateDisplay() {
if (true == needRedraw()) { if (needRedraw() == true) {
// clean the object list ... // clean the object list ...
clearOObjectList(); clearOObjectList();
//EWOL_DEBUG("OnRegenerateDisplay(" << m_size.x << "," << m_size.y << ")"); //EWOL_DEBUG("OnRegenerateDisplay(" << m_size.x << "," << m_size.y << ")");
@ -128,7 +128,7 @@ void ewol::widget::List::onRegenerateDisplay() {
etk::Vector<int32_t> listSizeColomn; etk::Vector<int32_t> listSizeColomn;
ewol::compositing::Drawing * BGOObjects = new ewol::compositing::Drawing(); ewol::compositing::Drawing * BGOObjects = ETK_NEW(ewol::compositing::Drawing);
etk::Color<> basicBG = getBasicBG(); etk::Color<> basicBG = getBasicBG();
BGOObjects->setColor(basicBG); BGOObjects->setColor(basicBG);
BGOObjects->setPos(vec3(0, 0, 0) ); BGOObjects->setPos(vec3(0, 0, 0) );
@ -170,7 +170,7 @@ void ewol::widget::List::onRegenerateDisplay() {
etk::Color<> bg; etk::Color<> bg;
getElement(jjj, iii, myTextToWrite, fg, bg); getElement(jjj, iii, myTextToWrite, fg, bg);
ewol::compositing::Text * tmpText = new ewol::compositing::Text(); ewol::compositing::Text * tmpText = ETK_NEW(ewol::compositing::Text);
if (nullptr != tmpText) { if (nullptr != tmpText) {
// get font size : // get font size :
int32_t tmpFontHeight = tmpText->calculateSize(char32_t('A')).y(); int32_t tmpFontHeight = tmpText->calculateSize(char32_t('A')).y();

View File

@ -62,7 +62,7 @@ ewol::widget::ListFileSystem::~ListFileSystem() {
void ewol::widget::ListFileSystem::clearList() { void ewol::widget::ListFileSystem::clearList() {
for (auto &it : m_list) { for (auto &it : m_list) {
if (it != nullptr) { if (it != nullptr) {
delete(it); ETK_DELETE(etk::FSNode, it);
it = nullptr; it = nullptr;
} }
} }
@ -79,7 +79,7 @@ void ewol::widget::ListFileSystem::regenerateView() {
m_list.clear(); m_list.clear();
m_originScrooled.setValue(0,0); m_originScrooled.setValue(0,0);
etk::FSNode tmpFolder(*propertyPath); etk::FSNode tmpFolder(*propertyPath);
// get the new list : // get the list:
m_list = tmpFolder.folderGetSubList(*propertyShowHidden, *propertyShowFolder, *propertyShowFile, *propertyFilter); m_list = tmpFolder.folderGetSubList(*propertyShowHidden, *propertyShowFolder, *propertyShowFile, *propertyFilter);
// request a redraw ... // request a redraw ...
markToRedraw(); markToRedraw();

View File

@ -63,5 +63,5 @@ class MainApplication : public ewol::context::Application {
*/ */
int main(int _argc, const char *_argv[]) { int main(int _argc, const char *_argv[]) {
// second possibility // second possibility
return ewol::run(new MainApplication(), _argc, _argv); return ewol::run(ETK_NEW(appl::MainApplication)(), _argc, _argv);
} }

View File

@ -95,7 +95,7 @@ namespace appl {
*/ */
int main(int _argc, const char *_argv[]) { int main(int _argc, const char *_argv[]) {
// second possibility // second possibility
return ewol::run(new appl::MainApplication(), _argc, _argv); return ewol::run(ETK_NEW(appl::MainApplication)(), _argc, _argv);
} }
//! [ewol_sample_HW_main_main] //! [ewol_sample_HW_main_main]

View File

@ -62,5 +62,5 @@ class MainApplication : public ewol::context::Application {
*/ */
int main(int _argc, const char *_argv[]) { int main(int _argc, const char *_argv[]) {
// second possibility // second possibility
return ewol::run(new MainApplication(), _argc, _argv); return ewol::run(ETK_NEW(appl::MainApplication)(), _argc, _argv);
} }

View File

@ -10,8 +10,8 @@
#define NAME "Application" #define NAME "Application"
TEST(TestEwolApplication, Creation) { TEST(TestEwolApplication, Creation) {
ewol::context::Application* tmpAppl = new ewol::context::Application(); ewol::context::Application* tmpAppl = ETK_NEW(ewol::context::Application);
EXPECT_NE(tmpAppl, nullptr); EXPECT_NE(tmpAppl, nullptr);
delete tmpAppl; ETK_DELETE(ewol::context::Application, tmpAppl);
} }

View File

@ -90,7 +90,7 @@ class MainApplication : public ewol::context::Application {
*/ */
int main(int _argc, const char *_argv[]) { int main(int _argc, const char *_argv[]) {
// second possibility // second possibility
return ewol::run(new MainApplication(), _argc, _argv); return ewol::run(ETK_NEW(appl::MainApplication)(), _argc, _argv);
} }

View File

@ -90,7 +90,7 @@ class MainApplication : public ewol::context::Application {
*/ */
int main(int _argc, const char *_argv[]) { int main(int _argc, const char *_argv[]) {
// second possibility // second possibility
return ewol::run(new MainApplication(), _argc, _argv); return ewol::run(ETK_NEW(appl::MainApplication)(), _argc, _argv);
} }