Commit Graph

2130 Commits

Author SHA1 Message Date
Albrecht Schlosser 46253603de Extend fl_message_position() with 'center' option
Add argument 'center' to position the message box centered over
  the given x/y coordinates.

Add another method to supply a widget or window to center the
  message box over.

Fix documentation and don't use INT_MIN to avoid having to
  include limits.h in user code.
2020-05-07 17:43:04 +02:00
airbrett ee7577a897 Add (x,y) positioning mode to common dialogs
Add new function to set (x,y) position.
Reset to previous mode after innards is called by fl_* function.
Use magic number for preferred position state.

Note: several commits squashed and commit messages edited by AlbrechtS.
2020-05-07 14:59:19 +02:00
ManoloFLTK 4b94485efd Doc: more detail about fl_clip_region() when drawing elsewhere than on the display 2020-04-26 11:31:31 +02:00
ManoloFLTK 2878fa95ab Add optional argument to Fl_Printer::begin_job() to inform caller when an error occurs.
This solves an issue raised in fltk.general :  Fl_Printer errors - how can I interpret them?
    https://www.fltk.org/newsgroups.php?s38419+gfltk.general+v38427
2020-04-22 16:01:33 +02:00
Albrecht Schlosser dec1938f3c Make draw() protected (Fl_Tree + Fl_Table)
Widget draw() methods must be protected per FLTK convention.
2020-04-20 13:30:48 +02:00
Albrecht Schlosser 40ed1dca41 Fix formatting of Fl_Wizard.H
Fix white space and comments only, no code changes.
2020-04-20 13:28:59 +02:00
Mohammed Alyousef f203cb8c61 Make draw method protected in Fl_Wizard 2020-04-20 12:52:55 +02:00
Mohammed Alyousef 29ec4e0e55 Fix int highlight() comment 2020-04-15 00:35:32 +02:00
ManoloFLTK 7793fa812a Update standard file headers 2020-04-05 16:53:37 +02:00
ManoloFLTK f4029aebde Merge remote-tracking branch 'refs/remotes/origin/master' 2020-03-28 07:13:34 +01:00
ManoloFLTK 6105a95202 Doc: make clear that nanosvg doesn't render image elements. 2020-03-28 07:13:11 +01:00
Albrecht Schlosser 09352ddab0 Update documentation, fix typos 2020-03-26 14:21:33 +01:00
Albrecht Schlosser 8a7d4c9f61 Remove CodeWarrior "support"
Metrowerks CodeWarrior was an ancient macOS compiler (discontinued
since 2005) that defined the macro __MWERKS__. Code using this macro
and several comments have been removed.
2020-03-11 14:38:02 +01:00
Albrecht Schlosser 1ffcef2373 Update Fl_Text_Display documentation
No code changes except minor formatting and trailing whitespace.
2020-03-08 12:33:06 +01:00
Albrecht Schlosser 3746b8986e Clarify documentation of Fl_Pack 2020-03-03 17:29:00 +01:00
ManoloFLTK 87c994e2f8 Fl_Sys_Menu_Bar: make it strict equivalent of Fl_Menu_Bar outside macOS 2020-02-28 16:47:44 +01:00
Albrecht Schlosser 4c1b92eb52 Implement fl_putenv() as cross-platform putenv() 2020-02-10 12:10:40 +01:00
Albrecht Schlosser 97554a88cc Move fl_font(face, size) to fl_draw.cxx
I believe this is a better place.

Also: add FL_EXPORT since it's no longer inline.
2020-02-03 17:30:54 +01:00
Albrecht Schlosser dd3485c57a Fix regression calling fl_font() w/o draw context
According to the documentation fl_font(face, size) may be called
"outside a draw context if necessary to call fl_width()".

This worked in 1.3.5 but did not in 1.4 (so far). I reworded the
docs to make clear that other measurement functions can be called
as well and refactored the code to make sure that fl_font(face, size)
will open the display if necessary.
2020-02-03 16:35:28 +01:00
Albrecht Schlosser b8ab77e39c Don't "export" X11 specific fl_open_display() function
The X11 specific overloaded function fl_open_display(Display *)
has never been documented but exposed (and "exported" in the ABI)
in FL/platform.H which is not necessary. This internal function
is now static and no longer exposed in the ABI.

