First display in open GL

This commit is contained in:
Edouard Dupin 2012-01-15 14:15:24 +01:00
parent bd7aa98324
commit 01868a2114
3 changed files with 22 additions and 19 deletions

View File

@ -343,11 +343,11 @@ int32_t BufferText::Display(ewol::OObject2DText* OOText, ewol::OObject2DColored*
// draw the lineNumber : // draw the lineNumber :
int32_t currentLineID = m_displayStart.y+1; int32_t currentLineID = m_displayStart.y+1;
EDN_DEBUG("Start display of text buffer [" << m_displayStartBufferPos<< ".." << mylen << "]");
#if 0 ////// DrawLineNumber(drawer, myPrint, currentLineID, y);
DrawLineNumber(drawer, myPrint, currentLineID, y);
for (iii=m_displayStartBufferPos; iii<mylen && displayLines < m_displaySize.y ; iii = new_i) { for (iii=m_displayStartBufferPos; iii<mylen && displayLines < m_displaySize.y ; iii = new_i) {
//EDN_INFO("diplay element=" << iii); //EDN_DEBUG("diplay element=" << iii);
int32_t pixelX = xx*letterWidth + x_base; int32_t pixelX = xx*letterWidth + x_base;
int displaywidth; int displaywidth;
uint32_t currentChar = '\0'; uint32_t currentChar = '\0';
@ -393,11 +393,11 @@ int32_t BufferText::Display(ewol::OObject2DText* OOText, ewol::OObject2DColored*
&& selStart <= iii && selStart <= iii
&& selEnd > iii) && selEnd > iii)
{ {
drawer.SpaceText(myColorSel->GetBG(), pixelX ,y , 1); //drawer.SpaceText(myColorSel->GetBG(), pixelX ,y , 1);
} else if (true == selectColor->HaveBg()) { } else if (true == selectColor->HaveBg()) {
drawer.SpaceText(selectColor->GetBG(), pixelX ,y , 1); //drawer.SpaceText(selectColor->GetBG(), pixelX ,y , 1);
} else { } else {
drawer.SpaceText(myColorSpace, pixelX ,y , 1); //drawer.SpaceText(myColorSpace, pixelX ,y , 1);
} }
} else if( '\t' == currentChar } else if( '\t' == currentChar
&& true == globals::IsSetDisplaySpaceChar() ) && true == globals::IsSetDisplaySpaceChar() )
@ -406,11 +406,11 @@ int32_t BufferText::Display(ewol::OObject2DText* OOText, ewol::OObject2DColored*
&& selStart <= iii && selStart <= iii
&& selEnd > iii) && selEnd > iii)
{ {
drawer.SpaceText(myColorSel->GetBG(), pixelX ,y , strlen(tmpDisplayOfset)); //drawer.SpaceText(myColorSel->GetBG(), pixelX ,y , strlen(tmpDisplayOfset));
} else if (true == selectColor->HaveBg()) { } else if (true == selectColor->HaveBg()) {
drawer.SpaceText(selectColor->GetBG(), pixelX ,y , strlen(tmpDisplayOfset)); //drawer.SpaceText(selectColor->GetBG(), pixelX ,y , strlen(tmpDisplayOfset));
} else { } else {
drawer.SpaceText(myColorTab, pixelX ,y , strlen(tmpDisplayOfset)); //drawer.SpaceText(myColorTab, pixelX ,y , strlen(tmpDisplayOfset));
} }
} else { } else {
if( true == selHave if( true == selHave
@ -420,9 +420,11 @@ int32_t BufferText::Display(ewol::OObject2DText* OOText, ewol::OObject2DColored*
selectColor = myColorSel; selectColor = myColorSel;
} }
if (currentChar <= 0x7F) { if (currentChar <= 0x7F) {
drawer.Text(selectColor, pixelX ,y, tmpDisplayOfset); //drawer.Text(selectColor, pixelX ,y, tmpDisplayOfset);
OOText->TextAdd(pixelX, y, tmpDisplayOfset, -1);
} else { } else {
drawer.Text(selectColor, pixelX ,y, displayChar); //drawer.Text(selectColor, pixelX ,y, displayChar);
OOText->TextAdd(pixelX, y, displayChar, -1);
} }
} }
xx+=widthToDisplay; xx+=widthToDisplay;
@ -433,7 +435,7 @@ int32_t BufferText::Display(ewol::OObject2DText* OOText, ewol::OObject2DColored*
if (m_cursorPos == iii) { if (m_cursorPos == iii) {
// display the cursor: // display the cursor:
if (true == m_cursorOn) { if (true == m_cursorOn) {
drawer.Cursor(pixelX, y+letterHeight); //drawer.Cursor(pixelX, y+letterHeight);
//m_cursorOn = false; //m_cursorOn = false;
} else { } else {
m_cursorOn = true; m_cursorOn = true;
@ -441,32 +443,32 @@ int32_t BufferText::Display(ewol::OObject2DText* OOText, ewol::OObject2DColored*
} }
// move to next line ... // move to next line ...
if (currentChar=='\n') { if (currentChar=='\n') {
drawer.EndOfLine(pixelX, y+letterHeight); //drawer.EndOfLine(pixelX, y+letterHeight);
drawer.Flush(); //drawer.Flush();
xx = 0; xx = 0;
idX =0; idX =0;
y += letterHeight; y += letterHeight;
displayLines++; displayLines++;
currentLineID++; currentLineID++;
DrawLineNumber(drawer, myPrint, currentLineID, y); //DrawLineNumber(drawer, myPrint, currentLineID, y);
} }
} }
// special case : the cursor is at the end of the buffer... // special case : the cursor is at the end of the buffer...
if (m_cursorPos == iii) { if (m_cursorPos == iii) {
// display the cursor: // display the cursor:
if (true == m_cursorOn) { if (true == m_cursorOn) {
drawer.Cursor(xx*letterWidth + x_base, y+letterHeight); //drawer.Cursor(xx*letterWidth + x_base, y+letterHeight);
m_cursorOn = false; m_cursorOn = false;
} else { } else {
m_cursorOn = true; m_cursorOn = true;
} }
} }
drawer.Flush(); //drawer.Flush();
//GTimeVal timeStop; //GTimeVal timeStop;
//g_get_current_time(&timeStop); //g_get_current_time(&timeStop);
//EDN_DEBUG("Display Generation = " << timeStop.tv_usec - timeStart.tv_usec << " micro-s"); //EDN_DEBUG("Display Generation = " << timeStop.tv_usec - timeStart.tv_usec << " micro-s");
#endif
return ERR_NONE; return ERR_NONE;
} }

