struct in Fl_File_Browser.cxx.
Currently changes to one struct must be manually kept in sync with the other.
todo: Fl_File_Browser should be fixed to not do this.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6853 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
which was made in order to solve STR #1739.
Thanks to SebHoll for pointing this out.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6851 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This allows icons to be defined for items in Fl_Browser.
In addition to the OP's patch:
o Added doxygen docs
o Fixed redraw handling of icons larger than the items
o Some methods made const
o Conformed indent to FLTK standards
See the STR for a test program that verifies the modifications.
Mods tested on linux,osx,windows.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6850 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
- added missing files in src/CMakeLists.txt
- added -DUSE_X11 for Unix builds
- added new test/unittests program
Thanks to Yassine (yostane) for testing and helping to update the CMake files.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6847 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
See also, fltk.general newgroup thread:
Subject: "probelm to build fltk 1.3 svn using msys, gcc3.4 and cmake"
(Dates 08/28/09 - 08/29/09)
Applied Yostane's zip file mods to the two CMakeLists.txt to support
msys/gcc3.4/cmake environment. Verified consistency, fixed indents.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6846 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This fix to fl_height(int,int) solves the "digital drit"
problem in Fl_Text_Editor, where doing insert/delete
operations was leaving a trail of dead pixels.
Also fixes problem with font display problem in fluid's
code editor. See the STR for screenshots of the problem.
NOTE: THIS IS A WORKAROUND FOR A DEEPER PROBLEM.
Somewhere during the port of UTF8, the actual pixel size
of the displayed font is a little off, causing FLTK to
miscalculate line height, causing 'digital drit'.
It used to be that when you specified a font size,
the font's actual displayed pixel size matched the
font size value.
This fix makes the fl_height(int,int) function more robust,
actually inquiring the font system for its font size, instead
of assuming the font size is the same as the 'size' argument.
Since Fl_Text_Editor makes use of this function, it helps
that widget calculate font sizes correctly.
The real fix will be restoring FLTK's old behavior where the
font size specified is the actual pixel size of the displayed font.
Then this function can be reverted to just returning the 'size' argument.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6845 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
- set_menu_window() to mark a window as a menu window
- set_tooltip_window() to mark a window as a tooltip window
and the corresponding get methods:
- menu_window()
- tooltip_window().
This is a first step for providing more information for correct parenting
and properties to support modern (X) window managers (STR #2230).
Please see also the information in fltk.development:
http://www.fltk.org/newsgroups.php?gfltk.development+v:8003
ToDo: Another point is to be able to handle menu windows and popup windows
that are opened while a menu is active properly (will follow later).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6841 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
before deleting them with delete or Fl_Widget::delete_widget(). This is not
necessary any more, but it was necessary in FLTK 1.1.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6836 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Also, unittest added (scrollbar size) to test these changes.
Thanks to Albrecht for testing/peer review.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6828 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
+ 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
+ more const methods modifications for Fl_Text_Display.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6824 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
+ Constrained many Fl_Text_Display (get and measurement) methods to const.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6823 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
+ Modified selection buffer access methods to return const Fl_Text_Selection pointers. Added a non const get method for the main selection buffer.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6822 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
+ 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
+ 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
+ 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
Note: Windows needs RGBA Bitmaps (4 bytes) to do alpha blending.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6804 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
also converted some old html tags to doxygen in Fl.cxx and Fl_lock.cxx
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6787 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
STR#1840 closed, STR#207 not closed because non-xft functions not implemented
drawing of N Utf8 characters need correction for rotated and not rotated fl_draw functions not solved!
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6779 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
with Quickdraw worked) in src/Fl_Images.cxx.
Changed test/unittest_images.cxx to use Fl_RGB_Image::draw() to draw images
with alpha channel, because the current version of fl_draw_image()
supports alpha channels only on Mac. Tested on Windows[1], Linux, and Mac.
[1] Windows with GDI drawing doesn't work yet for gray+alpha (STR 2105).
To do: Check, if fl_draw_image() should support alpha channel images
on all platforms or not at all. The current documentation mentions only
RGB and gray scale images. IMHO the behavior is undefined for values of
abs(d) == 2 and abs(d) > 3. See also fl_draw_image_mono().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6773 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
corrected mismatched parameter names and typos on fl_utf8.h and fl_utf8.cxx
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6769 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
STR 2185 and in fltk.development to prevent memory leak. The removed comment
about a crash in XFree86: _XlcCreateDefaultCharSet() appears to be outdated
(probably from 2005/2006).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6767 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
also corrected function signatures in opengl.dox
added doxygen comments to FL/gl.h, src/gl_start.cxx, src/gl_draw.cxx
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6749 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
src/Fl_Help_View.cxx:
This fix is the first step and compatible with FLTK 1.1 (keeping the ABI).
The next step should be to manage the loaded images in an own structure,
because we must know exactly, when to release() the images. The previous
version would release images too many times and could release shared
images that had been loaded by another part of the program (maybe even
another Fl_Help_View widget).
FL/Fl_Help_View.H:
Doxygen comments improved.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6743 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
src/Fl_Help_View.cxx:
removed double pushfont() for color changes
FL/Fl_Help_View.H:
fixed Fl_Help_Font_Stack::pop() to set the correct font
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6741 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1) Introduced new scrollbar_size() methods with global fallback behavior
2) Added int scrollbar_size_
3) Mods to code to make use of the above
4) Doxygen docs for the above
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6740 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1) Moved Fl::scrollbar_size() implementation from Fl_Browser_ to Fl::
2) Modified Fl_Browser as per fltk.dev discussions:
* Deprecate Fl_Browser scrollbar_width() method
* Introduce Fl_Browser scrollbar_size() method with global fallback behavior
* Docs for above
Todo: Make similar changes to other scrollbar oriented widgets
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6737 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
most of the function names used as indented paragraph titles
are now recognised properly and are shown as links. However,
I was forced to "downgrade" many function() references in the
text so that the unwary user isn't unexpectedly teleported off
the tutorial pages. It reduces the link spaghetti a lot,
tweaked Enumerations.H and fl_draw.cxx to get doxygen to recognise
more function names used in drawing.dox. only fl_scroll(...)
and the offscreen drawing functions still needed for drawing.dox
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6735 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
o Added \see for all methods that seemed to need it
o Fix to has_scroll() enum docs as per Albrecht's comments
o Other small doc tweaks
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6726 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
o Small mods to Fl_Browser.{cxx,H}'s doxygen docs
o FL_SORT_ASC/DESC -> FL_SORT_ASCENDING/DESCENDING (includes necessary mod to test/browser.cxx demo)
TODO: Fl_Browser needs new '\see Related methods: ' that was initiated in Fl_Browser_
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6720 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
this also required tweaking parameter names and doxygen comments in
Fl_Widget.H, Fl_Group.H, Fl_Widget.cxx and fl_boxtype.cxx
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6705 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
o C files containing C++ "//" comments -> C style "/* */" comments
o Converted unintended doxygen style comments to regular C comments
o FLTK brace/indent coding standard conformance
o Tested linux + sgi
o Avoided mods to xutf8/lcUniConv [libiconv/FSF code]
to avoid unwanted diffs with future updates of that lib
as per Fabien's fltk.dev request 03/14/09.
(Those files already compliant anyway)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6698 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1) C++ style comments in C files converted to /* */
2) #warning's had to be #ifdef'ed out (#if !defined(sgi)..)
With these mods, 1.3.x compiles on IRIX 6.5 with no failures.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6680 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
and fixed a comment.
src/Fl_File_Chooser.fl:
Removed unused member variable ext_managed
M src/Fl_File_Chooser2.cxx:
Fixed comment.
M FL/Fl_File_Chooser.H:
Removed unused member variable ext_managed (generated by fluid)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6678 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
further rework needed on Fl_Slider::scrollvalue() description
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6674 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
before drawing itself and its children.
The problem was that subwindows "lost" their x/y-coordinates during draw(),
and child widgets couldn't get their parent window's coordinates.
Currently this is needed (maybe only) in fl_set_spot() for Windows, but it
had been solved there with a Windows-specific coordinate transformation
(MapWindowPoints). Todo: rewrite Fl_win32.cxx/fl_set_spot().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6669 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
in callbacks. This is used e.g. in Fl_Widget::do_callback() to prevent
accessing widgets after deletion in the callback.
Documentation adjusted, Fl_Menu_Button.cxx changed to use Fl_Watch instead
of Fl::watch_widget_pointer.
Fl::watch_widget_pointer() and Fl::release_widget_pointer() have been
modified to use an array without "holes" (NULL pointers) for storing the
widget pointers for faster access: Fl::release_widget_pointer() now shifts
pointers to close gaps of freed pointers.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6651 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
- Applied third version of greg patch adding new external link functionality.
- Corrected it so that it can compile under linux (minor include problem)
- Corrected old documentation link to new one (toc.hmmtl is now index.html)
Tested succesfully on linux and mac os x 10.5
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6648 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
The fix prefer not to set a default gc to avoid side unpredictable side effects
(i.e: the color would not be set on the expected window)
Maybe this could be later further improved by using
fl_GetGC() with the current or the first fltk window
so that a color would always be set.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6643 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
+ Added a new Module section named : File names and URI utility funtions
+ updated the pdf file adequately
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6641 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Took this opportunity to remove the separated font stack (font and size) tables by an opaque and dedicated font stack object implementation. This permits i.e to change easily the stack size or even impl. (like a linked list impl.) without impacting the widget code.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6633 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
- Added the manolo improved paste version which I in turn improved with the following:
+ transformafed the number of flavor iteration to a generic number (we can add new flavors without changing the autocalculated dim)
+ replaced local stored stack encoding data tables by constant declarations
+ added error checking to the Fl::paste() code.
- Added error checking to Fl::copy(), corrected the memory leak.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6632 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
thanks manolo for the code fragment.
Code inserted into Fl_mac.cxx, tested, regression tested with utf greg japanese example from fltk to fltk, now all test cases work fine in mac os x (10.5.5).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6625 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
(STR #1894). Fl_Group::clear() removes widget by widget (one at a time) to
allow widgets to remove other related widgets from the same group, when they
are deleted.
Also fixed a bug in Fl_Value_Input (added a destructor), because it used
a non-Fl_Group widget as parent of another widget.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6623 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Fl_x.cxx:fl_set_spot()
+ Fixed fl_ask.h erroneous include replaced by fl_ask.H include in
colbrowser.cxx
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6622 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
The Windows version needs a window to anchor the display window for complex
text editing (IME), e.g. Japanese text. This update adds an additional
Fl_Window argument to fl_set_spot(), but this is only used for Windows.
The implemented version is tested with Japanese text input, including input
in subwindows (test/subwindow.cxx).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6605 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
handling of FL_WHEN_ENTER_KEY_ALWAYS.
This was a regression introduced with svn -r 6212.
History:
svn -r 6031: STR #1719: regression introduced in FLTK 1.1
svn -r 6104: Fixed in FLTK 1.1
svn -r 6108: Applied to FLTK 1.3 (okay)
svn -r 6212: introduced again by "Merging the UTF8 patch ..."
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6581 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
generate wrong FL_LEAVE events with subwindows. TrackMouseEvent
is now enabled by default (it was disabled for GNU compilers).
It can be disabled by defining NO_TRACK_MOUSE.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6552 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
ToDo: The correct fix would need more code changes and is under investigation.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6543 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Kept original author and copyright.
Added standard fltk LGPL header notice
+ Added missing comment to fl_width() related to latest utf8 STR#2086 related fix in r6539 and r6540.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6542 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This one was really tough to track, understand:
In fact,
the problem was comming from the misplacement of the menu window,
which itself came from invalid measurement,
which itself came from invalid fl_witdh() measurement,
but only when fl_gc is not valid because fl_width() relies on Win32 on the call
of GetTextExtentPoint32W which can't succeed if the HDC(here fl_gc) is not valid !
Now the fix:
A best-effort algorithm has been furthered to supply a valid fltk hdc if we can have one or a screen hdc if no fltk window is found by fl::first_window().
Note that when fl_gc is NULL inside fl_width() call, it can happen that Fl_Window::current() is not null but invalid (already deleted).
Finally, in the case of the buggy menu window observed here, this fl_gc was set to NULL just after an Fl_Menu_Window deletion and re-creation in Fl_Menu_Item::pulldown().
Also added a comment to describe the new fl_width() behavior.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6540 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
- Fixed recent documentation update problems in fl_draw.cxx : \ and @ char must be doubled otherwise interpreted as doxygen keywords
- Fixed some doxygenized parameters problems in Fl_Preferences.cxx
- Added the treeview mode, now featuring a vertical left tree browser in html doc
- Splitted html configuration file from pdf configuration file, now a new Doxybook config file permits to customize independtly both html and pdf modes without risking side effects and also without assuming an fltk user will have the Tex tools installed to generate the html doc. Now only pdf generation will need LaTex tools.
- Updated the doxygen based documentation to revison 9 and added new significant contributors to index.dox in alphabetical order.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6539 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
"The problem is line 237, the "unsigned len" declaration is potentially
crossed by the preceeding goto (line 234) so some compilers don't like
that..."
Tested okay on cygwin with gcc 3.4.4.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6535 ea41ed52-d2ee-0310-a9c1-e6b18d33e121