Don't confuse with fl_open_display() w/o arguments which is still
exported and declared in FL/platform.H.
2020-02-03 15:58:13 +01:00
Albrecht Schlosser f93b825b08 Update Fl::keyboard_screen_scaling()
- make the internal variable static
- make it callable after fl_open_display()
- document that it's currently only usable to switch scaling off
2020-01-31 15:48:21 +01:00
ManoloFLTK 4ba6cef0b9 Add Fl::keyboard_screen_scaling(int) to control recognition of ctrl/+/-/0/ 2020-01-31 09:42:36 +01:00
ManoloFLTK d1afac2150 Add a "Preview" switch to the GTK native file chooser.
The button state is recorded in a preference so is recovered the next
time the GTK file chooser runs.
2020-01-31 08:07:57 +01:00
ManoloFLTK 325c4b8666 New public static variable bool Fl_Image::register_images_done
Allows an app to detect whether fl_register_images() was called or not.
2020-01-30 18:54:18 +01:00
ManoloFLTK b45a18a231 Fix Doxygen formatting problem. 2020-01-28 18:36:03 +01:00
ManoloFLTK 1e9e742245 Fix 2 typos in Fl_Widget::shortcut_label() Doxygen doc. 2020-01-26 19:23:59 +01:00
ManoloFLTK 3384fe93df Add Fl_Widget::shortcut_label(int) to control effect of '&' in some widget labels 2020-01-26 19:15:30 +01:00
Albrecht Schlosser 9fa1c3182e Fix documentation of Fl_Shortcut
Unfortunately this typedef for shortcuts in Fl_Menu_Items etc.
can currently not be used with the full (21-bit) range of Unicode.

These restrictions are now documented but should be removed in a
future version, if possible.
2020-01-26 14:30:33 +01:00
Albrecht Schlosser fc36bfd88b Improve documentation of clipping functions
Clarify functionality of fl_not_clipped() and fl_clip_box().

Add developer documentation for Fl_Graphics_Driver::clip_box().

Documentation only, no code changes in this commit.
2020-01-20 12:51:47 +01:00
Matthias Melcher afcc79c3f7 Merge remote-tracking branch 'refs/remotes/origin/master' 2020-01-14 19:22:03 +01:00
Matthias Melcher ed80d9cef0 Fixed some documentation for Fl_Preferences and fl_make_path. 2020-01-14 19:21:58 +01:00
Albrecht Schlosser 1e2b0af443 Combine image readers in class Fl_Image_Reader
This new class is explicitly internal and undocumented. We can
rename and/or redefine or extend it as we need.

This work is based on Matt's recent update with separate internal
classes BMPReader and GIFReader which have been replaced by
Fl_Image_Reader.
2020-01-13 22:41:13 +01:00
Matthias Melcher 7e0c82637d Updated image readers.
Removed duplicate code from Fl_JPEG_Image, updated and unified Doxygen comments. Avoiding name conflict in new protected functions.
2020-01-10 18:46:45 +01:00
Albrecht Schlosser 3f1f871585 Drop 1.0 compatibility; document 1.4 migration
The FLTK 1.0 compatibility support by defining macro 'FLTK_1_0_COMPAT'
did no longer work since FLTK 1.3.x and nobody complained. Hence we
can safely remove this "feature".

Documentation changes:

 - Drop chapter 'Migrating Code from FLTK 1.0 to 1.1'
 - Drop chapter 'Migrating Code from FLTK 1.1 to 1.3'
 - Add  chapter 'Migrating Code from FLTK 1.3 to 1.4'

