Commit Graph

59 Commits

Author SHA1 Message Date
Matthias Melcher
0fb4feb11a Working on correct line wrapping in Fl_Text_Display: starting to replace all byte based charracter calculations with utf8 functions. Current version wraps, but scroll bars are wrong. Non-wrapping text display starts to work better.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7797 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-11-06 00:29:58 +00:00
Matthias Melcher
38dcb5a463 Starting to rework Fl_Text_Display from scratch to make wrapping work correctly. Fixed a few issues that made wrapping crash. Using ASCII range only with fixed character sizes should still wrap as expected?!
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7794 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-11-04 21:53:56 +00:00
Matthias Melcher
cac40a9b02 STR 2158: partially solved. This commit is huge, I admit. I recoded most of Fl_Text_Buffer and large chunks of Fl_Text_Display to make it UTF-8 safe. Rendering of all left-to-right scripts works well on OS X for all tested fonts. International input works AFAIK. Copy and paste of UTF-8 data works. ----> what's not working yet though is line wrapping. Also, text search for internationsl characters is not working yet.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7792 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-11-03 22:01:43 +00:00
Matthias Melcher
291faee430 Fixed a bunch of warnings from gcc 4.4.5 . Most of these are parenthesis missing to make the precedence of && over || obvious. Ah well, why not...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7765 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-10-28 18:02:20 +00:00
Matthias Melcher
463416d0c7 Remove OS X Xcode compiler warnings.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7726 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-10-22 15:15:23 +00:00
Matthias Melcher
32716d6b1e Updated the Fluid IDE support for the current source file structure. Changed the Fl_Tree rendering code around a bit to make the tree more like MSWindows on Windows and more like Apple on Apple machines. I hope you guys like it. I also moved the function to load Fl_Preferences into an Fl_Tree into the Fl_Tree class where it belongs.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7672 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-07-10 09:44:45 +00:00
engelsman
a10e58a690 added implementations of fl_wcwidth_() and fl_wcwidth() to src/fl_utf.c
these supercede the old fl_wcwidth() code in src/xutf8/fl_wcwidth.c.
also added corresponding declarations to FL/fl_utf.c, and updated
src/Fl_Text_Buffer.c to enable the call to fl_wcwidth()



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7551 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-04-20 21:43:31 +00:00
engelsman
9545e033bb Fl_Text_Buffer/Display fixes for UTF-8 / STR-2158 (part 1)
fixes to handle incorrect counting of UTF-8 characters by checking
for complete UTF-8 encodings in char* rather than char by char.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7527 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-04-18 14:33:33 +00:00
Matthias Melcher
29317e7b2d Marked some more issues with Fl_Text_...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7462 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-04-06 23:00:56 +00:00
Matthias Melcher
61cf49ddfc Another update to Fl_Text_Buffer. This is by no means perfect, but at least it currently does not crash (I am so easily satisfied :-P).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7449 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-04-05 22:18:14 +00:00
Matthias Melcher
07a4509a63 Validated utf-8 safety of Fl_Text_Selection.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7443 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-04-05 21:10:40 +00:00
Matthias Melcher
814da7f392 Little fix that will keep Fl_Text_Display from crashing on German umlauts. This is by no means a fix.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7440 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-04-05 21:02:48 +00:00
Matthias Melcher
fca1c022e7 Holy Gucamole! NEdit was designed with 'C' style strings in mind. Until that is that someone had the great idea to allow <nul> as a valid character in the text editor. The developers jumped through quite some hoops to allow that without rewriting the core. Well, actually they did: they added a parameter to pretty much every internal call that conatined the null-replacement-character. Anyway, since we only handle 'C' strings, I remove all related code.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7437 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-04-05 20:22:43 +00:00
Matthias Melcher
d5175c0b88 Adde /todo tags to all function which I will remove as soon as I am sure that they are entirely Unicode safe.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7433 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-04-05 20:01:10 +00:00
Matthias Melcher
024c4b995b I humbly apologize for this commit, but I just could not bear it anymore. I moved all Doxygen comments from Fl_Text_Buffer.cxx into the header (I kept searching back and forth for the comments) and then did the unthinkable: I reformatted Fl_Text_Buffer.cxx! OMG. It is actually somewhat *readable* now. I shouldn't have done it! It's a mess ;-). Fl_Text_Buffer was modified many times to do things it was never designed to do. And looking at 'svn b;ame', I remember that I tried to quick-fix UTF-8 on top of that. Anyway, I'll dig into this now. I want 1.3.0 out of the door (end of ramble).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7432 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-04-05 19:52:52 +00:00
Fabien Costantini
9eaf693d4a Fl_Text_Display C code simple refactoring:
+ Replaced uninitialized C parameters archaisms, by on the fly C++ local var. decl.
  Not only it will be more optimized by modern c++ compilers,
  code is easier to read, maintain and debug and is shorter.
  Most local variables are now explicitly intialized when declared.
