Skip to content

Conversation

@rmkaplan
Copy link
Contributor

This is hopefully getting near the end of the rework of scrolling aimed at avoiding flicker with the fast repetitive scrolling that wheelscroll can produce. The idea is to calculate what part of the screen bitmap can just be moved around, including the selection highlighting, so that only newly revealed lines need to be redisplayed. The easier cases are when the window is totally on screen. Next easiest, in previous versions, is when the bottom of the window is offscreen. This aims at the hardest case, where the top of the window is not visible.

This also includes a fix to the misnamed \TEDIT.COPYINSERTFN that @nbriggs noticed, plus perhaps some other issues that have been reported that I now don't remember.

It does not address the problem that @pamoroso recently noticed, where type-in selection is getting screwed up (and another glitch where type-in overflow at the end of the window moves up too many lines).

…ffscreen

This is hopefully getting near the end of the rework of scrolling aimed at avoiding flicker with the fast repetitive scrolling that wheelscroll can produce.  The idea is to calculate what part of the screen bitmap can just be moved around, including the selection highlighting, so that only newly revealed lines need to be redisplayed.  The easier cases are when the window is totally on screen.  Next easiest, in previous versions, is when the bottom of the window is offscreen.  This aims at the hardest case, where the top of the window is not visible.

This also includes a fix to the misnamed \TEDIT.COPYINSERTFN that @nbriggs noticed, plus perhaps some other issues that have been reported that I now don't remember.

It does not address the problem that @pamoroso recently noticed, where type-in selection is getting screwed up (and another glitch where type-in overflow at the end of the window moves up too many lines).
@nbriggs
Copy link
Contributor

nbriggs commented Apr 19, 2024

In this version (haven't checked older versions), when I open a TEdit window, type some text then type delete the blinking cursor disappears. If I type another character the character appears and the cursor reappears and starts blinking again.
The whole window was visible at the time.

@nbriggs
Copy link
Contributor

nbriggs commented Apr 19, 2024

If you place the TEdit window so that the left side of it is offscreen and then scroll it (I was using trackpad), then about as much as is off the left side of the screen doesn't scroll on the right hand side of the window.

@nbriggs
Copy link
Contributor

nbriggs commented Apr 19, 2024

Now if you attempt to shift-select a SKETCH into the end of the document it gets further, but dies with

NIL
MOUSE/14(debug)BT!
CL::%%NOT-NONCOMPLEX-NUMBER-ERROR
IDIFFERENCE
\TEDIT.COPYINSERTFN
COPYINSERT
SK.COPY.BUTTONEVENTFN
\PROTECTED.APPLYA0001
\PROTECTED.APPLY
WINDOW.MOUSE.HANDLER

because NIL is not a number for the IDIFFERENCE.
select.txt

@masinter
Copy link
Member

now that we're running on faster hardware, and scrolling is a user-interaction-driven update, why not handle scrolling by just REDISPLAYFN the text after you scroll?

 @pamoroso reported incorrect selection highlighting when typing at the top of the file.
@masinter masinter requested a review from nbriggs April 29, 2024 23:33
Copy link
Contributor

@nbriggs nbriggs left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this might fix Paolo's #1662 but the scrolling offscreen windows problem remains. The shift-select of sketches is also still broken.

@masinter
Copy link
Member

@nbriggs at the meeting today 4/29/24 we came to a different resolution after I added you to the reviewer list. Run has some other fixes he's still working on and will close this PR and replace itwith another.

rmkaplan added a commit that referenced this pull request May 8, 2024
This replaces PR #1673, which should be closed and deleted when this is merged.
@masinter masinter marked this pull request as draft May 9, 2024 03:22
@masinter masinter closed this Jun 24, 2024
@masinter masinter reopened this Jun 24, 2024
@rmkaplan rmkaplan closed this Oct 21, 2024
@rmkaplan rmkaplan deleted the rmk14--TEDIT-scrolling-with-partially-offscreen-windows,-plus-other-glitches branch February 25, 2025 05:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants