| Age | Commit message (Collapse) | Author |
|
|
|
|
|
scrolling (#1186)
|
|
|
|
|
|
This seems to have been left over from when mouse text selection would start a text selection on the left side of the character and always extend the selection to include the character under the cursor.
We now perform text selection based on whether the selection spans across the horizontal center of a character and so this next_char() causes the endpoint of the selection to be incorrectly shifted to the right.
|
|
When the user clicks the right half of a tab, we add 1 (the byte len of the tab) to obtain the starting index of the following character.
|
|
This commit adds lazy evaluation for the wrapped line calculation,
making scrolling much more interactive.
|
|
|
|
Update test/editor code and tutorial (#189, #883)
Different, sequential approach to Editor tutorial
Co-authored-by: Albrecht Schlosser <albrechts.fltk@online.de>
|
|
When an Fl_Text_Editor ended up under the mouse, it took
mousewheel events for itself, freezing navigation of a
parent's Fl_Scroll.
Patch handles mousewheel events for both up/down and left/right
by checking:
> If editor has no scrollbar (e.g. no content to scroll to),
then mousewheel events for that scrollbar are ignored
so the parent can be navigated.
> If editor has a scrollbar, it handles wheel events until scroller reaches
an extreme position (e.g. top or bottom), it starts ignoring wheel events
so the parent can be navigated.
|
|
|
|
This also updates the RMB menu labels before every popup so
that changing the labels after creating the widgets still reflects
that change correctly.
|
|
|
|
on Fl_Input and Fl_Text_Display
Also adds – to Help View
|
|
|
|
- before assigning a buffer (Github #845)
- also fixed a warning form unused arg in Fl_Terminal
|
|
|
|
|
|
|
|
|
|
|
|
Also
- fix "\todo Unicode?" in Fl_Text_Display::display_insert() after verification
- fix "\todo [Internal] The user_data value must be implemented using \p fl_intptr_t"
because that's now in place.
|
|
Comments and docs only, no code changes.
|
|
[ 15%] Building CXX object src/CMakeFiles/fltk.dir/Fl_Text_Display.cxx.o
.../fltk/src/Fl_Text_Display.cxx: In constructor ‘Fl_Text_Display::Fl_Text_Display(int, int, int, int, const char*)’:
.../fltk/src/Fl_Text_Display.cxx:122:57: warning: ‘void* __builtin_memset(void*, int, long unsigned int)’ writing between 4 and 8589934584 bytes into a region of size 0 overflows the destination [-Wstringop-overflow=]
122 | for (int i=1; i<mNVisibleLines; i++) mLineStarts[i] = -1;
| ~~~~~~~~~~~~~~~^~~~
.../fltk/src/Fl_Text_Display.cxx:120:39: note: at offset 4 into destination object of size 4 allocated by ‘operator new []’
120 | mLineStarts = new int[mNVisibleLines];
| ^
This warning is IMHO obsolete because the code in question should not
be executed at all (mNVisibleLines == 1). However, the compiler seems
to substitute this with '__builtin_memset(...)' and analyzes "correctly"
that memory at offset 4 would be overwritten but not that the written
size would be 0.
The "fix" uses a compiler macro and #if to clarify that this code must
not be executed and should not be compiled (see comment why this code
exists).
|
|
The formerly undrawn rectangle beneath (or above) the line numbers is now filled with FL_BACKGROUND_COLOR.
Additionally the small rectangle between the scrollbars is now filled with FL_BACKGROUND_COLOR instead of FL_GRAY for consistency.
|
|
+ fix trailing whitespace (fluid)
|
|
Selecting a text range programmatically would not sync
some variables with the actual selection. This also fixes
a crash bug in macOS when dragging text that was
selected by buffer()->select() only.
|
|
|
|
|
|
|
|
|
|
* Background color attribute for Fl_Text_Display.
* Adding attributes.
* Avoid clipping horizontal
* Fl_Text_Display underlining.
* Better line positions
* Typos, testing.
* Documentation.
|
|
This is part 1 of the final fix for a previous name clash on case
insensitive file systems (fl_string.h vs. Fl_String.H).
|
|
FLTK 1.3 supports complex text input methods (TIMs) for the 3 platforms
(X11, Windows, macOS). This support has an interface with FLTK that is
common for X11 and Windows, via (undocumented) functions fl_set_spot(),
fl_set_status() and fl_reset_spot().
In contrast, and because it's been developed independently, the
interface between the macOS TIM and FLTK 1.3 is completely different :
static functions FL::insertion_point_location() and Fl::reset_marked_text().
The present change implements a single TIM/FLTK interface
used by all platforms based on functions fl_set_spot() and
fl_reset_spot().
The previous macOS-specific functions FL::insertion_point_location() and
Fl::reset_marked_text() are maintained only for compatibility with 1.3
and deprecated.
|
|
No code changes
|
|
|
|
|
|
|
|
|
|
* Cache single unicode character widths under Xft+Pango
|
|
|
|
|
|
|
|
|
|
- remove obsolete svn '$Id$' tags from all source files
- update .fl files and generated files accordingly
- replace 'http://www.fltk.org' URL's with 'https://...'
- replace bug report URL 'str.php' with 'bugs.php'
- remove trailing whitespace
- fix other whitespace errors flagged by Git
- add and/or fix missing or wrong standard headers
- convert tabs to spaces in all source files
The only relevant code changes are in the fluid/ folder where
some .fl files and other source files were used to generate
the '$Id' headers and footers.
|
|
No code changes except minor formatting and trailing whitespace.
|
|
Remove unused variables and unused code to silence warnings.
|
|
The main fixes are only to avoid static code analyzer warnings reported
in issue #5, but there are also minor bug fixes included. These bug
fixes are more of theoretical concerns though.
Close #6.
|
|
|