+ Replaced some non const vars by const equivalents when required.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6825 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2009-07-04 05:18:29 +00:00
Fabien Costantini
9182195f17 UTF8: Fl_Text_Display and related:
+ Even more const constraints added to Fl_Text_Selection and Fl_Text_Buffer methods.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6820 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2009-07-04 00:06:32 +00:00
Fabien Costantini
e982ba24a9 UTF8: Fl_Text_Display and related:
+ Added more const constraints to Fl_Text_Selection and Fl_Text_Buffer methods.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6819 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2009-07-03 23:54:34 +00:00
Fabien Costantini
d4e85cef93 UTF8: Fl_Text_Display and related:
+ Made char * text() const., this method should be further checked for UTF8 compat.
  + Added a fixme comment to remember we must check for the potential incorrect
  assumption that that a buffer size equals the string length + 1.
  + Correct a protected attrib. typo as we  don't need to care about ABI compat. for now.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6818 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2009-07-03 23:32:47 +00:00
Matthias Melcher
d3206f01ec More Fl_Input keyboard fixes / OS X transparency for RGBA data / some utf8 reorganisation
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6765 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2009-04-15 08:35:28 +00:00
Fabien Costantini
15489bda1b Major documentation update including: now html doc API is sorted, navigation problems/side effects fixed, html tags replaced by proper doxygen commands, parameters command switched from a to p. Includes a pdf update.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6716 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2009-03-24 01:40:44 +00:00
Matthias Melcher
c15fc3e71a Added flexible gap size for text buffer (STR #2046)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6618 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2009-01-01 21:54:10 +00:00
Matthias Melcher
5251b64d57 Changed Copyright in 'src' directory
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6616 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2009-01-01 21:28:26 +00:00
Fabien Costantini
ffad932289 + Cairo branch merged after successful testing on Mac OS X 10.5.4, Linux Ubuntu 8.04,Windows XPSP2.
This integration is minimum as discussed, in particular it does not feature any fltk cairo drawing substitution
  as in fltk2.
  Still it provides all the fundations to go further even in next 1.4 ... 
  By default *no* cairo features are implemented nor linked, it can only be activated by --enable-cairo
  whose default is false.
  Please visit the README.cairo for complete description.

+ fixed UTF8 compilation pb on linux ubuntu

+ minor comments fixes on the fly



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6350 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-09-25 18:26:33 +00:00
Albrecht Schlosser
fb343ffdf6 More doxygen updates for Fl_Text_Buffer. Also changed some argument
names from "char *s" to "char *text" to be in sync with the docs.

Caution: If there will be name conflicts with Fl_Text_buffer::text(),
then this can at least be fixed easier, because searching for "text"
is better than for "s". I remember that some argument names x,y,w,h
have been changed to uppercase, because of conflicts with x(), etc.
with ... valgrind (?) or maybe some compilers ?

I did this deliberately, because changing the headers and doxygen docs
to "s" instead of "text" appeared to be not feasible.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6326 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-09-21 01:46:27 +00:00
Fabien Costantini
87c649e153 Corrected duplicated paragraph in previous commit.
Much prefer the \a syntax rather than the \p syntax as it has the same look that the parameters shown in the function declaration (italic).
Should be added to the todo list how to.
Completed all other parameters applying the \a modification in this file. 


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6323 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-09-21 00:09:12 +00:00
Albrecht Schlosser
b804e1f3ab Fixed some typos and links and added a section about document structure
and some more to development.dox.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6320 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-09-20 22:46:24 +00:00
Matthias Melcher
e8f467b9e3 Updating fl_utf8.h references. Fixing copyright date in .fl files.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6311 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-09-19 17:40:20 +00:00
Fabien Costantini
e8478458bf Doxygen documentation: Fixed most important warnings for the Fl_Widget, Fl_Window, Fl_Valuator classes that should be now a 100% documented. For the rest I drastically reduced the undocumented APIs, but many others (less important) remains.
It looks and feels pretty good now :-)


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6299 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-09-18 19:09:34 +00:00
Fabien Costantini
b8955a9ced Doxygen documentation WP11 Done!
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6255 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-09-15 16:39:05 +00:00
Matthias Melcher
b6bde2e456 Merging the UTF8 patch, consisting of O'ksi'd s original 1.1.6 patch and additions by Ian. PLEASE BE AWARE that the patch in its current incarnation is a regression in many aspects and further work is required before we can announce Unicode support.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6212 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-09-10 23:56:49 +00:00
Matthias Melcher
329f5de330 Fixed Fl_Text_Display redrawing for focus changes for primary selection and highlight
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@6011 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-01-04 20:32:37 +00:00
Matthias Melcher
abd221aa56 Increased gap size in Fl_Text_Buffer to make the buffer suitable for much longer text, which seems to be a common use.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5181 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2006-06-06 21:12:45 +00:00
Michael R Sweet
671ef36117 Fix MacOS X 10.4 compile issues.
configure.in:
    - 10.4 doesn't include libsupc++.a, so we need to use g++ when compiling.

