list size on android
This commit is contained in:
parent
182879be3e
commit
78bada11a7
@ -18,6 +18,8 @@ all:
|
||||
@echo $(CADRE_COTERS)
|
||||
@echo $(CADRE_HAUT_BAS)
|
||||
|
||||
@rm -rf bin
|
||||
|
||||
@echo $(F_ROUGE)"
(sh) Clear previous sources "$(F_NORMALE)
|
||||
@rm -rf src jni/ewolAndroidAbstraction.cpp
|
||||
@echo $(F_ROUGE)"
(sh) Create folder : $(JAVA_FOLDER)/ "$(F_NORMALE)
|
||||
@ -50,7 +52,7 @@ install: all
|
||||
@echo $(CADRE_HAUT_BAS)
|
||||
@# $(PROJECT_SDK)/platform-tools/adb kill-server
|
||||
@# install application
|
||||
sudo $(PROJECT_SDK)/platform-tools/adb install -r ./bin/$(PROJECT_NAME)-debug.apk
|
||||
$(PROJECT_SDK)/platform-tools/adb install -r ./bin/$(PROJECT_NAME)-debug.apk
|
||||
|
||||
clean:
|
||||
@echo $(CADRE_HAUT_BAS)
|
||||
|
@ -57,35 +57,49 @@ extern "C"
|
||||
|
||||
void Java_com___PROJECT_VENDOR_____PROJECT_PACKAGE_____PROJECT_NAME___ActivityOnCreate( JNIEnv* env )
|
||||
{
|
||||
EDN_DEBUG("Activity On Create");
|
||||
EDN_DEBUG("*******************************************");
|
||||
EDN_DEBUG("** Activity On Create **");
|
||||
EDN_DEBUG("*******************************************");
|
||||
EWOL_SystemStart();
|
||||
}
|
||||
void Java_com___PROJECT_VENDOR_____PROJECT_PACKAGE_____PROJECT_NAME___ActivityOnStart( JNIEnv* env )
|
||||
{
|
||||
EDN_DEBUG("Activity On Start");
|
||||
EDN_DEBUG("*******************************************");
|
||||
EDN_DEBUG("** Activity On Start **");
|
||||
EDN_DEBUG("*******************************************");
|
||||
}
|
||||
void Java_com___PROJECT_VENDOR_____PROJECT_PACKAGE_____PROJECT_NAME___ActivityOnReStart( JNIEnv* env )
|
||||
{
|
||||
EDN_DEBUG("Activity On Re-Start");
|
||||
EDN_DEBUG("*******************************************");
|
||||
EDN_DEBUG("** Activity On Re-Start **");
|
||||
EDN_DEBUG("*******************************************");
|
||||
}
|
||||
void Java_com___PROJECT_VENDOR_____PROJECT_PACKAGE_____PROJECT_NAME___ActivityOnResume( JNIEnv* env )
|
||||
{
|
||||
EDN_DEBUG("Activity On Resume");
|
||||
EDN_DEBUG("*******************************************");
|
||||
EDN_DEBUG("** Activity On Resume **");
|
||||
EDN_DEBUG("*******************************************");
|
||||
}
|
||||
void Java_com___PROJECT_VENDOR_____PROJECT_PACKAGE_____PROJECT_NAME___ActivityOnPause( JNIEnv* env )
|
||||
{
|
||||
EDN_DEBUG("Activity On Pause");
|
||||
EDN_DEBUG("*******************************************");
|
||||
EDN_DEBUG("** Activity On Pause **");
|
||||
EDN_DEBUG("*******************************************");
|
||||
// All the openGl has been destroyed ...
|
||||
// TODO : Mark all the texture to be reloaded ...
|
||||
EWOL_NativeGLDestroy();
|
||||
}
|
||||
void Java_com___PROJECT_VENDOR_____PROJECT_PACKAGE_____PROJECT_NAME___ActivityOnStop( JNIEnv* env )
|
||||
{
|
||||
EDN_DEBUG("Activity On Stop");
|
||||
EDN_DEBUG("*******************************************");
|
||||
EDN_DEBUG("** Activity On Stop **");
|
||||
EDN_DEBUG("*******************************************");
|
||||
}
|
||||
void Java_com___PROJECT_VENDOR_____PROJECT_PACKAGE_____PROJECT_NAME___ActivityOnDestroy( JNIEnv* env )
|
||||
{
|
||||
EDN_DEBUG("Activity On Destroy");
|
||||
EDN_DEBUG("*******************************************");
|
||||
EDN_DEBUG("** Activity On Destroy **");
|
||||
EDN_DEBUG("*******************************************");
|
||||
EWOL_SystemStop();
|
||||
}
|
||||
|
||||
|
@ -80,13 +80,6 @@ static int32_t simpleSQRT(int32_t value)
|
||||
return val;
|
||||
}
|
||||
|
||||
void ewol::InitFont(void)
|
||||
{
|
||||
int32_t error = FT_Init_FreeType( &library );
|
||||
if(0 != error) {
|
||||
EWOL_CRITICAL(" when loading FreeType Librairy ...");
|
||||
}
|
||||
}
|
||||
|
||||
// keep only one instance of every font in freetype
|
||||
class FTFontInternal
|
||||
@ -481,10 +474,41 @@ void ewol::SetFontFolder(etk::String folderName)
|
||||
EWOL_INFO("New default font folder name=\"" << s_currentFolderName << "\"");
|
||||
}
|
||||
|
||||
void ewol::InitFont(void)
|
||||
{
|
||||
EWOL_DEBUG("==> Init Font-Manager");
|
||||
int32_t error = FT_Init_FreeType( &library );
|
||||
if(0 != error) {
|
||||
EWOL_CRITICAL(" when loading FreeType Librairy ...");
|
||||
}
|
||||
// prevent android error ==> can create memory leak but I prefer
|
||||
s_currentFolderName = "";
|
||||
s_currentDefaultFontName = "";
|
||||
m_listLoadedTTFont.Clear();
|
||||
s_currentDefaultFontId = -1;
|
||||
}
|
||||
|
||||
void ewol::UnInitFont(void)
|
||||
{
|
||||
EWOL_TODO("later");
|
||||
EWOL_DEBUG("==> Un-Init Font-Manager");
|
||||
/*int32_t error = FT_Done_FreeType( library );
|
||||
library = NULL;
|
||||
if(0 != error) {
|
||||
EWOL_CRITICAL(" when Un-loading FreeType Librairy ...");
|
||||
}
|
||||
*/
|
||||
/*
|
||||
s_currentFolderName = "";
|
||||
s_currentDefaultFontName = "";
|
||||
s_currentDefaultFontId = -1;
|
||||
for(int32_t iii=0; iii<m_listLoadedTTFont.Size(); iii++) {
|
||||
if (NULL != m_listLoadedTTFont[iii]) {
|
||||
delete(m_listLoadedTTFont[iii]);
|
||||
}
|
||||
m_listLoadedTTFont[iii] = NULL;
|
||||
}
|
||||
m_listLoadedTTFont.Clear();
|
||||
*/
|
||||
}
|
||||
|
||||
void ewol::SetDefaultFont(etk::String fontName, int32_t size)
|
||||
|
@ -343,6 +343,7 @@ static pthread_mutex_t localMutex;
|
||||
|
||||
void ewol::texture::Init(void)
|
||||
{
|
||||
EWOL_DEBUG("==> Init Texture-Manager");
|
||||
// create interface mutex :
|
||||
int ret = pthread_mutex_init(&localMutex, NULL);
|
||||
EWOL_ASSERT(ret == 0, "Error creating Mutex ...");
|
||||
@ -350,6 +351,14 @@ void ewol::texture::Init(void)
|
||||
|
||||
void ewol::texture::UnInit(void)
|
||||
{
|
||||
EWOL_DEBUG("==> Un-Init Texture-Manager");
|
||||
for (int32_t iii=0; iii<listLoadedTexture.Size(); iii++) {
|
||||
if (listLoadedTexture[iii] != NULL) {
|
||||
delete(listLoadedTexture[iii]);
|
||||
}
|
||||
listLoadedTexture[iii] = NULL;
|
||||
}
|
||||
listLoadedTexture.Clear();
|
||||
int ret = pthread_mutex_destroy(&localMutex);
|
||||
EWOL_ASSERT(ret == 0, "Error destroying Mutex ...");
|
||||
}
|
||||
@ -366,6 +375,10 @@ void ewol::UpdateTextureContextIsDestroy(void)
|
||||
&& NULL != listLoadedTexture[iii]->m_data)
|
||||
{
|
||||
listLoadedTexture[iii]->m_loaded = false;
|
||||
EWOL_INFO("TEXTURE: Disable [" << iii << "]=(" << listLoadedTexture[iii]->m_width << "px," <<
|
||||
listLoadedTexture[iii]->m_height << "px) in file:" <<
|
||||
listLoadedTexture[iii]->m_filename << " OGl_Id=" <<listLoadedTexture[iii]->m_openGlTextureID);
|
||||
//glDeleteTextures(1, &listLoadedTexture[iii]->m_openGlTextureID);
|
||||
}
|
||||
}
|
||||
pthread_mutex_unlock(&localMutex);
|
||||
@ -394,8 +407,8 @@ void ewol::UpdateTextureContext(void)
|
||||
glTexParameteri(listLoadedTexture[iii]->m_target, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
|
||||
glTexParameteri(listLoadedTexture[iii]->m_target, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
|
||||
EWOL_INFO("TEXTURE: Add [" << iii << "]=(" << listLoadedTexture[iii]->m_width << "px," <<
|
||||
listLoadedTexture[iii]->m_height << "px) in file:" <<
|
||||
listLoadedTexture[iii]->m_filename << " OGl_Id=" <<textureid);
|
||||
listLoadedTexture[iii]->m_height << "px) in file:" <<
|
||||
listLoadedTexture[iii]->m_filename << " OGl_Id=" <<textureid);
|
||||
glTexImage2D(listLoadedTexture[iii]->m_target,
|
||||
listLoadedTexture[iii]->m_level,
|
||||
listLoadedTexture[iii]->m_internalFormat,
|
||||
|
@ -45,15 +45,19 @@ static ewol::Widget * m_focusWidgetCurrent = NULL;
|
||||
|
||||
void ewol::widgetManager::Init(void)
|
||||
{
|
||||
EWOL_DEBUG("Init Widget manager");
|
||||
EWOL_DEBUG("==> Init Widget-Manager");
|
||||
// create interface mutex :
|
||||
int ret = pthread_mutex_init(&localMutex, NULL);
|
||||
EWOL_ASSERT(ret == 0, "Error creating Mutex ...");
|
||||
// prevent android error ==> can create memory leak but I prefer
|
||||
m_widgetList.Clear();
|
||||
m_focusWidgetDefault = NULL;
|
||||
m_focusWidgetCurrent = NULL;
|
||||
}
|
||||
|
||||
void ewol::widgetManager::UnInit(void)
|
||||
{
|
||||
EWOL_DEBUG("Un-Init Widget manager");
|
||||
EWOL_DEBUG("==> Un-Init Widget-Manager");
|
||||
EWOL_INFO("Realease all FOCUS");
|
||||
ewol::widgetManager::FocusSetDefault(NULL);
|
||||
ewol::widgetManager::FocusRelease();
|
||||
|
@ -93,7 +93,7 @@ void EWOL_NativeResize(int w, int h );
|
||||
static void* BaseAppEntry(void* param)
|
||||
{
|
||||
bool requestEndProcessing = false;
|
||||
EWOL_DEBUG("BThread Init (START)");
|
||||
EWOL_DEBUG("==> Init BThread (START)");
|
||||
|
||||
EWOL_INFO("v" EWOL_VERSION_TAG_NAME);
|
||||
EWOL_INFO("Build Date: " VERSION_BUILD_TIME);
|
||||
@ -103,7 +103,7 @@ static void* BaseAppEntry(void* param)
|
||||
ewol::InitFont();
|
||||
APP_Init();
|
||||
int32_t countNbEvent = 0;
|
||||
EWOL_DEBUG("BThread Init (END)");
|
||||
EWOL_DEBUG("==> Init BThread (END)");
|
||||
while(false == requestEndProcessing) {
|
||||
ewol::threadMsg::threadMsgContent_ts data;
|
||||
ewol::threadMsg::WaitMessage(androidJniMsg, data);
|
||||
@ -178,7 +178,7 @@ static void* BaseAppEntry(void* param)
|
||||
}
|
||||
}
|
||||
}
|
||||
EWOL_DEBUG("BThread Un-Init (START)");
|
||||
EWOL_DEBUG("==> Un-Init BThread (START)");
|
||||
|
||||
// unset all windows
|
||||
ewol::DisplayWindows(NULL);
|
||||
@ -189,7 +189,7 @@ static void* BaseAppEntry(void* param)
|
||||
ewol::UnInitFont();
|
||||
ewol::widgetManager::UnInit();
|
||||
ewol::theme::UnInit();
|
||||
EWOL_DEBUG("BThread Un-Init (END)");
|
||||
EWOL_DEBUG("==> Un-Init BThread (END)");
|
||||
pthread_exit(NULL);
|
||||
}
|
||||
|
||||
|
@ -29,37 +29,51 @@
|
||||
#undef __class__
|
||||
#define __class__ "ewol::theme"
|
||||
|
||||
static ewol::theme::Theme localTheme;
|
||||
static ewol::theme::Theme * localTheme = NULL;
|
||||
|
||||
void ewol::theme::Init(void)
|
||||
{
|
||||
EWOL_INFO("Init theme system");
|
||||
EWOL_DEBUG("==> Init Theme-Manager");
|
||||
localTheme = new ewol::theme::Theme();
|
||||
}
|
||||
|
||||
|
||||
void ewol::theme::UnInit(void)
|
||||
{
|
||||
EWOL_INFO("Un-Init theme system");
|
||||
EWOL_DEBUG("==> Un-Init Theme-Manager");
|
||||
if (NULL != localTheme) {
|
||||
delete(localTheme);
|
||||
localTheme = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void ewol::theme::LoadDefault(etk::File filename)
|
||||
{
|
||||
EWOL_INFO("Load default Theme : " << filename);
|
||||
localTheme.Load(filename, true);
|
||||
if (NULL == localTheme) {
|
||||
return;
|
||||
}
|
||||
localTheme->Load(filename, true);
|
||||
}
|
||||
|
||||
|
||||
void ewol::theme::Load(etk::File filename)
|
||||
{
|
||||
EWOL_INFO("Add personal theme : " << filename);
|
||||
localTheme.Load(filename, false);
|
||||
if (NULL == localTheme) {
|
||||
return;
|
||||
}
|
||||
localTheme->Load(filename, false);
|
||||
}
|
||||
|
||||
|
||||
int32_t ewol::theme::GetObjectId(etk::String name)
|
||||
{
|
||||
return localTheme.GetObjectId(name);
|
||||
if (NULL == localTheme) {
|
||||
return 0;
|
||||
}
|
||||
return localTheme->GetObjectId(name);
|
||||
}
|
||||
|
||||
// ???? GetObjectType(int32_t id);
|
||||
@ -67,27 +81,36 @@ int32_t ewol::theme::GetObjectId(etk::String name)
|
||||
|
||||
void ewol::theme::Generate(int32_t id, int32_t frameId, ewol::OObject2DColored & newObject, etkFloat_t posX, etkFloat_t posY, etkFloat_t sizeX, etkFloat_t sizeY)
|
||||
{
|
||||
if (NULL == localTheme) {
|
||||
return;
|
||||
}
|
||||
if (id<0) {
|
||||
return;
|
||||
}
|
||||
localTheme.Generate(id, frameId, newObject, posX, posY, sizeX, sizeY);
|
||||
localTheme->Generate(id, frameId, newObject, posX, posY, sizeX, sizeY);
|
||||
}
|
||||
|
||||
|
||||
int32_t ewol::theme::GetNbFrame(int32_t id)
|
||||
{
|
||||
if (NULL == localTheme) {
|
||||
return 0;
|
||||
}
|
||||
if (id<0) {
|
||||
return 0;
|
||||
}
|
||||
return localTheme.GetNbFrame(id);
|
||||
return localTheme->GetNbFrame(id);
|
||||
}
|
||||
|
||||
|
||||
int32_t ewol::theme::GetFrameId(int32_t id, etk::String & frameName)
|
||||
{
|
||||
if (NULL == localTheme) {
|
||||
return 0;
|
||||
}
|
||||
if (id<0) {
|
||||
return 0;
|
||||
}
|
||||
return localTheme.GetFrameId(id, frameName);
|
||||
return localTheme->GetFrameId(id, frameName);
|
||||
}
|
||||
|
||||
|
@ -34,7 +34,12 @@
|
||||
|
||||
void ewol::List::Init(void)
|
||||
{
|
||||
m_paddingSize = 2;
|
||||
m_paddingSizeX = 2;
|
||||
#ifdef __PLATFORM__Android
|
||||
m_paddingSizeY = 10;
|
||||
#else
|
||||
m_paddingSizeY = 2;
|
||||
#endif
|
||||
SetCanHaveFocus(true);
|
||||
}
|
||||
|
||||
@ -78,8 +83,8 @@ void ewol::List::OnRegenerateDisplay(void)
|
||||
if (true==m_userFillY) {
|
||||
tmpOriginY = 0;
|
||||
}*/
|
||||
tmpOriginX += m_paddingSize;
|
||||
tmpOriginY += m_paddingSize;
|
||||
tmpOriginX += m_paddingSizeX;
|
||||
tmpOriginY += m_paddingSizeY;
|
||||
|
||||
int32_t fontId = GetDefaultFontId();
|
||||
//int32_t minWidth = ewol::GetWidth(fontId, m_label.c_str());
|
||||
@ -95,7 +100,7 @@ void ewol::List::OnRegenerateDisplay(void)
|
||||
BGOObjects->SetColor(basicBG);
|
||||
BGOObjects->Rectangle(0, 0, m_size.x, m_size.y);
|
||||
|
||||
uint32_t displayableRaw = m_size.y / (minHeight + 2*m_paddingSize);
|
||||
uint32_t displayableRaw = m_size.y / (minHeight + 2*m_paddingSizeY);
|
||||
|
||||
// We display only compleate lines ...
|
||||
for(uint32_t iii=0; iii<nbRaw && iii<displayableRaw; iii++) {
|
||||
@ -104,13 +109,13 @@ void ewol::List::OnRegenerateDisplay(void)
|
||||
color_ts bg;
|
||||
GetElement(0, iii, myTextToWrite, fg, bg);
|
||||
BGOObjects->SetColor(bg);
|
||||
BGOObjects->Rectangle(0, tmpOriginYBG, m_size.x, minHeight+2*m_paddingSize);
|
||||
tmpOriginYBG += minHeight+2*m_paddingSize;
|
||||
BGOObjects->Rectangle(0, tmpOriginYBG, m_size.x, minHeight+2*m_paddingSizeY);
|
||||
tmpOriginYBG += minHeight+2*m_paddingSizeY;
|
||||
|
||||
ewol::OObject2DText * tmpText = new ewol::OObject2DText("", -1, fg);
|
||||
tmpText->Text(tmpOriginX, tmpOriginY, myTextToWrite.c_str(), m_size.x - (2*m_paddingSize));
|
||||
tmpText->Text(tmpOriginX, tmpOriginY, myTextToWrite.c_str(), m_size.x - (2*m_paddingSizeX));
|
||||
AddOObject(tmpText);
|
||||
tmpOriginY += minHeight + 2* m_paddingSize;
|
||||
tmpOriginY += minHeight + 2* m_paddingSizeY;
|
||||
}
|
||||
AddOObject(BGOObjects, "ListDeco", 0);
|
||||
//ewol::OObject2DText * tmpText = new ewol::OObject2DText("", -1, m_textColorFg);
|
||||
@ -127,7 +132,7 @@ bool ewol::List::OnEventInput(int32_t IdInput, eventInputType_te typeEvent, etkF
|
||||
//int32_t minWidth = ewol::GetWidth(fontId, m_label.c_str());
|
||||
int32_t minHeight = ewol::GetHeight(fontId);
|
||||
|
||||
int32_t rawID = (y - m_origin.y) / (minHeight + 2*m_paddingSize);
|
||||
int32_t rawID = (y - m_origin.y) / (minHeight + 2*m_paddingSizeY);
|
||||
//EWOL_DEBUG("OnEventInput(" << IdInput << "," << typeEvent << "," << 0 << "," << rawID << "," << x <<"," << y << ");");
|
||||
return OnItemEvent(IdInput, typeEvent, 0, rawID, x, y);
|
||||
}
|
@ -39,7 +39,8 @@ namespace ewol {
|
||||
virtual bool CalculateMinSize(void);
|
||||
void SetLabel(etk::String newLabel);
|
||||
private:
|
||||
int32_t m_paddingSize;
|
||||
int32_t m_paddingSizeX;
|
||||
int32_t m_paddingSizeY;
|
||||
int32_t m_displayStartRaw; //!< Current starting diaplayed raw
|
||||
int32_t m_displayCurrentNbLine; //!< Number of line in the display
|
||||
public:
|
||||
|
@ -337,10 +337,13 @@ ewol::FileChooser::FileChooser(void)
|
||||
FileChooserFileList * myListFile = NULL;
|
||||
FileChooserFolderList * myListFolder = NULL;
|
||||
ewol::Label * myLabel = NULL;
|
||||
|
||||
m_folder = "/";
|
||||
|
||||
SetDisplayRatio(0.80);
|
||||
#ifdef __PLATFORM__Android
|
||||
m_folder = "/mnt/sdcard/";
|
||||
SetDisplayRatio(0.90);
|
||||
#else
|
||||
m_folder = "/home/";
|
||||
SetDisplayRatio(0.80);
|
||||
#endif
|
||||
|
||||
mySizerVert = new ewol::SizerVert();
|
||||
mySizerVert->LockExpendContamination(true);
|
||||
|
Loading…
x
Reference in New Issue
Block a user