From d78a67f99f2aa23e921d187d515c06a6561deb74 Mon Sep 17 00:00:00 2001 From: Edouard Dupin Date: Thu, 8 Sep 2011 14:09:20 +0200 Subject: [PATCH] SYS : display with left and right movement is back --- Sources/Buffer/BufferText.cpp | 95 ++++++++++++++++++++++++++++++++++- Sources/Buffer/BufferText.h | 31 ++++++++++++ 2 files changed, 124 insertions(+), 2 deletions(-) diff --git a/Sources/Buffer/BufferText.cpp b/Sources/Buffer/BufferText.cpp index d1ba1df..205fd56 100644 --- a/Sources/Buffer/BufferText.cpp +++ b/Sources/Buffer/BufferText.cpp @@ -231,6 +231,9 @@ void BufferText::SetLineDisplay(uint32_t lineNumber) } + + + void BufferText::DrawLineNumber(DrawerManager &drawer, int32_t lineNumber) { int32_t letterHeight = Display::GetFontHeight(); @@ -285,14 +288,102 @@ void BufferText::DrawLine(DrawerManager &drawer, int32_t lineNumber, int32_t sta int32_t idX = 0; int32_t pixelX = m_nbColoneForLineNumber*letterWidth + 3; - Colorize * myColor = myColorManager->Get("normal"); + + Colorize * myColorNormal = myColorManager->Get("normal"); + Colorize * myColorSelected = myColorManager->Get("SelectedText"); + Colorize * selectColor = NULL; + for (int32_t iii=startPos; iiipatern) { + selectColor = HLColor->patern->GetColor(); + } + } +*/ + // If user want to display space char : overwrite curent color + if( ' ' == currentChar + && true == globals::IsSetDisplaySpaceChar() ) + { + //selectColor = myColorSelected; + //SpaceText(color_ts & SelectColor, int32_t x, int32_t y,int32_t nbChar) +/* + if( true == selHave + && selStart <= iii + && selEnd > iii) + { + drawer.SpaceText(myColorSelected->GetBG(), pixelX ,positionY , 1); + } else if (true == selectColor->HaveBg()) { + drawer.SpaceText(selectColor->GetBG(), pixelX ,positionY , 1); + } else +*/ + { + drawer.SpaceText(myColorManager->Get(COLOR_CODE_SPACE), pixelX ,positionY , 1); + } + } else if( '\t' == currentChar + && true == globals::IsSetDisplaySpaceChar() ) + { +/* + if( true == selHave + && selStart <= iii + && selEnd > iii) + { + drawer.SpaceText(myColorSelected->GetBG(), pixelX ,positionY , strlen(tmpDisplayOfset)); + } else if (true == selectColor->HaveBg()) { + drawer.SpaceText(selectColor->GetBG(), pixelX ,positionY , strlen(tmpDisplayOfset)); + } else +*/ + { + drawer.SpaceText(myColorManager->Get(COLOR_CODE_TAB), pixelX ,positionY , strlen(tmpDisplayOfset)); + } + } else { +/* + if( true == selHave + && selStart <= iii + && selEnd > iii) + { + selectColor = myColorSelected; + } + if (currentChar <= 0x7F) { + drawer.Text(selectColor, pixelX ,positionY, tmpDisplayOfset); + } else +*/ + { + drawer.Text(selectColor, pixelX ,positionY, displayChar); + } + } + pixelX += widthToDisplay*letterWidth; + } + idX += displaywidth; + /* + drawer.Text(selectColor, pixelX ,positionY, displayChar); idX++; pixelX += displaywidth * letterWidth; + */ } } diff --git a/Sources/Buffer/BufferText.h b/Sources/Buffer/BufferText.h index 3705ae2..b9074fb 100644 --- a/Sources/Buffer/BufferText.h +++ b/Sources/Buffer/BufferText.h @@ -35,6 +35,37 @@ typedef enum { CURSOR_DISPLAY_MODE_INSERT, CURSOR_DISPLAY_MODE_NOT_FOCUS, } cursorDisplayMode_te; +#if 0 +class colorPalette { + private : + ColorizeManager * m_colorManager; + + public : + color_ts & colorSpace; + color_ts & colorTab; + color_ts & colorLineNumber; + + Colorize * colorNormal; + Colorize * colorSel; + Colorize * colorCurrent; + public : + colorPalette(void): + m_colorManager(ColorizeManager::getInstance()), + colorSpace(m_colorManager->Get(COLOR_CODE_SPACE)), + colorTab(m_colorManager->Get(COLOR_CODE_TAB)), + colorLineNumber(m_colorManager->Get(COLOR_CODE_LINE_NUMBER)), + { + /* + ColorizeManager * m_colorManager = ColorizeManager::getInstance(); + colorSpace = m_colorManager->Get(COLOR_CODE_SPACE); + colorTab = m_colorManager->Get(COLOR_CODE_TAB); + colorLineNumber = m_colorManager->Get(COLOR_CODE_LINE_NUMBER); + */ + colorNormal = m_colorManager->Get("normal"); + colorSel = m_colorManager->Get("SelectedText"); + } +} colorPalette_ts; +#endif class BufferText : public Buffer { public: