stefanceriu / SCXcodeMiniMap

Sublime Text like Minimap for Xcode
GNU General Public License v3.0
1.03k stars 91 forks source link

Offset incorrect #52

Closed adamstener closed 9 years ago

adamstener commented 9 years ago

Whether using an external 1920 x 1080 monitor, or the built in rMBP screen, the offset is never in the correct position.

stefanceriu commented 9 years ago

Does it happen on large source files and does it get fixed once you scroll through the whole file and after the layout manager gets a chance to lay out everything ?

adamstener commented 9 years ago

It's on most files, I guess I don't know what 'large' would consist of, but < 1000 lines of code still does this. If I scroll through the file it doesn't seem to help, until I get all the way to the bottom, then it appears to have found everything and laid it out correctly. Is this a known issue that you can't do anything about?

stefanceriu commented 9 years ago

Seems to be related to https://github.com/stefanceriu/SCXcodeMiniMap/issues/41, check the last 2 comments. It seems that I need to come up with a better way of figuring out the correct content offset, something that's not linked to the layout manager, if that's even possible.

adamstener commented 9 years ago

Not sure what is available in the 'layout manager' but when you open the file, the scroll bar (not minimap) shrinks to the correct size, so something in the system knows how large this file is.

stefanceriu commented 9 years ago

I'm using the layoutManager's usedRectForTextContainer: method to get the total height of the minimap but the results keep changing as you scroll through the document. Replacing it with the scrollView's documentView height doesn't fix it either. I'll keep trying different approaches, maybe I can get it working properly.

stefanceriu commented 9 years ago

Okay, I think I got it, I combined your idea of using the main editor's size with the ensureLayoutForTextContainer: method. Please give it a go and do let me know if you still have issues.

adamstener commented 9 years ago

Oh yeah, much better now! Thanks!

stefanceriu commented 9 years ago

Perfect, thank you too ;)