View File

@ -85,6 +85,7 @@ void CodeView::OnRegenerateDisplay(void)
ewol::OObject2DColored* myOObjectsColored = new ewol::OObject2DColored(); ewol::OObject2DColored* myOObjectsColored = new ewol::OObject2DColored();
// generate the objects : // generate the objects :
m_bufferID = 0;
m_bufferManager->Get(m_bufferID)->Display(myOObjectText, myOObjectsColored, m_size.x, m_size.y); m_bufferManager->Get(m_bufferID)->Display(myOObjectText, myOObjectsColored, m_size.x, m_size.y);
// clean the object list ... // clean the object list ...

View File

@ -125,7 +125,7 @@ void APP_Init(int argc, char *argv[])
EDN_INFO("show list of files : "); EDN_INFO("show list of files : ");
for( int32_t i=1 ; i<argc; i++) { for( int32_t i=1 ; i<argc; i++) {
EDN_INFO("need load file : \"" << argv[i] << "\"" ); EDN_INFO("need load file : \"" << argv[i] << "\"" );
etk::File myfile = (char *)argv[i]; etk::File myfile((char *)argv[i], etk::FILE_TYPE_DIRECT);
if (false == myBufferManager->Exist(myfile) ) { if (false == myBufferManager->Exist(myfile) ) {
int32_t idBuffOpened = myBufferManager->Open(myfile); int32_t idBuffOpened = myBufferManager->Open(myfile);