1
0
forked from aniani/vim

patch 8.2.4320: Athena and Motif: when maximized scrollbar position is wrong

Problem:    Athena and Motif: when maximized scrollbar position is wrong.
Solution:   Implement the scrollbar padding functions. (closes #9712)
This commit is contained in:
qsmodo
2022-02-07 15:57:50 +00:00
committed by Bram Moolenaar
parent 4e713bafc0
commit 28f1a51bde
3 changed files with 34 additions and 12 deletions

View File

@@ -1894,17 +1894,27 @@ gui_mch_set_scrollbar_pos(
int
gui_mch_get_scrollbar_xpadding(void)
{
// TODO: Calculate the padding for adjust scrollbar position when the
// Window is maximized.
return 0;
int xpad;
Dimension tw, ww;
Position tx;
XtVaGetValues(textArea, XtNwidth, &tw, XtNx, &tx, NULL);
XtVaGetValues(vimShell, XtNwidth, &ww, NULL);
xpad = ww - tw - tx - gui.scrollbar_width;
return (xpad < 0) ? 0 : xpad;
}
int
gui_mch_get_scrollbar_ypadding(void)
{
// TODO: Calculate the padding for adjust scrollbar position when the
// Window is maximized.
return 0;
int ypad;
Dimension th, wh;
Position ty;
XtVaGetValues(textArea, XtNheight, &th, XtNy, &ty, NULL);
XtVaGetValues(vimShell, XtNheight, &wh, NULL);
ypad = wh - th - ty - gui.scrollbar_height;
return (ypad < 0) ? 0 : ypad;
}
void

View File

@@ -1745,17 +1745,27 @@ gui_mch_set_scrollbar_pos(
int
gui_mch_get_scrollbar_xpadding(void)
{
// TODO: Calculate the padding for adjust scrollbar position when the
// Window is maximized.
return 0;
int xpad;
Dimension tw, ww;
Position tx;
XtVaGetValues(textArea, XtNwidth, &tw, XtNx, &tx, NULL);
XtVaGetValues(vimShell, XtNwidth, &ww, NULL);
xpad = ww - tw - tx - gui.scrollbar_width;
return (xpad < 0) ? 0 : xpad;
}
int
gui_mch_get_scrollbar_ypadding(void)
{
// TODO: Calculate the padding for adjust scrollbar position when the
// Window is maximized.
return 0;
int ypad;
Dimension th, wh;
Position ty;
XtVaGetValues(textArea, XtNheight, &th, XtNy, &ty, NULL);
XtVaGetValues(vimShell, XtNheight, &wh, NULL);
ypad = wh - th - ty - gui.scrollbar_height;
return (ypad < 0) ? 0 : ypad;
}
void

View File

@@ -746,6 +746,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
4320,
/**/
4319,
/**/