SYS : display with left and right movement is back
This commit is contained in:
parent
0b2599fb81
commit
d78a67f99f
@ -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; iii<endPos; ) {
|
||||
uint32_t currentChar;
|
||||
char displayChar[MAX_EXP_CHAR_LEN];
|
||||
int32_t displaywidth = m_EdnBuf.GetExpandedChar(iii, idX, displayChar, currentChar);
|
||||
drawer.Text(myColor, pixelX ,positionY, displayChar);
|
||||
selectColor = myColorNormal;
|
||||
//kwow size to display
|
||||
int32_t widthToDisplay;
|
||||
char * tmpDisplayOfset;
|
||||
bool inTheScreen = true;
|
||||
if (m_displayStart.x <= idX) {
|
||||
// Normal display
|
||||
tmpDisplayOfset = displayChar;
|
||||
widthToDisplay = displaywidth;
|
||||
} else if (m_displayStart.x < idX + displaywidth) {
|
||||
// special case of partial display :
|
||||
widthToDisplay = idX + displaywidth - m_displayStart.x;
|
||||
tmpDisplayOfset = displayChar + (displaywidth-widthToDisplay);
|
||||
} else {
|
||||
// Out of range ...
|
||||
widthToDisplay = displaywidth;
|
||||
tmpDisplayOfset = displayChar;
|
||||
inTheScreen = false;
|
||||
}
|
||||
if (true==inTheScreen) {
|
||||
/*
|
||||
HLColor = m_EdnBuf.GetElementColorAtPosition(m_displayLocalSyntax, iii);
|
||||
if (NULL != HLColor) {
|
||||
if (NULL != HLColor->patern) {
|
||||
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;
|
||||
*/
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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:
|
||||
|
Loading…
x
Reference in New Issue
Block a user