Seq.cpp (pymol-v1.8.6.0.tar.bz2) | : | Seq.cpp (pymol-v2.1.0.tar.bz2) | ||
---|---|---|---|---|
skipping to change at line 67 | skipping to change at line 67 | |||
static int SeqFindRowCol(PyMOLGlobals * G, int x, int y, int *row_num_ptr, | static int SeqFindRowCol(PyMOLGlobals * G, int x, int y, int *row_num_ptr, | |||
int *col_num_ptr, int fixed_row) | int *col_num_ptr, int fixed_row) | |||
{ | { | |||
CSeq *I = G->Seq; | CSeq *I = G->Seq; | |||
int result = 0; | int result = 0; | |||
int row_num = 0; | int row_num = 0; | |||
int col_num = 0; | int col_num = 0; | |||
if(I->ScrollBarActive) { | if(I->ScrollBarActive) { | |||
y -= I->ScrollBarWidth; | y -= DIP2PIXEL(I->ScrollBarWidth); | |||
} | } | |||
if(fixed_row >= 0) { | if(fixed_row >= 0) { | |||
row_num = fixed_row; | row_num = fixed_row; | |||
} else { | } else { | |||
row_num = (y - I->Block->rect.bottom) / I->LineHeight; | row_num = (y - I->Block->rect.bottom) / DIP2PIXEL(I->LineHeight); | |||
row_num = (I->NRow - 1) - row_num; | row_num = (I->NRow - 1) - row_num; | |||
} | } | |||
if((row_num >= 0) && (row_num < I->NRow)) { | if((row_num >= 0) && (row_num < I->NRow)) { | |||
int char_num; | int char_num; | |||
CSeqRow *row; | CSeqRow *row; | |||
row = I->Row + row_num; | row = I->Row + row_num; | |||
char_num = (x - I->Block->rect.left - I->CharMargin) / I->CharWidth; | char_num = (x - I->Block->rect.left - DIP2PIXEL(I->CharMargin)) / DIP2PIXEL( I->CharWidth); | |||
if(row->nCol && !row->label_flag) | if(row->nCol && !row->label_flag) | |||
if(char_num < I->VisSize) { | if(char_num < I->VisSize) { | |||
char_num += I->NSkip; | char_num += I->NSkip; | |||
if((char_num >= 0) && (char_num < row->ext_len) && (row->char2col)) { | if((char_num >= 0) && (char_num < row->ext_len) && (row->char2col)) { | |||
col_num = row->char2col[char_num]; | col_num = row->char2col[char_num]; | |||
if(col_num) { | if(col_num) { | |||
col_num--; | col_num--; | |||
if(col_num < row->nCol) { | if(col_num < row->nCol) { | |||
result = true; | result = true; | |||
} else if(fixed_row >= 0) { | } else if(fixed_row >= 0) { | |||
skipping to change at line 144 | skipping to change at line 144 | |||
int a; | int a; | |||
I->Size = 0; | I->Size = 0; | |||
for(a = 0; a < I->NRow; a++) { | for(a = 0; a < I->NRow; a++) { | |||
if(I->Row[a].ext_len > I->Size) | if(I->Row[a].ext_len > I->Size) | |||
I->Size = I->Row[a].ext_len; | I->Size = I->Row[a].ext_len; | |||
} | } | |||
} | } | |||
{ | { | |||
int extra; | int extra; | |||
I->VisSize = (I->Block->rect.right - I->Block->rect.left - 1) / I->CharWidth ; | I->VisSize = (I->Block->rect.right - I->Block->rect.left - 1) / DIP2PIXEL(I- >CharWidth); | |||
/* printf("%d %d %d %d %d\n",cw,I->Block->rect.right,I->Block->rect.left, I->VisSize,I->Size); */ | /* printf("%d %d %d %d %d\n",cw,I->Block->rect.right,I->Block->rect.left, I->VisSize,I->Size); */ | |||
if(I->VisSize < 1) | if(I->VisSize < 1) | |||
I->VisSize = 1; | I->VisSize = 1; | |||
extra = I->Size - I->VisSize; | extra = I->Size - I->VisSize; | |||
if(extra <= 0) { | if(extra <= 0) { | |||
I->ScrollBarActive = false; | I->ScrollBarActive = false; | |||
} else { | } else { | |||
I->ScrollBarActive = true; | I->ScrollBarActive = true; | |||
ScrollBarSetLimits(I->ScrollBar, I->Size, I->VisSize); | ScrollBarSetLimits(I->ScrollBar, I->Size, I->VisSize); | |||
skipping to change at line 231 | skipping to change at line 231 | |||
I->LastRow = -1; | I->LastRow = -1; | |||
return (1); | return (1); | |||
} | } | |||
int SeqGetHeight(PyMOLGlobals * G) | int SeqGetHeight(PyMOLGlobals * G) | |||
{ | { | |||
CSeq *I = G->Seq; | CSeq *I = G->Seq; | |||
int height = 0; | int height = 0; | |||
if(I->NRow) { | if(I->NRow) { | |||
height = 13 * I->NRow + 4; | height = DIP2PIXEL(I->LineHeight * I->NRow + 4); | |||
if(I->ScrollBarActive) | if(I->ScrollBarActive) | |||
height += I->ScrollBarWidth; | height += DIP2PIXEL(I->ScrollBarWidth); | |||
} | } | |||
return (height); | return (height); | |||
} | } | |||
void SeqSetHandler(PyMOLGlobals * G, CSeqHandler * handler) | void SeqSetHandler(PyMOLGlobals * G, CSeqHandler * handler) | |||
{ | { | |||
CSeq *I = G->Seq; | CSeq *I = G->Seq; | |||
I->Handler = handler; | I->Handler = handler; | |||
} | } | |||
static int SeqClick(Block * block, int button, int x, int y, int mod) | static int SeqClick(Block * block, int button, int x, int y, int mod) | |||
{ | { | |||
PyMOLGlobals *G = block->G; | PyMOLGlobals *G = block->G; | |||
CSeq *I = G->Seq; | CSeq *I = G->Seq; | |||
int pass = 0; | int pass = 0; | |||
int row_num; | int row_num; | |||
int col_num; | int col_num; | |||
if(I->ScrollBarActive) { | if(I->ScrollBarActive) { | |||
if((y - I->Block->rect.bottom) < I->ScrollBarWidth) { | if((y - I->Block->rect.bottom) < DIP2PIXEL(I->ScrollBarWidth)) { | |||
pass = 1; | pass = 1; | |||
ScrollBarDoClick(I->ScrollBar, button, x, y, mod); | ScrollBarDoClick(I->ScrollBar, button, x, y, mod); | |||
} | } | |||
} | } | |||
if(!pass) { | if(!pass) { | |||
if(SeqFindRowCol(G, x, y, &row_num, &col_num, -1)) { | if(SeqFindRowCol(G, x, y, &row_num, &col_num, -1)) { | |||
if(I->Handler) | if(I->Handler) | |||
if(I->Handler->fClick) | if(I->Handler->fClick) | |||
I->Handler->fClick(G, I->Row, button, row_num, col_num, mod, x, y); | I->Handler->fClick(G, I->Row, button, row_num, col_num, mod, x, y); | |||
I->DragFlag = true; | I->DragFlag = true; | |||
I->LastRow = row_num; | I->LastRow = row_num; | |||
OrthoDirty(G); | OrthoDirty(G); | |||
} else { | } else { | |||
switch (button) { | switch (button) { | |||
case P_GLUT_RIGHT_BUTTON: | case P_GLUT_RIGHT_BUTTON: | |||
{ | { | |||
ObjectNameType name; | ObjectNameType name; | |||
if(ExecutiveGetActiveSeleName(G, name, false, false)) { | if(ExecutiveGetActiveSeleName(G, name, false, false)) { | |||
MenuActivate2Arg(G, x, y + 20, x, y, false, "pick_sele", name, name) ; | MenuActivate2Arg(G, x, y + DIP2PIXEL(20), x, y, false, "pick_sele", name, name); | |||
} | } | |||
} | } | |||
break; | break; | |||
case P_GLUT_LEFT_BUTTON: | case P_GLUT_LEFT_BUTTON: | |||
if(I->Handler) | if(I->Handler) | |||
if(I->Handler->fClick) | if(I->Handler->fClick) | |||
I->Handler->fClick(G, I->Row, button, -1, -1, mod, x, y); | I->Handler->fClick(G, I->Row, button, -1, -1, mod, x, y); | |||
break; | break; | |||
} | } | |||
} | } | |||
skipping to change at line 294 | skipping to change at line 294 | |||
} | } | |||
static void SeqDraw(Block * block ORTHOCGOARG) | static void SeqDraw(Block * block ORTHOCGOARG) | |||
{ | { | |||
PyMOLGlobals *G = block->G; | PyMOLGlobals *G = block->G; | |||
CSeq *I = G->Seq; | CSeq *I = G->Seq; | |||
if(G->HaveGUI && G->ValidContext) { | if(G->HaveGUI && G->ValidContext) { | |||
int x = I->Block->rect.left; | int x = I->Block->rect.left; | |||
int y = I->Block->rect.bottom + I->ScrollBarMargin + 1; | int y = I->Block->rect.bottom + DIP2PIXEL(I->ScrollBarMargin) + 1; | |||
float bg_color[3] = { 0.f, 0.f, 0.f }, overlay_color[3] = { 1.0F, 1.0F, 1.0F }; | float bg_color[3] = { 0.f, 0.f, 0.f }, overlay_color[3] = { 1.0F, 1.0F, 1.0F }; | |||
int label_color_index = SettingGetGlobal_color(G, cSetting_seq_view_label_co lor); | int label_color_index = SettingGetGlobal_color(G, cSetting_seq_view_label_co lor); | |||
float *label_color = ColorGet(G, label_color_index); | float *label_color = ColorGet(G, label_color_index); | |||
copy3f(label_color, overlay_color); | copy3f(label_color, overlay_color); | |||
if (SettingGetGlobal_b(G, cSetting_bg_gradient)){ | if (SettingGetGlobal_b(G, cSetting_bg_gradient)){ | |||
if(SettingGetGlobal_b(G, cSetting_seq_view_location)) { | if(SettingGetGlobal_b(G, cSetting_seq_view_location)) { | |||
copy3f(ColorGet(G, SettingGetGlobal_color(G, cSetting_bg_rgb_bottom)), bg _color); | copy3f(ColorGet(G, SettingGetGlobal_color(G, cSetting_bg_rgb_bottom)), bg _color); | |||
} else { | } else { | |||
copy3f(ColorGet(G, SettingGetGlobal_color(G, cSetting_bg_rgb_top)), bg_co lor); | copy3f(ColorGet(G, SettingGetGlobal_color(G, cSetting_bg_rgb_top)), bg_co lor); | |||
skipping to change at line 318 | skipping to change at line 318 | |||
} | } | |||
if(!SettingGetGlobal_b(G, cSetting_seq_view_overlay)) { | if(!SettingGetGlobal_b(G, cSetting_seq_view_overlay)) { | |||
if (orthoCGO){ | if (orthoCGO){ | |||
CGOColorv(orthoCGO, bg_color); | CGOColorv(orthoCGO, bg_color); | |||
} else { | } else { | |||
glColor3fv(bg_color); | glColor3fv(bg_color); | |||
} | } | |||
BlockFill(I->Block ORTHOCGOARGVAR); | BlockFill(I->Block ORTHOCGOARGVAR); | |||
} | } | |||
if(I->ScrollBarActive) { | if(I->ScrollBarActive) { | |||
ScrollBarSetBox(I->ScrollBar, I->Block->rect.bottom + I->ScrollBarWidth, | ScrollBarSetBox(I->ScrollBar, I->Block->rect.bottom + DIP2PIXEL(I->ScrollB | |||
I->Block->rect.left + I->ScrollBarMargin, | arWidth), | |||
I->Block->rect.bottom + 2, | I->Block->rect.left + DIP2PIXEL(I->ScrollBarMargin), | |||
I->Block->rect.right - I->ScrollBarMargin); | I->Block->rect.bottom + DIP2PIXEL(2), | |||
I->Block->rect.right - DIP2PIXEL(I->ScrollBarMargin)); | ||||
ScrollBarDoDraw(I->ScrollBar ORTHOCGOARGVAR); | ScrollBarDoDraw(I->ScrollBar ORTHOCGOARGVAR); | |||
y += I->ScrollBarWidth; | y += DIP2PIXEL(I->ScrollBarWidth); | |||
I->NSkip = (int) ScrollBarGetValue(I->ScrollBar); | I->NSkip = (int) ScrollBarGetValue(I->ScrollBar); | |||
} else { | } else { | |||
I->NSkip = 0; | I->NSkip = 0; | |||
} | } | |||
if(I->NRow) { /* get current sequence sizes */ | if(I->NRow) { /* get current sequence sizes */ | |||
int a, b; | int a, b; | |||
float black[3] = { 0, 0, 0 }; | float black[3] = { 0, 0, 0 }; | |||
float blue[3] = { 0.5, 0.5, 1.0 }; | float blue[3] = { 0.5, 0.5, 1.0 }; | |||
float *cur_color; | float *cur_color; | |||
CSeqRow *row; | CSeqRow *row; | |||
skipping to change at line 397 | skipping to change at line 397 | |||
cur_color = overlay_color; | cur_color = overlay_color; | |||
TextSetColor(G, cur_color); | TextSetColor(G, cur_color); | |||
for(a = I->NRow - 1; a >= 0; a--) { | for(a = I->NRow - 1; a >= 0; a--) { | |||
row = I->Row + a; | row = I->Row + a; | |||
yy = y1 - 2; | yy = y1 - 2; | |||
col = row->col; | col = row->col; | |||
if((row->label_flag || row->column_label_flag) && row->nCol) { | if((row->label_flag || row->column_label_flag) && row->nCol) { | |||
row->title_width = col->offset + (col->stop - col->start); | row->title_width = col->offset + (col->stop - col->start); | |||
xx = | xx = | |||
x + I->CharMargin + I->CharWidth * (col->offset + | x + DIP2PIXEL(I->CharMargin) + DIP2PIXEL(I->CharWidth) * (col->offse t + | |||
(max_title_width - row->title_wi dth)); | (max_title_width - row->title_wi dth)); | |||
ch_wid = (col->stop - col->start); | ch_wid = (col->stop - col->start); | |||
pix_wid = I->CharWidth * ch_wid; | pix_wid = DIP2PIXEL(I->CharWidth * ch_wid); | |||
tot_len = col->offset + ch_wid - I->NSkip; | tot_len = col->offset + ch_wid - I->NSkip; | |||
if(tot_len <= vis_size) { | if(tot_len <= vis_size) { | |||
TextDrawSubStrFast(G, row->txt, xx, y1, col->start, ch_wid ORTHOCGOA RGVAR); | TextDrawSubStrFast(G, row->txt, xx, y1, col->start, ch_wid ORTHOCGOA RGVAR); | |||
} | } | |||
} | } | |||
y1 += I->LineHeight; | y1 += DIP2PIXEL(I->LineHeight); | |||
} | } | |||
y1 = y; | y1 = y; | |||
for(a = I->NRow - 1; a >= 0; a--) { | for(a = I->NRow - 1; a >= 0; a--) { | |||
row = I->Row + a; | row = I->Row + a; | |||
cur_color = overlay_color; | cur_color = overlay_color; | |||
if (orthoCGO){ | if (orthoCGO){ | |||
CGOColorv(orthoCGO, cur_color); | CGOColorv(orthoCGO, cur_color); | |||
} else { | } else { | |||
glColor3fv(cur_color); | glColor3fv(cur_color); | |||
skipping to change at line 438 | skipping to change at line 438 | |||
} else | } else | |||
first_allowed = I->NSkip; | first_allowed = I->NSkip; | |||
for(b = 1; b < row->nCol; b++) { | for(b = 1; b < row->nCol; b++) { | |||
if(row->label_flag && (b > 1)) | if(row->label_flag && (b > 1)) | |||
first_allowed = I->NSkip + max_title_width + 1; | first_allowed = I->NSkip + max_title_width + 1; | |||
col = row->col + b; | col = row->col + b; | |||
if(col->offset >= first_allowed) { | if(col->offset >= first_allowed) { | |||
xx = x + I->CharMargin + I->CharWidth * (col->offset - I->NSkip); | xx = x + DIP2PIXEL(I->CharMargin) + DIP2PIXEL(I->CharWidth) * (col-> offset - I->NSkip); | |||
ch_wid = (col->stop - col->start); | ch_wid = (col->stop - col->start); | |||
pix_wid = I->CharWidth * ch_wid; | pix_wid = DIP2PIXEL(I->CharWidth * ch_wid); | |||
tot_len = col->offset + ch_wid - I->NSkip; | tot_len = col->offset + ch_wid - I->NSkip; | |||
if(tot_len <= vis_size) { | if(tot_len <= vis_size) { | |||
if(row->label_flag) { | if(row->label_flag) { | |||
TextSetColor(G, cur_color); | TextSetColor(G, cur_color); | |||
if (orthoCGO){ | if (orthoCGO){ | |||
CGOColorv(orthoCGO, cur_color); | CGOColorv(orthoCGO, cur_color); | |||
} else { | } else { | |||
glColor3fv(cur_color); | glColor3fv(cur_color); | |||
} | } | |||
} else if(col->unaligned && unaligned_color) { | } else if(col->unaligned && unaligned_color) { | |||
skipping to change at line 496 | skipping to change at line 496 | |||
if (orthoCGO){ | if (orthoCGO){ | |||
CGOColorv(orthoCGO, v); | CGOColorv(orthoCGO, v); | |||
} else { | } else { | |||
glColor3fv(v); | glColor3fv(v); | |||
} | } | |||
} | } | |||
if(col->inverse) { | if(col->inverse) { | |||
if (orthoCGO){ | if (orthoCGO){ | |||
CGOBegin(orthoCGO, GL_TRIANGLE_STRIP); | CGOBegin(orthoCGO, GL_TRIANGLE_STRIP); | |||
CGOVertex(orthoCGO, xx, yy, 0.f); | CGOVertex(orthoCGO, xx, yy, 0.f); | |||
CGOVertex(orthoCGO, xx, yy + I->LineHeight - 1, 0.f); | CGOVertex(orthoCGO, xx, yy + DIP2PIXEL(I->LineHeight) - 1, 0.f) ; | |||
CGOVertex(orthoCGO, xx + pix_wid, yy, 0.f); | CGOVertex(orthoCGO, xx + pix_wid, yy, 0.f); | |||
CGOVertex(orthoCGO, xx + pix_wid, yy + I->LineHeight - 1, 0.f); | CGOVertex(orthoCGO, xx + pix_wid, yy + DIP2PIXEL(I->LineHeight) - 1, 0.f); | |||
CGOEnd(orthoCGO); | CGOEnd(orthoCGO); | |||
} else { | } else { | |||
glBegin(GL_POLYGON); | glBegin(GL_POLYGON); | |||
glVertex2i(xx, yy); | glVertex2i(xx, yy); | |||
glVertex2i(xx, yy + I->LineHeight - 1); | glVertex2i(xx, yy + DIP2PIXEL(I->LineHeight) - 1); | |||
glVertex2i(xx + pix_wid, yy + I->LineHeight - 1); | glVertex2i(xx + pix_wid, yy + DIP2PIXEL(I->LineHeight) - 1); | |||
glVertex2i(xx + pix_wid, yy); | glVertex2i(xx + pix_wid, yy); | |||
glEnd(); | glEnd(); | |||
} | } | |||
TextSetColor(G, black); | TextSetColor(G, black); | |||
} | } | |||
TextDrawSubStrFast(G, row->txt, xx, y1, col->start, ch_wid ORTHOCG OARGVAR); | TextDrawSubStrFast(G, row->txt, xx, y1, col->start, ch_wid ORTHOCG OARGVAR); | |||
} | } | |||
} | } | |||
} | } | |||
if(fill_char) { | if(fill_char) { | |||
TextSetColor(G, fill_color); | TextSetColor(G, fill_color); | |||
for(b = 0; b < row->nFill; b++) { | for(b = 0; b < row->nFill; b++) { | |||
col = row->fill + b; | col = row->fill + b; | |||
if(col->offset >= first_allowed) { | if(col->offset >= first_allowed) { | |||
xx = x + I->CharMargin + I->CharWidth * (col->offset - I->NSkip); | xx = x + DIP2PIXEL(I->CharMargin) + DIP2PIXEL(I->CharWidth) * (col ->offset - I->NSkip); | |||
ch_wid = (col->stop - col->start); | ch_wid = (col->stop - col->start); | |||
pix_wid = I->CharWidth * ch_wid; | pix_wid = DIP2PIXEL(I->CharWidth * ch_wid); | |||
tot_len = col->offset + ch_wid - I->NSkip; | tot_len = col->offset + ch_wid - I->NSkip; | |||
if(tot_len <= vis_size) { | if(tot_len <= vis_size) { | |||
TextDrawCharRepeat(G, fill_char, xx, y1, col->start, ch_wid ORTH OCGOARGVAR); | TextDrawCharRepeat(G, fill_char, xx, y1, col->start, ch_wid ORTH OCGOARGVAR); | |||
} | } | |||
} | } | |||
} | } | |||
} | } | |||
y1 += I->LineHeight; | y1 += DIP2PIXEL(I->LineHeight); | |||
} | } | |||
if(I->Handler->box_active) { | if(I->Handler->box_active) { | |||
int box_row = I->Handler->box_row; | int box_row = I->Handler->box_row; | |||
if((box_row >= 0) && (box_row < I->NRow)) { | if((box_row >= 0) && (box_row < I->NRow)) { | |||
int start_col = I->Handler->box_start_col; | int start_col = I->Handler->box_start_col; | |||
int stop_col = I->Handler->box_stop_col; | int stop_col = I->Handler->box_stop_col; | |||
if(start_col > stop_col) { | if(start_col > stop_col) { | |||
int tmp = stop_col; | int tmp = stop_col; | |||
stop_col = start_col; | stop_col = start_col; | |||
skipping to change at line 565 | skipping to change at line 565 | |||
/* trim spacers (if any) */ | /* trim spacers (if any) */ | |||
while(col->spacer && (start_col < stop_col)) { | while(col->spacer && (start_col < stop_col)) { | |||
start_col++; | start_col++; | |||
col = row->col + start_col; | col = row->col + start_col; | |||
} | } | |||
while(col2->spacer && (start_col < stop_col)) { | while(col2->spacer && (start_col < stop_col)) { | |||
stop_col--; | stop_col--; | |||
col2 = row->col + stop_col; | col2 = row->col + stop_col; | |||
} | } | |||
yy = y + ((I->NRow - 1) - box_row) * I->LineHeight - 2; | yy = y + ((I->NRow - 1) - box_row) * DIP2PIXEL(I->LineHeight) - 2; | |||
xx = x + I->CharMargin + I->CharWidth * (col->offset - I->NSkip); | xx = x + DIP2PIXEL(I->CharMargin) + DIP2PIXEL(I->CharWidth) * (col-> | |||
offset - I->NSkip); | ||||
xx2 = | xx2 = | |||
x + I->CharMargin + I->CharWidth * (col2->offset + | x + DIP2PIXEL(I->CharMargin) + DIP2PIXEL(I->CharWidth) * (col2->of fset + | |||
(col2->stop - col2->start) - I ->NSkip); | (col2->stop - col2->start) - I ->NSkip); | |||
if (orthoCGO){ | if (orthoCGO){ | |||
CGOColorv(orthoCGO, overlay_color); | CGOColorv(orthoCGO, overlay_color); | |||
CGOLineAsTriangleStrips(orthoCGO, xx, yy, xx2, yy + I->LineHeight - 2); | CGOLineAsTriangleStrips(orthoCGO, xx, yy, xx2, yy + DIP2PIXEL(I->Li neHeight) - 2); | |||
/* TODO: need to convert to triangles | /* TODO: need to convert to triangles | |||
CGOBegin(orthoCGO, GL_LINE_LOOP); | CGOBegin(orthoCGO, GL_LINE_LOOP); | |||
CGOVertex(orthoCGO, xx, yy); | CGOVertex(orthoCGO, xx, yy); | |||
CGOVertex(orthoCGO, xx, yy + I->LineHeight - 2); | CGOVertex(orthoCGO, xx, yy + I->LineHeight - 2); | |||
CGOVertex(orthoCGO, xx2, yy + I->LineHeight - 2); | CGOVertex(orthoCGO, xx2, yy + I->LineHeight - 2); | |||
CGOVertex(orthoCGO, xx2, yy); | CGOVertex(orthoCGO, xx2, yy); | |||
CGOEnd(orthoCGO);*/ | CGOEnd(orthoCGO);*/ | |||
} else { | } else { | |||
glBegin(GL_LINE_LOOP); | glBegin(GL_LINE_LOOP); | |||
glVertex2i(xx, yy); | glVertex2i(xx, yy); | |||
glVertex2i(xx, yy + I->LineHeight - 2); | glVertex2i(xx, yy + DIP2PIXEL(I->LineHeight) - 2); | |||
glVertex2i(xx2, yy + I->LineHeight - 2); | glVertex2i(xx2, yy + DIP2PIXEL(I->LineHeight) - 2); | |||
glVertex2i(xx2, yy); | glVertex2i(xx2, yy); | |||
glEnd(); | glEnd(); | |||
} | } | |||
} | } | |||
} | } | |||
} | } | |||
if(I->ScrollBarActive) { | if(I->ScrollBarActive) { | |||
int real_count = n_real; | int real_count = n_real; | |||
int mode = 0; | int mode = 0; | |||
float width = (float) (I->Block->rect.right - I->Block->rect.left); | float width = (float) (I->Block->rect.right - I->Block->rect.left); | |||
float start = 0, stop; | float start = 0, stop; | |||
int right = 0; | int right = 0; | |||
float bot, top, cent; | float bot, top, cent; | |||
float height = (float) (I->ScrollBarWidth - I->ScrollBarMargin); | float height = (float) DIP2PIXEL(I->ScrollBarWidth - I->ScrollBarMargin) ; | |||
int last_color = -1; | int last_color = -1; | |||
cur_color = blue; | cur_color = blue; | |||
for(a = 0; a < I->NRow; a++) { | for(a = 0; a < I->NRow; a++) { | |||
row = I->Row + a; | row = I->Row + a; | |||
if(!row->label_flag) { | if(!row->label_flag) { | |||
top = | top = | |||
I->Block->rect.bottom + I->ScrollBarMargin + (height * real_count) / n_real; | I->Block->rect.bottom + DIP2PIXEL(I->ScrollBarMargin) + (height * real_count) / n_real; | |||
real_count--; | real_count--; | |||
bot = | bot = | |||
I->Block->rect.bottom + I->ScrollBarMargin + (height * real_count) / n_real; | I->Block->rect.bottom + DIP2PIXEL(I->ScrollBarMargin) + (height * real_count) / n_real; | |||
mode = 0; | mode = 0; | |||
for(b = 0; b < row->nCol; b++) { | for(b = 0; b < row->nCol; b++) { | |||
col = row->col + b; | col = row->col + b; | |||
if(col->inverse && (!mode)) { | if(col->inverse && (!mode)) { | |||
start = (width * col->offset) / max_len; | start = (width * col->offset) / max_len; | |||
right = col->offset + (col->stop - col->start); | right = col->offset + (col->stop - col->start); | |||
mode = 1; | mode = 1; | |||
last_color = col->color; | last_color = col->color; | |||
if(row->label_flag) | if(row->label_flag) | |||
cur_color = overlay_color; | cur_color = overlay_color; | |||
End of changes. 29 change blocks. | ||||
35 lines changed or deleted | 37 lines changed or added |