The removed chapters are still available in FLTK 1.3 docs.
2020-01-08 18:41:50 +01:00
ManoloFLTK d2e2077544 Fix Doxygen description of the constructors. 2020-01-05 15:51:47 +01:00
Matthias Melcher 1ba9e64ba9 Added code to read GIF files from memory (GitHub issue #33, 2/2) 2020-01-03 21:37:52 +01:00
Matthias Melcher 86893a90cb Added code to read BMP files from memory (GitHub issue #33, 1/2) 2020-01-03 21:10:00 +01:00
Matthias Melcher db6fa8bf86 Merge remote-tracking branch 'refs/remotes/origin/master' 2019-12-31 18:33:01 +01:00
Matthias Melcher c0237a1f04 Limiting file access for Fl_Preferences.
Added Fl_Preferences::file_access() and various flags that make it possible to limit or completely deny file access to the preferences system, either for the core library or for the application or both.
2019-12-31 18:30:04 +01:00
Greg Ercolano a624d9be2d Small docs addition for issue#45. 2019-12-30 07:25:06 -08:00
ManoloFLTK 2445797e45 Reorganise use of virtual member function Fl_Surface_Device::end_current() 2019-11-07 14:28:20 +01:00
ManoloFLTK 20ab318875 Link Doxygen doc of Fl_Widget::label(text) to relevant part of FLTK programming manual. 2019-11-06 11:09:34 +01:00
ManoloFLTK 4f8e692f30 Add default value of 0 for 1st arg of member function Fl_Printer::begin_job(). 2019-10-22 13:16:14 +02:00
ManoloFLTK c549b7acbd X11 platform: use Gnome printer dialog when the GTK library is available at run-time
The code to determine whether the GTK library is available is now in Fl_X11_System_Driver::probe_for_GTK()
called both by Fl_Printer::begin_job() and Fl_Native_File_Chooser.
New Fl::option OPTION_PRINTER_USES_GTK allows to deactivate use of
the Gnome print dialog.

Minor change in Fl_Native_File_Chooser: GTK version 3 is searched before version 2,
whereas the search order was the opposite before.
2019-09-15 15:57:29 +02:00
Greg Ercolano 62e39e5559 Added new method Fl_Tree_Item::event_on_item() 2019-08-27 16:53:57 -07:00
ManoloFLTK 4a58bf4dc2 Add example "Fitting an SVG image to a resizable Fl_Box" to doc of Fl_SVG_Image. 2019-08-27 18:38:56 +02:00
Greg Ercolano 4870cde0a6 More fixes for STR #3527; handle usericons, etc 2019-08-25 01:13:35 -07:00
Greg Ercolano 521a5ef17c Fixes STR #3527: Fl_Tree small drags on open/close icons change selection 2019-08-24 23:07:21 -07:00
Albrecht Schlosser 292739664f Support copy function in Fl_Color_Chooser
Users can press ctrl-c (or ctrl-x) while using the fl_color_chooser()
function or the Fl_Color_Chooser widget to copy the current color
selection to the clipboard.
2019-08-12 19:07:28 +02:00
ManoloFLTK 716e7b18f3 Better definition of 'struct dirent' for the MinGW32 compiler 2019-08-04 09:35:42 +02:00
Greg Ercolano 9e4c207e27 Added example images for Fl_[Hold/Multi]_Browser 2019-07-26 13:32:18 -07:00
Greg Ercolano a51012db9b Modified indent + bracing for author's example code 2019-07-26 12:18:52 -07:00
Greg Ercolano c03583a8bc Add small code example, moved widget screenshot higher on doc page 2019-07-26 12:14:49 -07:00
ManoloFLTK 8c7b7eea4b Fl_Copy_Surface: more detailed Doxygen description. 2019-07-20 08:59:15 +02:00
Albrecht Schlosser 42b8cb7bb8 Add method Fl_Menu_::menu_end() (STR 3523)
This method can be called after all menu modifications to make sure
the menu() array is relocated (copied from the internal working area)
to a private place owned by the Fl_Menu_ instance.

menu_end() is now called in Fl_Menu_Button::popup() to make sure
the menu array is in private storage.

This fixes STR 3523 w/o user code changes. Calling menu_end() is
in most cases optional.

Todo: call menu_end() where useful (or necessary), e.g. in
  Fl_Choice, Fl_Menu_Bar, etc. ?
2019-06-27 16:04:03 +02:00
Greg Ercolano fe08c686be Last commit typo: latex docs fix 2019-06-06 11:14:08 -07:00
Greg Ercolano bca3ae0b17 Added example for mac Application -> Preferences 2019-06-06 11:09:29 -07:00
ManoloFLTK a471c67f67 Add default argument values to reimplementations of Fl_Widget_Surface::draw_decorated_window 2019-05-25 18:39:26 +02:00
ManoloFLTK fce4923212 Merge remote-tracking branch 'origin/master' 2019-05-25 11:59:48 +02:00
ManoloFLTK 0d3a374396 Call virtual member Fl_Surface_Device::end_current() when necessary
Rename member function Fl_Surface_Device::end_current_() to end_current(),
set it protected, and make it called by the destructor of all classes
derived from Fl_Surface_Device that re-implement end_current().
This way, end_current() runs equally if Fl_Surface_Device()::pop_current()
is called before or after the drawing surface is deleted.
2019-05-25 11:59:16 +02:00
Albrecht Schlosser f711bb7cfc Fix version of removal of deprecated method
Removal of methods breaks the ABI, hence we need to wait until 1.5.0
2019-05-25 11:32:37 +02:00
ManoloFLTK bf50352afe Remove Fl_Copy_Surface_Driver::draw_decorated_window() that is unnecessary 2019-05-24 14:05:41 +02:00
ManoloFLTK 46fa9d2625 Fix Doxygen comment badly processed by Doxygen 1.8.15 2019-05-22 21:45:12 +02:00
ManoloFLTK b2c027fa83 Implement Fl_Quartz_Copy_Surface_Driver::draw_decorated_window()
The window title is copied in vectorial form when the titlebar is layer-backed.
2019-05-22 21:33:02 +02:00
Albrecht Schlosser 5df7a7678a Document Fl_File_Input::errorcolor() as deprecated
Fl_File_Input::errorcolor() and Fl_File_Input::errorcolor(Fl_Color)
have not been used anywhere. Marked as deprecated.
2019-05-15 18:31:46 +02:00
Albrecht Schlosser c4a755bdf8 Fix some links in documentation
Particularly to Doxygen docs and NEdit which appears to have moved
to sourceforge (according to Wikipedia), see
https://en.wikipedia.org/wiki/NEdit

Note: nedit.org exists but shows some non-English text.
2019-05-15 17:16:11 +02:00
ManoloFLTK 874ccfe645 Fix Doxygen doc of Fl_Window::border(int) and border() 2019-05-09 10:49:03 +02:00
ManoloFLTK 172063b2ad macOS: yet simpler implementation of window resize and rescale. 2019-04-28 15:31:02 +02:00
ManoloFLTK 0067952e1a Correct typo in Doxygen doc 2019-04-14 19:10:08 +02:00
ManoloFLTK 52f4aa5546 Doxygen doc: rewording for more clarity. 2019-04-14 19:07:14 +02:00
ManoloFLTK bb5ef3b1d0 Doxygen: rewording for more clarity. 2019-04-14 09:54:55 +02:00
ManoloFLTK 0f6cbd1cda Doxygen: rewording for more clarity. 2019-04-14 09:27:41 +02:00
ManoloFLTK a65d7818be More explicit short doc of Fl_Multi_Label. 2019-04-14 08:57:17 +02:00
ManoloFLTK 5ad95da98e Further Doxygen doc about OpenGL and HighDPI. 2019-04-13 08:32:35 +02:00
ManoloFLTK f55729ed32 Doxygen: describe better support for OpenGL on HighDPI displays. 2019-04-12 18:47:42 +02:00
ManoloFLTK 4abaeba539 Doxygen: make explanation of how PostScript text works always visible. 2019-04-12 11:29:08 +02:00
ManoloFLTK 1280370fc8 Move Doxygen comments next to member function bodies. 2019-04-12 10:36:02 +02:00
ManoloFLTK d50d0a3069 Remove function body from Fl_Widget_Surface class declaration. 2019-04-12 10:32:46 +02:00
ManoloFLTK cb7dbc34d7 Make member function Fl_Surface_Device::driver(Fl_Graphics_Driver*) protected. 2019-04-10 15:20:00 +02:00
ManoloFLTK 7a0bebb22f New virtual member function bool Fl_Surface_Device::is_current() 2019-04-10 13:14:04 +02:00
ManoloFLTK 8286e37b18 Add public function Fl_RGB_Image *fl_capture_window_part()
In the context of HighDPI screens, the API of function fl_read_image()
is inadequate because a rectangle of size WxH drawing units
of a window may contain many more than W*H pixels.

Function fl_capture_window_part() returns an Fl_RGB_Image
object whose drawing size matches the size of the rectangle
and whose data size matches the, possibly larger, size in pixels
of the corresponding area of the mapped window.
2019-04-09 18:50:18 +02:00
ManoloFLTK c66caf5dce Simpler implementation of Fl_Cocoa_Window_Driver::resize() 2019-04-07 09:09:33 +02:00
ManoloFLTK e3e195a09c Use \deprecated Doxygen command where necessary 2019-03-26 13:57:41 +01:00
ManoloFLTK 4324acc6f6 Avoid "unused argument" compiler warnings with -Wextra after #include <fl_draw.H> 2019-03-12 10:55:01 +01:00
ManoloFLTK 21c0134931 New member function const Fl_Image* Fl_Window::shape() replaces int Fl_Window::is_shaped()
The new function allows to get the window's shaping image
and delete it after use, if appropriate.
2019-02-23 10:21:27 +01:00
Albrecht Schlosser 79af685c28 Fix typos 2019-02-09 21:21:48 +01:00
ManoloFLTK 65916c106e Remove Fl_Image::as_rgb_image() virtual member function.
It's not used in the library, so its utility remains to be proven.
2019-02-06 17:22:28 +01:00
Matthias Melcher 0cac8d52e3 Fl_Roller can now be controlled via the mouse wheel (STR #3120). 2019-02-04 23:12:02 +01:00
Matthias Melcher 017754453e Typo 2019-02-03 00:49:03 +01:00
Matthias Melcher 2be4d720ab Tooltips hide by themselves after 12 seconds (STR #2584). 2019-02-02 23:56:45 +01:00
Matthias Melcher c97990e517 Removed all shadow lint in header files (STR #2714). 2019-02-02 22:29:53 +01:00
Matthias Melcher 5cd9f6fb80 STR #3323: glutAddMenuEntry now has a const label argument 2019-02-02 22:16:16 +01:00
Matthias Melcher 30733d2d8d Added Fl_Input_::append() method (STR #2953). 2019-02-02 22:04:15 +01:00
Matthias Melcher 452a410a3e STR #2714: remove new shadow lint for MacOS 2019-02-02 17:47:55 +01:00
Matthias Melcher 76668c7cc1 Made Fl_Check_Browser::swap_item public. 2019-02-02 16:28:18 +01:00
Matthias Melcher e06c09fa25 Fixed missing item handling in Fl_Chekc_Browser (STR #3480). 2019-02-02 16:24:10 +01:00
Matthias Melcher 2ce406ab42 Fl_Help_Dialog::load() now returns an error code (STR #3429) 2019-02-02 01:10:24 +01:00
Matthias Melcher a5d55f2e2d STR #3386: Interface to set maximum width of spinner text field. 2019-02-01 18:58:43 +01:00
Greg Ercolano 4f8e07a0cd Doxygen mods for new FL_TREE_SELECT_SINGLE_DRAGGABLE flag
o Added mention of drag+drop / FL_TREE_SELECT_SINGLE_DRAGGABLE
     to list of features on main Fl_Tree doxygen page.

   o Whitespace mods to FL_TREE_SELECT_* to fix doxygen 1.8.5
     whitespace sensitivity that was causing single sentence
     to break into two when spanning multiple "///>" comments
     for last item in an enum (doesn't end in ",")
2019-01-23 16:01:06 -08:00
Albrecht Schlosser 8ba982ae37 Fix Cairo callback drawing (needs flush)
This commit adds a cairo_surface flush after calling the draw callback.
This fixes the test/cairo_test demo program under Windows.

At least under Windows the Cairo callback used in Fl_Cairo_Window
didn't draw anything with current Windows 10, MinGW (32-bit) and
Cairo 1.15.12 for Windows. It worked well under Linux though. Anyway,
the flush should do no harm.
2019-01-12 15:54:57 +01:00