src/Fl_Help_View.cxx:
    - Fl_Help_View::format_table(): missing initialization of font and fsize.

src/Fl_Text_Buffer.cxx:
    - Fl_Text_Buffer::remove_rectangle(): missing initialization of endOffset.

src/Fl_Gl_Window.cxx:
    - Fl_Gl_Window::flush(): use 0xff instead of ~0 for clear_damage() call.

test/keyboard.cxx:
    - Apparently unnamed structs are not supported by Apple's GCC 4.0...


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4301 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-04-28 17:48:04 +00:00
Michael R Sweet
1c399af444 Update source file headers with STR web page.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4288 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-04-16 00:13:17 +00:00
Michael R Sweet
add37faa25 Copyright updates.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4052 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-02-24 21:55:12 +00:00
Michael R Sweet
53d7e32ff3 Clean up compiler warnings...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3806 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2004-09-08 15:42:47 +00:00
Michael R Sweet
eeef51de66 Fl_Text_Buffer::replace() now range checks its input (STR #385)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3436 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2004-06-01 20:33:26 +00:00
Michael R Sweet
a3d0905c9e Copyright updates and prep for 1.1.5rc1.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3391 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2004-04-11 04:39:01 +00:00
Matthias Melcher
5ccb6afda8 STR #39: FL_text_Buffer search backward would not allow searching from 1
after the last character. this is fixed.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3013 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2003-05-28 16:09:12 +00:00
Michael R Sweet
00cb676e11 Copyright update for 1.1.3 release (not quite yet, but soon...)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2936 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2003-01-30 21:46:07 +00:00
Michael R Sweet
a123dba5db Need <FL/Fl.H>
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2899 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2003-01-12 15:19:44 +00:00
Michael R Sweet
24455b9be5 Fix use of free() for memory allocated using new.
Fix error messages to use Fl::error() instead of fprintf().


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2898 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2003-01-12 14:49:33 +00:00
Matthias Melcher
332ae4a831 Fixed missing undo bug in Fl_Text_Editor. Undo would be performed on
text buffer AND attribute buffer, which in turn confused the undo buffer.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2836 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-11-12 22:48:36 +00:00
Michael R Sweet
ee58dd2f62 Add draw_children() method to Fl_Group.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2828 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-11-08 15:22:15 +00:00
Matthias Melcher
3473297741 Added 'Undo' to Fl_Text_Editor by reusing some of the Fl_Input_ code. I tried many cases and it seems to work fine.
Matthias


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2825 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-11-05 19:53:50 +00:00
Michael R Sweet
e04a3734e7 Apply patch from George Garvey to make Fl_Text_Display/Buffer based on
NEdit 5.3...


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2631 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-09-20 19:59:45 +00:00
Michael R Sweet
050919103f More shadow variable changes...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2567 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-08-09 03:17:30 +00:00
Michael R Sweet
a6b935289e Move the rest of the image file formats (except for XBM and XPM) to
the fltk_images library; saves about 16k in the FLTK core library on my
Intel system.

Fix a memory leak bug in most of the fl_set_fonts*.cxx implementations;
as a result, the Fl_Fontdesc structure now has a fontname member to old
the human-readable font name.

Lots of fixes for shadowed variables, etc.

Use snprintf, strlcpy, and strlcat in more places.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2566 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-08-09 01:09:49 +00:00
Michael R Sweet
a11a31ff78 Range check Fl_Text_Buffer::search_forward().
Don't use png_read_destroy() - it doesn't free all memory.

Add uncache() method to image classes.

Memory/initialization bugs in Fl_File_Chooser (valgrind)

Make sure both Fl_Window constructors have default cursor initialization
code...


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2562 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-08-05 17:50:25 +00:00