summaryrefslogtreecommitdiff
path: root/src/textfile_gui.cpp
AgeCommit message (Collapse)Author
2021-04-29Fix: 'Cache' top and bottom lines of textfile viewer to avoid overdraw. (#9131)PeterN
* Fix: 'Cache' top and bottom lines of textfile viewer to avoid overdraw. The text file viewer calculated the number of lines required to set the scrollbar, but did not retain this information, so this was recalculated on every draw operation. This includes overdrawing text outside the bounds of the current scroll position. With this change the top and bottom lines for each line of text are remembered, and reflowing is avoided where possible. Text outside the current scroll bounds is not drawn. Additionally the scroll interval is now based on text lines instead of pixel lines, which increases the text capacity depending on the font size. * Fix: Limit text viewer to showing 64k lines. Text files with more than 64k wrapped lines would exceed the scrollbar capacity and cause an assert. This is harder to reach now that the scrollbar counts lines instead of pixels.
2021-02-14Add: [OSX] Native font rendering without using FreeType.Michael Lutz
2021-02-13Codechange: OS-specific data for font search is not used outside of searching.Michael Lutz
2021-01-08Codechange: Remove min/max functions in favour of STL variants (#8502)Charles Pigott
2020-12-27Codechange: Replace assert_compile macro with static_assertCharles Pigott
2020-12-14Codechange: use \u to indicate unicode chars in strings (#8379)Patric Stout
With \x, we sometimes had to do the "" trick, as the length is not predefined. With C++11 bringing \u to the specs, which has a preset length, we no longer need the "" trick. We set the strings to u8, to ensure all compilers use UTF-8 encoding for the \u characters. This was triggered by newer CLangs, which start to warn if you use "" in the middle of a string, wondering if that was your intention. It is a good question. And this is our answer :)
2019-11-10Cleanup: Removed SVN headersS. D. Cloudt
2019-05-14Codechange: [Win32] Pass a native GDI font description around when we have ↵Michael Lutz
one, instead of repeatedly guessing the font.
2019-05-14Add: [Win32] GDI engine for font glyph rendering as a replacement for ↵Michael Lutz
including FreeType. Building with FreeType is still possible and will take precedence over the GDI renderer, but the project files don't include FreeType anymore by default. Combining GDI rendering with ICU text layout is untested.
2019-04-10Codechange: Use null pointer literal instead of the NULL macroHenry Wilson
2019-03-28Fix: MSVC warnings (#7423)glx22
2019-03-26Codechange: Replaced SmallVector::Append() with ↵Henry Wilson
std::vector::[push|emplace]_back()
2019-03-26Codechange: Replace SmallVector::Length() with std::vector::size()Henry Wilson
2019-03-26Codechange: Replace SmallVector::Clear() with std::vector::clear()Henry Wilson
2019-03-11Codechange: liblzma is called liblzma, how ever strange that might bePatric Stout
It is the only library we use that calls itself with 'lib' in the name. This might be confusing, but with the arrival of cmake a lot of these things are automated. And detection will find 'liblzma', not 'lzma', like with 'lzo', 'zlib', ..
2019-01-28Add: allow opening of one TextfileWindow per typeglx
2015-08-10(svn r27381) -Fix: Warnings due to C++11 requirements for explicit narrowing ↵michi_cc
conversions in initializer lists.
2014-10-23(svn r27035) -Feature: Support .txt.xz changelog, readme and license files ↵matthijs
in basesets, newgrfs, etc
2014-10-23(svn r27034) -Feature: Support .txt.gz changelog, readme and license files ↵matthijs
in basesets, newgrfs, etc
2014-10-23(svn r27033) -Codechange: Generalize GetTextfile for multiple extensionsmatthijs
- Instead of hardcoding the .txt extension in a printf string, it is now stored in an array of possible extensions. This array still only contains .txt, so behaviour is unchanged, but this makes it easier to add other extensions later.
2014-04-23(svn r26482) -Codechange: add an include that allows us to undefine/redefine ↵rubidium
"unsafe" functions to prevent them from being used, and thus having to care about certain aspects of their return values
2013-10-28(svn r25925) -Fix: Textfile content was clipped incorrectly and was drawn ↵frosch
past the bottom end. (LordAro)
2013-10-06(svn r25816) -Add [FS#5748]: Toggle button for wrapping lines in the ↵frosch
textfile GUI (LordAro)
2013-06-23(svn r25437) -Codechange: rework the FreeTypeSettings structure to make it ↵rubidium
better grouped
2013-05-26(svn r25294) -Feature: Add another button to window title bars to resize the ↵frosch
window to its default size.
2013-05-26(svn r25290) -Add: Assign string names to notable windows.frosch
2013-05-26(svn r25287) -Codechange: Keep a reference to the WindowDesc in the Window ↵frosch
after construction.
2012-11-11(svn r24700) -Cleanup: Remove WDF_UNCLICK_BUTTONS and make it the default.frosch
2012-08-13(svn r24467) -Codechange [FS#5236]: make textfile window class slightly more ↵yexo
general (LordAro)
2012-02-12(svn r23935) -Codechange: generalise GetTextfilerubidium
2012-02-12(svn r23932) -Codechange: split the NewGRF text window into its own source filesrubidium