Set the distance field test in compilation flags

This commit is contained in:
Edouard Dupin 2012-10-09 09:40:11 +02:00
parent fc129e2745
commit 6e2df2dc77
13 changed files with 68 additions and 28 deletions

View File

@ -5,6 +5,8 @@ include $(CLEAR_VARS)
# load the common sources file of the platform # load the common sources file of the platform
include $(LOCAL_PATH)/file.mk include $(LOCAL_PATH)/file.mk
LOCAL_CONFIG_FILES := Config.in
# name of the librairy # name of the librairy
ifeq ($(CONFIG___EWOL_APPL_NAME__),$(empty)) ifeq ($(CONFIG___EWOL_APPL_NAME__),$(empty))
LOCAL_MODULE := edn LOCAL_MODULE := edn

23
Sources/Config.in Normal file
View File

@ -0,0 +1,23 @@
menu "General"
if __VIDEO__OPENGL_ES_2
choice
prompt "Buffer text configuration"
default APPL_BUFFER_FONT_NORMAL
help
Buffer display mode :
0 : Basic Sprite font mode.
==> Old standard mode fast but need to reaload distint font for every size
1 : Distance Field.
==> New theoric mode for the display of the font ==> really slow but insteresting ...
config APPL_BUFFER_FONT_NORMAL
bool "0: Basic Sprite font mode"
config APPL_BUFFER_FONT_DISTANCE_FIELD
bool "1: Distance Field"
endchoice
endif
if __VIDEO__OPENGL_ES_1
config APPL_BUFFER_FONT_NORMAL
bool
default y
endif
endmenu

View File

@ -5,6 +5,8 @@ include $(CLEAR_VARS)
# load the common sources file of the platform # load the common sources file of the platform
include $(LOCAL_PATH)/file.mk include $(LOCAL_PATH)/file.mk
LOCAL_CONFIG_FILES := Config.in
# name of the librairy # name of the librairy
ifeq ($(CONFIG___EWOL_APPL_NAME__),$(empty)) ifeq ($(CONFIG___EWOL_APPL_NAME__),$(empty))
LOCAL_MODULE := edn LOCAL_MODULE := edn

View File

@ -5,6 +5,8 @@ include $(CLEAR_VARS)
# load the common sources file of the platform # load the common sources file of the platform
include $(LOCAL_PATH)/file.mk include $(LOCAL_PATH)/file.mk
LOCAL_CONFIG_FILES := Config.in
# name of the librairy # name of the librairy
ifeq ($(CONFIG___EWOL_APPL_NAME__),$(empty)) ifeq ($(CONFIG___EWOL_APPL_NAME__),$(empty))
LOCAL_MODULE := edn LOCAL_MODULE := edn

View File

