Skip to content

Fixes #2489. Create new ScrollBar based on a new Scroll and remove ScrollBarView/ScrollView #3498

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 105 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
105 commits
Select commit Hold shift + click to select a range
478c93d
Create a Scroll class with unit tests and use case.
BDisp May 23, 2024
84c69f0
Remove unnecessary _sliderContainer view.
BDisp May 24, 2024
4cb27fc
Rename to Scroll_ prefix on the Scroll event methods.
BDisp May 24, 2024
46d1749
Tweaks and suggestions
tig May 24, 2024
57d4f0d
More autosize related tweaks
tig May 24, 2024
d6a183c
Merge pull request #180 from tig/BDisp-v2_2489-tig-1
BDisp May 24, 2024
24e4f65
Remove unnecessary ClearOnVisibleFalse property.
BDisp May 24, 2024
de6d276
Remove unneeded comments.
BDisp May 24, 2024
86e0db2
Add mouse wheel.
BDisp May 24, 2024
30be052
Ensure the Position is valid if the slider is at end.
BDisp May 24, 2024
8c617f3
Fixes NumericUpDown resize when number of characters grows.
BDisp May 24, 2024
365f889
Added more tweaks.
BDisp May 24, 2024
d5b98a1
Suggestions and questions
tig May 25, 2024
dc9d384
Merge pull request #181 from tig/BDisp-v2_2489-tig-2
BDisp May 25, 2024
ee47e75
Change Parent to SuperView.
BDisp May 25, 2024
d4e6ae6
Resolving merge conflicts.
BDisp Jun 12, 2024
4e57840
Fix merge errors.
BDisp Jun 12, 2024
057e89c
Merge branch 'v2_develop' into v2_2489_scroll-scrollbar-new
BDisp Jun 21, 2024
7489d6c
Replace local var with private getter field.
BDisp Jun 22, 2024
1e9e27a
Only raises PositionChanging and PositionChanged if position has chan…
BDisp Jun 22, 2024
becad1d
Add slider highlight effect.
BDisp Jun 22, 2024
5d2120e
Replace private _barSize with local variables barSize and improving p…
BDisp Jun 23, 2024
5c6b39b
Removed unnecessary methods and now unit test pass.
BDisp Jun 23, 2024
d44efe3
Setting entire ColorScheme attributes.
BDisp Jun 24, 2024
5cc3afb
Merge branch 'v2_2489_scroll-scrollbar-new' of github.com:BDisp/Termi…
tig Jun 24, 2024
9ed6cf7
Merge branch 'v2_develop' into v2_2489_scroll-scrollbar-new
BDisp Jul 11, 2024
f9aa619
Fix merge errors.
BDisp Jul 11, 2024
e5f1476
Merge branch 'v2_develop' into v2_2489_scroll-scrollbar-new
tig Jul 11, 2024
4a68fc0
Resolving merge conflicts.
BDisp Aug 14, 2024
9b4269e
Fix merge errors.
BDisp Aug 14, 2024
91e4abf
Ensures Position set before call AdjustSlider and
BDisp Aug 14, 2024
c20b733
Merge branch 'v2_develop' into v2_2489_scroll-scrollbar-new
BDisp Aug 14, 2024
b488796
Move Scroll.cs to the Scroll folder.
BDisp Aug 14, 2024
fa6fb11
Add internal ScrollSlider class.
BDisp Aug 14, 2024
4e22706
Using overridden methods instead of events.
BDisp Aug 14, 2024
3317c50
Moving slider code to his class.
BDisp Aug 16, 2024
b025beb
Rename id to scrollSlider to avoid conflict with the Slider view.
BDisp Aug 16, 2024
9b89657
Fix scroll slider when moving mouse outside the host.
BDisp Aug 16, 2024
3386d06
Ensure correct Width/Height when orientation is changed.
BDisp Aug 16, 2024
e59c02a
Rename to AdjustScroll method.
BDisp Aug 19, 2024
ffa08b8
Merge branch 'v2_develop' into v2_2489_scroll-scrollbar-new
BDisp Aug 19, 2024
7e3a3b2
Fixes #3679. WantContinuousButtonPressed mustn't force calling GrabMo…
BDisp Aug 21, 2024
6add7a1
Merge branch 'v2_develop' into v2_2489_scroll-scrollbar-new
BDisp Aug 21, 2024
c587cb9
Merge branch 'v2_3679_want-continuous-pressed-fix' into v2_2489_scrol…
BDisp Aug 21, 2024
8188822
Ensures slider to have a length proportional to the bar size.
BDisp Aug 21, 2024
92e067e
Prevents continuous mouse button pressed from processing mouse event …
BDisp Aug 21, 2024
5e7bb7b
Starting implementing ScrollBar.
BDisp Aug 23, 2024
479ff3d
Merge branch 'v2_develop' into v2_2489_scroll-scrollbar-new
BDisp Aug 23, 2024
ecc44fc
Merge branch 'v2_develop' into v2_2489_scroll-scrollbar-new
BDisp Aug 23, 2024
14ed92e
Restore color scheme on mouse leave no matter the button.
BDisp Aug 23, 2024
cb7bc94
Ensures accurate calculation if is hosted by a ScrollBar before initi…
BDisp Aug 24, 2024
d47188f
Consolidating GetPositionFromSliderLocation and GetSliderLocationDime…
BDisp Aug 25, 2024
7a1eb98
Code cleanup.
BDisp Aug 25, 2024
71d558f
Remove _wasSliderLayoutComplete field.
BDisp Aug 25, 2024
d3ab81e
Add ScrollBar unit tests and code cleanup.
BDisp Aug 25, 2024
a343fd0
Add ScrollButton unit test and code cleanup.
BDisp Aug 26, 2024
ae3fcef
Remove host parameter from scroll classes.
BDisp Aug 26, 2024
1ccd548
Merge branch 'v2_develop' into v2_2489_scroll-scrollbar-new
BDisp Sep 2, 2024
a83b8f1
Merge branch 'v2_develop' into v2_2489_scroll-scrollbar-new
BDisp Sep 2, 2024
e489146
Replaces VariationMode with NavigationDirection enum.
BDisp Sep 2, 2024
27aa591
Remove Virtual.
BDisp Sep 2, 2024
7343832
Replace with SuperViewAsScrollBar.
BDisp Sep 2, 2024
b16b463
Doc changes addressed by @tig.
BDisp Sep 2, 2024
3e7d950
Merge branch 'v2_develop' into v2_2489_scroll-scrollbar-new
BDisp Sep 2, 2024
11fc893
Remove commented code.
BDisp Sep 2, 2024
f0d2bbe
Rename to SuperViewAsScroll.
BDisp Sep 2, 2024
1804d08
Add private BarSize method.
BDisp Sep 3, 2024
bf4b7bd
Merge branch 'v2_develop' into v2_2489_scroll-scrollbar-new
BDisp Sep 3, 2024
c43de60
BarSize should use Viewport.
BDisp Sep 3, 2024
70b3be2
The barSize should use the Scroll Viewport.
BDisp Sep 3, 2024
6c972c6
Add AutoHideScrollBar and ShowScrollIndicator properties.
BDisp Sep 3, 2024
5279af1
Merge branch 'v2_2489_scroll-scrollbar-new' of tig:BDisp/Terminal.Gui…
tig Sep 3, 2024
e2a2aa1
Upgraded CharMap to use new ScrollBar
tig Sep 3, 2024
68b0352
Merge pull request #194 from tig/BDisp-v2_2489_scroll-scrollbar-new
BDisp Sep 3, 2024
cb1c793
Code cleanup and API doc improvements
tig Sep 3, 2024
c48f6d9
Merge branch 'v2_2489_scroll-scrollbar-new' into BDisp-v2_2489_scroll…
BDisp Sep 4, 2024
7983500
Fix @tig branch errors.
BDisp Sep 4, 2024
9075aca
Using Visible instead of ShowScrollIndicator.
BDisp Sep 4, 2024
3bd4638
I think this was already done before.
BDisp Sep 4, 2024
da85d58
Rename to start and end.
BDisp Sep 4, 2024
20370c4
Remove comment.
BDisp Sep 4, 2024
f54ded3
Add KeepContentInAllViewport to Scroll.
BDisp Sep 4, 2024
07d7162
Prevent Size being negative.
BDisp Sep 4, 2024
14e2e3c
Fix some KeepContentInAllViewport bugs.
BDisp Sep 4, 2024
dbbde3e
Using GetContentSize.
BDisp Sep 4, 2024
bf3e9b2
Fixes #3729. ProcessContinuousButtonPressedAsync is using a stale Mou…
BDisp Sep 5, 2024
06e9910
Merge branch 'v2_3729_windowsdriver-continuous-mouse-pressed-fix' int…
BDisp Sep 5, 2024
6b39670
Merge branch 'v2_develop' into v2_2489_scroll-scrollbar-new
BDisp Sep 5, 2024
cccbbc2
Typo.
BDisp Sep 5, 2024
8d346a8
Implement @tig scroll bars and fix some bugs.
BDisp Sep 5, 2024
84225fc
Fix unit test.
BDisp Sep 5, 2024
bd51356
Add unit test for KeepContentInAllViewport as false.
BDisp Sep 5, 2024
66ec2de
Fix more unit tests that were used with KeepContentInAllViewport as t…
BDisp Sep 5, 2024
630638e
Fix nullable warnings.
BDisp Sep 5, 2024
ae7a86f
Fix ScrollBar that was returning more 2 position at end.
BDisp Sep 6, 2024
c5e886f
Manipulate ViewportSettings with ScrollBars.
BDisp Sep 6, 2024
03dac3e
Merged bdisp latest.
tig Sep 7, 2024
b19437d
Merge pull request #197 from tig/BDisp-v2_2489_scroll-tig-builtin
BDisp Sep 7, 2024
060f915
Merge branch 'v2_2489_scroll-scrollbar-new' of tig:BDisp/Terminal.Gui…
tig Sep 8, 2024
38c604e
More CharMap tweaks
tig Sep 8, 2024
0f3c1ee
Merge pull request #198 from tig/BDisp-v2_2489_scroll-tig-builtin
BDisp Sep 9, 2024
0c55203
Merge branch 'v2_2489_scroll-scrollbar-new' of tig:BDisp/Terminal.Gui…
tig Sep 9, 2024
f4931c2
API doc and overview improvements
tig Sep 9, 2024
f8b2d02
Doc'd samples
tig Sep 9, 2024
0bafe6e
Merge pull request #199 from tig/BDisp-v2_2489_scroll-tig-builtin
BDisp Sep 9, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Terminal.Gui/View/View.Content.cs
Original file line number Diff line number Diff line change
Expand Up @@ -213,6 +213,7 @@ public ViewportSettings ViewportSettings
{
// Force set Viewport to cause settings to be applied as needed
SetViewport (Viewport);
SetScrollBarsKeepContentInAllViewport (_viewportSettings);
}
}
}
Expand Down
209 changes: 209 additions & 0 deletions Terminal.Gui/View/View.ScrollBars.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,209 @@
#nullable enable
namespace Terminal.Gui;

public partial class View
{
private Lazy<ScrollBar> _horizontalScrollBar;
private Lazy<ScrollBar> _verticalScrollBar;

/// <summary>
/// Initializes the ScrollBars of the View. Called by the constructor.
/// </summary>
private void SetupScrollBars ()
{
_horizontalScrollBar = new (
() =>
{
var scrollBar = new ScrollBar
{
Orientation = Orientation.Horizontal,
X = 0,
Y = Pos.AnchorEnd (),
Width = Dim.Fill (
Dim.Func (
() =>
{
if (_verticalScrollBar.IsValueCreated)
{
return _verticalScrollBar.Value.Visible ? 1 : 0;
}

return 0;
})),
Size = GetContentSize ().Width,
Visible = false
};

Padding?.Add (scrollBar);

scrollBar.Initialized += (_, _) =>
{
Padding!.Thickness = Padding.Thickness with
{
Bottom = scrollBar.Visible ? Padding.Thickness.Bottom + 1 : 0
};

scrollBar.PositionChanged += (_, args) =>
{
Viewport = Viewport with { X = args.CurrentValue };
};

scrollBar.VisibleChanged += (_, _) =>
{
Padding.Thickness = Padding.Thickness with
{
Bottom = scrollBar.Visible
? Padding.Thickness.Bottom + 1
: Padding.Thickness.Bottom - 1
};
};
};

return scrollBar;
});

_verticalScrollBar = new (
() =>
{
var scrollBar = new ScrollBar
{
Orientation = Orientation.Vertical,
X = Pos.AnchorEnd (),
Y = Pos.Func (() => Padding.Thickness.Top),
Height = Dim.Fill (
Dim.Func (
() =>
{
if (_horizontalScrollBar.IsValueCreated)
{
return _horizontalScrollBar.Value.Visible ? 1 : 0;
}

return 0;
})),
Size = GetContentSize ().Height,
Visible = false
};

Padding?.Add (scrollBar);

scrollBar.Initialized += (_, _) =>
{
if (Padding is { })
{
Padding.Thickness = Padding.Thickness with
{
Right = scrollBar.Visible ? Padding.Thickness.Right + 1 : 0
};

scrollBar.PositionChanged += (_, args) =>
{
Viewport = Viewport with { Y = args.CurrentValue };
};

scrollBar.VisibleChanged += (_, _) =>
{
Padding.Thickness = Padding.Thickness with
{
Right = scrollBar.Visible
? Padding.Thickness.Right + 1
: Padding.Thickness.Right - 1
};
};
}
};

return scrollBar;
});

ViewportChanged += (_, _) =>
{
if (_verticalScrollBar.IsValueCreated)
{
_verticalScrollBar.Value.Position = Viewport.Y;
}

if (_horizontalScrollBar.IsValueCreated)
{
_horizontalScrollBar.Value.Position = Viewport.X;
}
};

ContentSizeChanged += (_, _) =>
{
if (_verticalScrollBar.IsValueCreated)
{
_verticalScrollBar.Value.Size = GetContentSize ().Height;
}
if (_horizontalScrollBar.IsValueCreated)
{
_horizontalScrollBar.Value.Size = GetContentSize ().Width;
}
};
}

/// <summary>
/// </summary>
public ScrollBar HorizontalScrollBar => _horizontalScrollBar.Value;

/// <summary>
/// </summary>
public ScrollBar VerticalScrollBar => _verticalScrollBar.Value;

/// <summary>
/// Clean up the ScrollBars of the View. Called by View.Dispose.
/// </summary>
private void DisposeScrollBars ()
{
if (_horizontalScrollBar.IsValueCreated)
{
Padding?.Remove (_horizontalScrollBar.Value);
_horizontalScrollBar.Value.Dispose ();
}

if (_verticalScrollBar.IsValueCreated)
{
Padding?.Remove (_verticalScrollBar.Value);
_verticalScrollBar.Value.Dispose ();
}
}

private void SetScrollBarsKeepContentInAllViewport (ViewportSettings viewportSettings)
{
if (viewportSettings == ViewportSettings.None)
{
_horizontalScrollBar.Value.KeepContentInAllViewport = true;
_verticalScrollBar.Value.KeepContentInAllViewport = true;
}
else if (viewportSettings.HasFlag (ViewportSettings.AllowNegativeX))
{
_horizontalScrollBar.Value.AutoHide = false;
_horizontalScrollBar.Value.ShowScrollIndicator = false;
}
else if (viewportSettings.HasFlag (ViewportSettings.AllowNegativeY))
{
_verticalScrollBar.Value.AutoHide = false;
_verticalScrollBar.Value.ShowScrollIndicator = false;
}
else if (viewportSettings.HasFlag (ViewportSettings.AllowNegativeLocation))
{
_horizontalScrollBar.Value.AutoHide = false;
_horizontalScrollBar.Value.ShowScrollIndicator = false;
_verticalScrollBar.Value.AutoHide = false;
_verticalScrollBar.Value.ShowScrollIndicator = false;
}
else if (viewportSettings.HasFlag (ViewportSettings.AllowXGreaterThanContentWidth))
{
_horizontalScrollBar.Value.KeepContentInAllViewport = false;
}
else if (viewportSettings.HasFlag (ViewportSettings.AllowYGreaterThanContentHeight))
{
_verticalScrollBar.Value.KeepContentInAllViewport = false;
}
else if (viewportSettings.HasFlag (ViewportSettings.AllowLocationGreaterThanContentSize))
{
_horizontalScrollBar.Value.KeepContentInAllViewport = false;
_verticalScrollBar.Value.KeepContentInAllViewport = false;
}
}
}
3 changes: 3 additions & 0 deletions Terminal.Gui/View/View.cs
Original file line number Diff line number Diff line change
Expand Up @@ -135,6 +135,7 @@