@ -41,7 +41,7 @@ typedef struct{
uint32_t diplayableLine; //!< NB Line that can be displayed uint32_t diplayableLine; //!< NB Line that can be displayed
}infoStatBuffer_ts; }infoStatBuffer_ts;
#ifdef __VIDEO__OPENGL_ES_2 #ifdef APPL_BUFFER_FONT_DISTANCE_FIELD
#define TEXT_DISPLAY_TYPE OObject2DTextShader #define TEXT_DISPLAY_TYPE OObject2DTextShader
#else #else
#define TEXT_DISPLAY_TYPE OObject2DTextColored #define TEXT_DISPLAY_TYPE OObject2DTextColored
@ -85,7 +85,7 @@ class Buffer {
public: public:
virtual void GetInfo(infoStatBuffer_ts &infoToUpdate) {}; virtual void GetInfo(infoStatBuffer_ts &infoToUpdate) {};
virtual void SetLineDisplay(uint32_t lineNumber) {}; virtual void SetLineDisplay(uint32_t lineNumber) {};
#ifdef __VIDEO__OPENGL_ES_2 #ifdef APPL_BUFFER_FONT_DISTANCE_FIELD
virtual int32_t Display(ewol::TEXT_DISPLAY_TYPE& OOText, virtual int32_t Display(ewol::TEXT_DISPLAY_TYPE& OOText,
ewol::OObject2DColored& OOColored, int32_t offsetX, int32_t offsetY, int32_t sizeX, int32_t sizeY) ewol::OObject2DColored& OOColored, int32_t offsetX, int32_t offsetY, int32_t sizeX, int32_t sizeY)

View File

@ -67,7 +67,7 @@ BufferEmpty::~BufferEmpty(void)
* @return --- * @return ---
* *
*/ */
#ifdef __VIDEO__OPENGL_ES_2 #ifdef APPL_BUFFER_FONT_DISTANCE_FIELD
int32_t BufferEmpty::Display(ewol::TEXT_DISPLAY_TYPE& OOText, int32_t BufferEmpty::Display(ewol::TEXT_DISPLAY_TYPE& OOText,
ewol::OObject2DColored& OOColored, int32_t offsetX, int32_t offsetY, int32_t sizeX, int32_t sizeY) ewol::OObject2DColored& OOColored, int32_t offsetX, int32_t offsetY, int32_t sizeX, int32_t sizeY)
#else #else
@ -81,7 +81,7 @@ int32_t BufferEmpty::Display(ewol::TEXT_DISPLAY_TYPE& OOTextNormal,
// Get color : // Get color :
Colorize *myColor = NULL; Colorize *myColor = NULL;
#ifdef __VIDEO__OPENGL_ES_2 #ifdef APPL_BUFFER_FONT_DISTANCE_FIELD
int32_t letterHeight = OOText.GetHeight(); int32_t letterHeight = OOText.GetHeight();
#else #else
int32_t letterHeight = OOTextNormal.GetHeight(); int32_t letterHeight = OOTextNormal.GetHeight();
@ -94,7 +94,7 @@ int32_t BufferEmpty::Display(ewol::TEXT_DISPLAY_TYPE& OOTextNormal,
myColor = ColorizeManager::Get("normal"); myColor = ColorizeManager::Get("normal");
tmpDisplay = "edn - Editeur De N'ours"; tmpDisplay = "edn - Editeur De N'ours";
#ifdef __VIDEO__OPENGL_ES_2 #ifdef APPL_BUFFER_FONT_DISTANCE_FIELD
OOText.SetColor(myColor->GetFG()); OOText.SetColor(myColor->GetFG());
OOText.SetBold(true); OOText.SetBold(true);
OOText.SetItalic(false); OOText.SetItalic(false);
@ -107,7 +107,7 @@ int32_t BufferEmpty::Display(ewol::TEXT_DISPLAY_TYPE& OOTextNormal,
myColor = ColorizeManager::Get("commentDoxygen"); myColor = ColorizeManager::Get("commentDoxygen");
textPos.y = (int32_t)(textPos.y - letterHeight*1.30); textPos.y = (int32_t)(textPos.y - letterHeight*1.30);
tmpDisplay = "No Buffer Availlable to display"; tmpDisplay = "No Buffer Availlable to display";
#ifdef __VIDEO__OPENGL_ES_2 #ifdef APPL_BUFFER_FONT_DISTANCE_FIELD
OOText.SetBold(false); OOText.SetBold(false);
OOText.SetItalic(false); OOText.SetItalic(false);
OOText.SetColor(myColor->GetFG()); OOText.SetColor(myColor->GetFG());

View File

@ -32,7 +32,7 @@ class BufferEmpty : public Buffer {
public: public:
BufferEmpty(void); BufferEmpty(void);
virtual ~BufferEmpty(void); virtual ~BufferEmpty(void);
#ifdef __VIDEO__OPENGL_ES_2 #ifdef APPL_BUFFER_FONT_DISTANCE_FIELD
int32_t Display(ewol::TEXT_DISPLAY_TYPE& OOText, int32_t Display(ewol::TEXT_DISPLAY_TYPE& OOText,
ewol::OObject2DColored& OOColored, int32_t offsetX, int32_t offsetY, int32_t sizeX, int32_t sizeY); ewol::OObject2DColored& OOColored, int32_t offsetX, int32_t offsetY, int32_t sizeX, int32_t sizeY);
#else #else

View File

@ -277,7 +277,7 @@ int32_t BufferText::GetNumberOfLine(void)
* @return * @return
* *
*/ */
#ifdef __VIDEO__OPENGL_ES_2 #ifdef APPL_BUFFER_FONT_DISTANCE_FIELD
int32_t BufferText::Display(ewol::TEXT_DISPLAY_TYPE& OOText, int32_t BufferText::Display(ewol::TEXT_DISPLAY_TYPE& OOText,
ewol::OObject2DColored& OOColored, ewol::OObject2DColored& OOColored,
int32_t offsetX, int32_t offsetY, int32_t offsetX, int32_t offsetY,
@ -296,7 +296,7 @@ int32_t BufferText::Display(ewol::TEXT_DISPLAY_TYPE& OOTextNormal,
bool selIsRect; bool selIsRect;
int32_t selHave; int32_t selHave;
#ifdef __VIDEO__OPENGL_ES_2 #ifdef APPL_BUFFER_FONT_DISTANCE_FIELD
int32_t letterWidth = OOText.GetSize("A").x; int32_t letterWidth = OOText.GetSize("A").x;
int32_t letterHeight = OOText.GetHeight(); int32_t letterHeight = OOText.GetHeight();
#else #else
@ -330,7 +330,7 @@ int32_t BufferText::Display(ewol::TEXT_DISPLAY_TYPE& OOTextNormal,
draw::Color & myColorSpace = ColorizeManager::Get(COLOR_CODE_SPACE); draw::Color & myColorSpace = ColorizeManager::Get(COLOR_CODE_SPACE);
draw::Color & myColorTab = ColorizeManager::Get(COLOR_CODE_TAB); draw::Color & myColorTab = ColorizeManager::Get(COLOR_CODE_TAB);
Colorize * selectColor = NULL; Colorize * selectColor = NULL;
#ifndef __VIDEO__OPENGL_ES_2 #ifndef APPL_BUFFER_FONT_DISTANCE_FIELD
ewol::TEXT_DISPLAY_TYPE* OOTextSelected = NULL; ewol::TEXT_DISPLAY_TYPE* OOTextSelected = NULL;
#endif #endif
int mylen = m_EdnBuf.Size(); int mylen = m_EdnBuf.Size();
@ -362,7 +362,7 @@ int32_t BufferText::Display(ewol::TEXT_DISPLAY_TYPE& OOTextNormal,
y -= letterHeight; y -= letterHeight;
OOColored.clippingDisable(); OOColored.clippingDisable();
#ifdef __VIDEO__OPENGL_ES_2 #ifdef APPL_BUFFER_FONT_DISTANCE_FIELD
OOText.clippingDisable(); OOText.clippingDisable();
DrawLineNumber(&OOText, &OOColored, x_base, sizeY, nbColoneForLineNumber, currentLineID, y); DrawLineNumber(&OOText, &OOColored, x_base, sizeY, nbColoneForLineNumber, currentLineID, y);
#else #else
@ -383,7 +383,7 @@ int32_t BufferText::Display(ewol::TEXT_DISPLAY_TYPE& OOTextNormal,
drawClippingTextArea.w = sizeX - drawClipping.x; drawClippingTextArea.w = sizeX - drawClipping.x;
drawClippingTextArea.h = sizeY; drawClippingTextArea.h = sizeY;
#ifdef __VIDEO__OPENGL_ES_2 #ifdef APPL_BUFFER_FONT_DISTANCE_FIELD
OOText.clippingSet(drawClippingTextArea); OOText.clippingSet(drawClippingTextArea);
#else #else
OOTextNormal.clippingSet(drawClippingTextArea); OOTextNormal.clippingSet(drawClippingTextArea);
@ -455,7 +455,7 @@ int32_t BufferText::Display(ewol::TEXT_DISPLAY_TYPE& OOTextNormal,
haveBg = selectColor->HaveBg(); haveBg = selectColor->HaveBg();
} }
} }
#ifdef __VIDEO__OPENGL_ES_2 #ifdef APPL_BUFFER_FONT_DISTANCE_FIELD
tmpElementProperty.m_ySize = OOText.GetHeight(); tmpElementProperty.m_ySize = OOText.GetHeight();
OOText.SetColor(selectColor->GetFG()); OOText.SetColor(selectColor->GetFG());
OOText.SetBold(selectColor->GetBold()); OOText.SetBold(selectColor->GetBold());
@ -508,7 +508,7 @@ int32_t BufferText::Display(ewol::TEXT_DISPLAY_TYPE& OOTextNormal,
displayLines++; displayLines++;
currentLineID++; currentLineID++;
OOColored.clippingDisable(); OOColored.clippingDisable();
#ifdef __VIDEO__OPENGL_ES_2 #ifdef APPL_BUFFER_FONT_DISTANCE_FIELD
OOText.clippingDisable(); OOText.clippingDisable();
OOText.SetBold(false); OOText.SetBold(false);
OOText.SetItalic(false); OOText.SetItalic(false);

View File

@ -54,7 +54,7 @@ class BufferText : public Buffer {
void GetInfo(infoStatBuffer_ts &infoToUpdate); void GetInfo(infoStatBuffer_ts &infoToUpdate);
void SetLineDisplay(uint32_t lineNumber); void SetLineDisplay(uint32_t lineNumber);
#ifdef __VIDEO__OPENGL_ES_2 #ifdef APPL_BUFFER_FONT_DISTANCE_FIELD
int32_t Display(ewol::TEXT_DISPLAY_TYPE& OOText, int32_t Display(ewol::TEXT_DISPLAY_TYPE& OOText,
ewol::OObject2DColored& OOColored, ewol::OObject2DColored& OOColored,
int32_t offsetX, int32_t offsetY, int32_t offsetX, int32_t offsetY,

View File

@ -69,7 +69,7 @@ void CodeView::Init(void)
SetLimitScrolling(0.2); SetLimitScrolling(0.2);
} }
#ifdef __VIDEO__OPENGL_ES_2 #ifdef APPL_BUFFER_FONT_DISTANCE_FIELD
CodeView::CodeView(etk::UString fontName, int32_t fontSize) : CodeView::CodeView(etk::UString fontName, int32_t fontSize) :
m_OObjectText(fontName, fontSize) m_OObjectText(fontName, fontSize)
{ {
@ -118,7 +118,7 @@ bool CodeView::CalculateMinSize(void)
void CodeView::CalculateMaxSize(void) void CodeView::CalculateMaxSize(void)
{ {
m_maxSize.x = 2048; m_maxSize.x = 2048;
#ifdef __VIDEO__OPENGL_ES_2 #ifdef APPL_BUFFER_FONT_DISTANCE_FIELD
int32_t letterHeight = m_OObjectText.GetHeight(); int32_t letterHeight = m_OObjectText.GetHeight();
#else #else
int32_t letterHeight = m_OObjectTextNormal.GetHeight(); int32_t letterHeight = m_OObjectTextNormal.GetHeight();
@ -130,7 +130,7 @@ void CodeView::CalculateMaxSize(void)
void CodeView::OnDraw(ewol::DrawProperty& displayProp) void CodeView::OnDraw(ewol::DrawProperty& displayProp)
{ {
m_OObjectsColored.Draw(); m_OObjectsColored.Draw();
#ifdef __VIDEO__OPENGL_ES_2 #ifdef APPL_BUFFER_FONT_DISTANCE_FIELD
m_OObjectText.Draw(); m_OObjectText.Draw();
#else #else
m_OObjectTextNormal.Draw(); m_OObjectTextNormal.Draw();
@ -149,7 +149,7 @@ void CodeView::OnRegenerateDisplay(void)
// For the scrooling windows // For the scrooling windows
CalculateMaxSize(); CalculateMaxSize();
#ifdef __VIDEO__OPENGL_ES_2 #ifdef APPL_BUFFER_FONT_DISTANCE_FIELD
m_OObjectText.Clear(); m_OObjectText.Clear();
#else #else
m_OObjectTextNormal.Clear(); m_OObjectTextNormal.Clear();
@ -169,7 +169,7 @@ void CodeView::OnRegenerateDisplay(void)
} // else : nothing to do ... } // else : nothing to do ...
// generate the objects : // generate the objects :
#ifdef __VIDEO__OPENGL_ES_2 #ifdef APPL_BUFFER_FONT_DISTANCE_FIELD
BufferManager::Get(m_bufferID)->Display(m_OObjectText, BufferManager::Get(m_bufferID)->Display(m_OObjectText,
m_OObjectsColored, m_OObjectsColored,
m_originScrooled.x, m_originScrooled.y, m_size.x, m_size.y); m_originScrooled.x, m_originScrooled.y, m_size.x, m_size.y);
@ -435,7 +435,7 @@ void CodeView::OnLostFocus(void)
void CodeView::SetFontSize(int32_t size) void CodeView::SetFontSize(int32_t size)
{ {
#ifdef __VIDEO__OPENGL_ES_2 #ifdef APPL_BUFFER_FONT_DISTANCE_FIELD
m_OObjectText.SetSize(size); m_OObjectText.SetSize(size);
#else #else
m_OObjectTextNormal.SetSize(size); m_OObjectTextNormal.SetSize(size);
@ -446,12 +446,11 @@ void CodeView::SetFontSize(int32_t size)
SetScrollingSize(size*3.0*1.46); // 1.46 is a magic nmber ... SetScrollingSize(size*3.0*1.46); // 1.46 is a magic nmber ...
} }
#ifdef __VIDEO__OPENGL_ES_2 #ifdef APPL_BUFFER_FONT_DISTANCE_FIELD
void CodeView::SetFontName(etk::UString fontName) void CodeView::SetFontName(etk::UString fontName)
{ {
m_OObjectText.SetFont(fontName); m_OObjectText.SetFont(fontName);
} }
#else #else
void CodeView::SetFontNameNormal(etk::UString fontName) void CodeView::SetFontNameNormal(etk::UString fontName)
{ {

View File

@ -39,7 +39,7 @@ class CodeView :public ewol::WidgetScrooled
{ {
public: public:
void Init(void); void Init(void);
#ifdef __VIDEO__OPENGL_ES_2 #ifdef APPL_BUFFER_FONT_DISTANCE_FIELD
CodeView(etk::UString fontName, int32_t fontSize); CodeView(etk::UString fontName, int32_t fontSize);
#endif #endif
CodeView(void); CodeView(void);
@ -61,7 +61,7 @@ class CodeView :public ewol::WidgetScrooled
etk::Vector<Vector2D<float> > m_lineNumberList; etk::Vector<Vector2D<float> > m_lineNumberList;
void UpdateNumberOfLineReference(int32_t bufferID); void UpdateNumberOfLineReference(int32_t bufferID);
// drawing elements : // drawing elements :
#ifdef __VIDEO__OPENGL_ES_2 #ifdef APPL_BUFFER_FONT_DISTANCE_FIELD
ewol::TEXT_DISPLAY_TYPE m_OObjectText; ewol::TEXT_DISPLAY_TYPE m_OObjectText;
#else #else
ewol::TEXT_DISPLAY_TYPE m_OObjectTextNormal; ewol::TEXT_DISPLAY_TYPE m_OObjectTextNormal;
@ -106,7 +106,7 @@ class CodeView :public ewol::WidgetScrooled
virtual void OnLostFocus(void); virtual void OnLostFocus(void);
public: public:
void SetFontSize(int32_t size); void SetFontSize(int32_t size);
#ifdef __VIDEO__OPENGL_ES_2 #ifdef APPL_BUFFER_FONT_DISTANCE_FIELD
void SetFontName(etk::UString fontName); void SetFontName(etk::UString fontName);
#else #else
void SetFontNameNormal(etk::UString fontName); void SetFontNameNormal(etk::UString fontName);

View File

@ -154,7 +154,7 @@ MainWindows::MainWindows(void)
mySizerHori->SubWidgetAdd(mySizerVert2); mySizerHori->SubWidgetAdd(mySizerVert2);
// main buffer Area : // main buffer Area :
#ifdef __VIDEO__OPENGL_ES_2 #ifdef APPL_BUFFER_FONT_DISTANCE_FIELD
myCodeView = new CodeView("Font/freefont/FreeMono.ttf", 24); myCodeView = new CodeView("Font/freefont/FreeMono.ttf", 24);
#else #else
myCodeView = new CodeView(); myCodeView = new CodeView();
@ -163,7 +163,7 @@ MainWindows::MainWindows(void)
myCodeView->SetExpendY(true); myCodeView->SetExpendY(true);
myCodeView->SetFillX(true); myCodeView->SetFillX(true);
myCodeView->SetFillY(true); myCodeView->SetFillY(true);
#ifndef __VIDEO__OPENGL_ES_2 #ifndef APPL_BUFFER_FONT_DISTANCE_FIELD
myCodeView->SetFontSize(11); myCodeView->SetFontSize(11);
myCodeView->SetFontNameNormal( "Font/freefont/FreeMono.ttf"); myCodeView->SetFontNameNormal( "Font/freefont/FreeMono.ttf");
myCodeView->SetFontNameBold( "Font/freefont/FreeMonoBold.ttf"); myCodeView->SetFontNameBold( "Font/freefont/FreeMonoBold.ttf");
@ -175,6 +175,7 @@ MainWindows::MainWindows(void)
// search area : // search area :
Search * mySearch = new Search(); Search * mySearch = new Search();
mySizerVert2->SubWidgetAdd(mySearch); mySizerVert2->SubWidgetAdd(mySearch);
#ifdef APPL_BUFFER_FONT_DISTANCE_FIELD
{ {
ewol::SizerHori * mySizerHori2 = new ewol::SizerHori(); ewol::SizerHori * mySizerHori2 = new ewol::SizerHori();
mySizerVert2->SubWidgetAdd(mySizerHori2); mySizerVert2->SubWidgetAdd(mySizerHori2);
@ -201,6 +202,7 @@ MainWindows::MainWindows(void)
tmpSlider->SetValue(0550); tmpSlider->SetValue(0550);
tmpSliderMax = tmpSlider; tmpSliderMax = tmpSlider;
} }
#endif
mySizerHori = new ewol::SizerHori(); mySizerHori = new ewol::SizerHori();
mySizerVert->SubWidgetAdd(mySizerHori); mySizerVert->SubWidgetAdd(mySizerHori);

View File

@ -20,6 +20,16 @@ CONFIG_BUILD_TINYXML=y
CONFIG_BUILD_ZLIB=y CONFIG_BUILD_ZLIB=y
CONFIG_BUILD_LIBZIP=y CONFIG_BUILD_LIBZIP=y
#
# edn
#
#
# General
#
CONFIG_APPL_BUFFER_FONT_NORMAL=y
# CONFIG_APPL_BUFFER_FONT_DISTANCE_FIELD is not set
# #
# ewol # ewol
# #