DisposeKeyboard ();
DisposeAdornments ();
DisposeScrollBars ();

for (int i = InternalSubviews.Count - 1; i >= 0; i--)
{
Expand Down Expand Up @@ -178,13 +179,15 @@
/// control the size and location of the view.
/// </para>
/// </remarks>
public View ()

Check warning on line 182 in Terminal.Gui/View/View.cs

View workflow job for this annotation

GitHub Actions / build_release

Non-nullable field '_horizontalScrollBar' must contain a non-null value when exiting constructor. Consider adding the 'required' modifier or declaring the field as nullable.

Check warning on line 182 in Terminal.Gui/View/View.cs

View workflow job for this annotation

GitHub Actions / build_release

Non-nullable field '_verticalScrollBar' must contain a non-null value when exiting constructor. Consider adding the 'required' modifier or declaring the field as nullable.

Check warning on line 182 in Terminal.Gui/View/View.cs

View workflow job for this annotation

GitHub Actions / build_and_test_debug (ubuntu-latest)

Non-nullable field '_horizontalScrollBar' must contain a non-null value when exiting constructor. Consider adding the 'required' modifier or declaring the field as nullable.

Check warning on line 182 in Terminal.Gui/View/View.cs

View workflow job for this annotation

GitHub Actions / build_and_test_debug (ubuntu-latest)

Non-nullable field '_verticalScrollBar' must contain a non-null value when exiting constructor. Consider adding the 'required' modifier or declaring the field as nullable.

Check warning on line 182 in Terminal.Gui/View/View.cs

View workflow job for this annotation

GitHub Actions / build_and_test_debug (ubuntu-latest)

Non-nullable field '_horizontalScrollBar' must contain a non-null value when exiting constructor. Consider adding the 'required' modifier or declaring the field as nullable.

Check warning on line 182 in Terminal.Gui/View/View.cs

View workflow job for this annotation

GitHub Actions / build_and_test_debug (ubuntu-latest)

Non-nullable field '_verticalScrollBar' must contain a non-null value when exiting constructor. Consider adding the 'required' modifier or declaring the field as nullable.

Check warning on line 182 in Terminal.Gui/View/View.cs

View workflow job for this annotation

GitHub Actions / build_and_test_debug (windows-latest)

Non-nullable field '_horizontalScrollBar' must contain a non-null value when exiting constructor. Consider adding the 'required' modifier or declaring the field as nullable.

Check warning on line 182 in Terminal.Gui/View/View.cs

View workflow job for this annotation

GitHub Actions / build_and_test_debug (windows-latest)

Non-nullable field '_verticalScrollBar' must contain a non-null value when exiting constructor. Consider adding the 'required' modifier or declaring the field as nullable.

Check warning on line 182 in Terminal.Gui/View/View.cs

View workflow job for this annotation

GitHub Actions / build_and_test_debug (windows-latest)

Non-nullable field '_horizontalScrollBar' must contain a non-null value when exiting constructor. Consider adding the 'required' modifier or declaring the field as nullable.

Check warning on line 182 in Terminal.Gui/View/View.cs

View workflow job for this annotation

GitHub Actions / build_and_test_debug (windows-latest)

Non-nullable field '_verticalScrollBar' must contain a non-null value when exiting constructor. Consider adding the 'required' modifier or declaring the field as nullable.

Check warning on line 182 in Terminal.Gui/View/View.cs

View workflow job for this annotation

GitHub Actions / build_and_test_debug (macos-latest)

Non-nullable field '_horizontalScrollBar' must contain a non-null value when exiting constructor. Consider adding the 'required' modifier or declaring the field as nullable.

Check warning on line 182 in Terminal.Gui/View/View.cs

View workflow job for this annotation

GitHub Actions / build_and_test_debug (macos-latest)

Non-nullable field '_verticalScrollBar' must contain a non-null value when exiting constructor. Consider adding the 'required' modifier or declaring the field as nullable.
{
SetupAdornments ();
SetupKeyboard ();

//SetupMouse ();
SetupText ();

SetupScrollBars ();
}

/// <summary>
Expand Down
49 changes: 27 additions & 22 deletions Terminal.Gui/View/ViewportSettings.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,43 +15,35 @@ public enum ViewportSettings
/// If set, <see cref="View.Viewport"/><c>.X</c> can be set to negative values enabling scrolling beyond the left of
/// the
/// content area.
/// </summary>
/// <remarks>
/// <para>
/// When not set, <see cref="View.Viewport"/><c>.X</c> is constrained to positive values.
/// </para>
/// </remarks>
/// </summary>
AllowNegativeX = 1,

/// <summary>
/// If set, <see cref="View.Viewport"/><c>.Y</c> can be set to negative values enabling scrolling beyond the top of the
/// content area.
/// </summary>
/// <remarks>
/// <para>
/// When not set, <see cref="View.Viewport"/><c>.Y</c> is constrained to positive values.
/// </para>
/// </remarks>
/// </summary>
AllowNegativeY = 2,

/// <summary>
/// If set, <see cref="View.Viewport"/><c>.Size</c> can be set to negative coordinates enabling scrolling beyond the
/// top-left of the
/// content area.
/// </summary>
/// <remarks>
/// <para>
/// When not set, <see cref="View.Viewport"/><c>.Size</c> is constrained to positive coordinates.
/// </para>
/// </remarks>
/// </summary>
AllowNegativeLocation = AllowNegativeX | AllowNegativeY,

/// <summary>
/// If set, <see cref="View.Viewport"/><c>.X</c> can be set values greater than <see cref="View.GetContentSize ()"/>
/// <c>.Width</c> enabling scrolling beyond the right
/// of the content area.
/// </summary>
/// <remarks>
/// <para>
/// When not set, <see cref="View.Viewport"/><c>.X</c> is constrained to <see cref="View.GetContentSize ()"/>
/// <c>.Width - 1</c>.
Expand All @@ -61,15 +53,13 @@ public enum ViewportSettings
/// <para>
/// The practical effect of this is that the last column of the content will always be visible.
/// </para>
/// </remarks>
/// </summary>
AllowXGreaterThanContentWidth = 4,

/// <summary>
/// If set, <see cref="View.Viewport"/><c>.Y</c> can be set values greater than <see cref="View.GetContentSize ()"/>
/// <c>.Height</c> enabling scrolling beyond the right
/// of the content area.
/// </summary>
/// <remarks>
/// <para>
/// When not set, <see cref="View.Viewport"/><c>.Y</c> is constrained to <see cref="View.GetContentSize ()"/>
/// <c>.Height - 1</c>.
Expand All @@ -79,21 +69,19 @@ public enum ViewportSettings
/// <para>
/// The practical effect of this is that the last row of the content will always be visible.
/// </para>
/// </remarks>
/// </summary>
AllowYGreaterThanContentHeight = 8,

/// <summary>
/// If set, <see cref="View.Viewport"/><c>.Size</c> can be set values greater than <see cref="View.GetContentSize ()"/>
/// enabling scrolling beyond the bottom-right
/// of the content area.
/// </summary>
/// <remarks>
/// <para>
/// When not set, <see cref="View.Viewport"/> is constrained to <see cref="View.GetContentSize ()"/><c> -1</c>.
/// This means the last column and row of the content will remain visible even if there is an attempt to
/// scroll the Viewport past the last column or row.
/// </para>
/// </remarks>
/// </summary>
AllowLocationGreaterThanContentSize = AllowXGreaterThanContentWidth | AllowYGreaterThanContentHeight,

/// <summary>
Expand All @@ -106,10 +94,27 @@ public enum ViewportSettings
/// If set <see cref="View.Clear()"/> will clear only the portion of the content
/// area that is visible within the <see cref="View.Viewport"/>. This is useful for views that have a
/// content area larger than the Viewport and want the area outside the content to be visually distinct.
/// </summary>
/// <remarks>
/// <see cref="ClipContentOnly"/> must be set for this setting to work (clipping beyond the visible area must be
/// disabled).
/// </remarks>
ClearContentOnly = 32
/// </summary>
ClearContentOnly = 32,

/// <summary>
/// If set, the vertical scroll bar (see <see cref="View.HorizontalScrollBar"/>) will be enabled and automatically made visible
/// when the dimension of the <see cref="View.Viewport"/> is smaller than the dimension of <see cref="View.GetContentSize()"/>.
/// </summary>
EnableHorizontalScrollBar = 64,

/// <summary>
/// If set, the vertical scroll bar (see <see cref="View.VerticalScrollBar"/>) will be enabled and automatically made visible
/// when the dimension of the <see cref="View.Viewport"/> is smaller than the dimension of <see cref="View.GetContentSize()"/>.
/// </summary>
EnableVerticalScrollBar = 128,

/// <summary>
/// If set, the horizontal and vertical scroll bars (see cref="View.HorizontalScrollBar"/> and <see cref="View.VerticalScrollBar"/>)
/// will be enabled and automatically made visible when the dimension of the <see cref="View.Viewport"/> is smaller than the
/// dimension of <see cref="View.GetContentSize()"/>.
/// </summary>
EnableScrollBars = EnableHorizontalScrollBar | EnableVerticalScrollBar
}
Loading
Loading