Commit Graph

98 Commits

Author SHA1 Message Date
Albrecht Schlosser
7659192447 Fix one compiler warning and one error on Windows 64-bit.
These warnings and errors were found using gcc 6.1 (64-bit) under Windows.

The error in examples/howto-add_fd-and-popen.cxx (-fpermissive) is due
to the wrong definition of Fl_FD_Handler under Windows 64-bit (FL_SOCKET!).

This should really be fixed in a better way in FLTK 1.4.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11871 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-08-11 12:41:17 +00:00
Manolo Gouy
22596d3f5f Make Fl_Gl_Window::pixels_per_unit() return a float (rather than int) value.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11794 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-06-22 07:45:53 +00:00
Manolo Gouy
dcb26fc188 Remove unneeded extern declaration.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11713 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-05-05 07:42:48 +00:00
Manolo Gouy
e6b4af2c47 Fix how to access clipboard content at program start.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11710 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-05-04 05:59:18 +00:00
Manolo Gouy
d47b431750 Fix potential memory leak under X11 when pasted image is not accepted by the receiving app.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11709 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-05-03 14:28:45 +00:00
Albrecht Schlosser
524ebcef0b Fix example programs after removal of some system #include's.
This adds missing headers that were previously included in other
FLTK header files.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11492 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-31 21:48:15 +00:00
Albrecht Schlosser
29a9e89b39 Remove FLTK_ABI_VERSION from all but *tree*.* and documentation.
Everything related to Fl_Tree and its test and demo programs has been
cleaned.

Documentation needs updates.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11428 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-26 02:55:14 +00:00
Manolo Gouy
2d5dbc3925 Add necessary #include directive
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11334 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-10 13:22:29 +00:00
Manolo Gouy
5866281d4f Set depth of image returned by Fl_Image_Surface::image() back to 3 on Mac OS X.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11119 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-02 08:38:55 +00:00
Manolo Gouy
6f799cb648 Fix shapedwindow test program.
same commit as in 1.3 branch

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11107 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-01 14:24:24 +00:00
Manolo Gouy
3e8556195b Added required header and footer for new source files.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10955 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-10 16:20:37 +00:00
Manolo Gouy
4bc4736eb7 Replaced call to Fl_Window::resize() by call to Fl_Widget::position() that is enough.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10952 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-08 09:39:42 +00:00
Manolo Gouy
22af09dae7 Mac OS: support for high resolution OpenGL windows.
Methods Fl::event_x_pixel() and Fl::event_y_pixel() committed at r.10941
are removed. Instead method Fl_Gl_Window::pixels_per_unit() is added.

The documentation explains in more detail how to write cross-platform
FLTK code supporting high resolution OpenGL windows on retina displays.

The examples/OpenGL3test.cxx app exercises Fl_Gl_Window::pixels_per_unit().

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10945 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-02 09:59:37 +00:00
Manolo Gouy
597ac17bda Mac OS: added Fl::event_x_pixel() and Fl::event_y_pixel() that return the mouse event position
in pixel units that differ from FLTK units for OpenGL windows mapped to a retina display.
On non Mac OS platforms, these are synonyms of Fl::event_x() and Fl::event_y().
The example/OpenGL3test demo program is modified to call these new functions.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10941 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-01 16:17:37 +00:00
Manolo Gouy
848744bcf0 Removed compilation warning.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10877 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-10-28 05:43:38 +00:00
Manolo Gouy
7e025aac22 Added support for OpenGL V3 and higher.
On the X11/MSWindows platforms, this requires external installation of the GLEW library.
This fixes STR#3198 and STR#3257.
Added two new examples programs.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10876 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-10-27 08:40:56 +00:00
Greg Ercolano
5534ce4c57 Small mod to enable highlighting in total cells.
This way someone hitting 'End' can see where the "cursor" is.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10835 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-08-19 21:38:17 +00:00
Albrecht Schlosser
e5d7f8367e Add "deprecated" warning to examples/fltk-versions.cxx.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10785 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-07-12 17:45:13 +00:00
Albrecht Schlosser
333b5268c3 Add FLTK version test program examples/fltk-versions.cxx.
This program can be used to verify that the FLTK runtime system
(ABI version) is binary compatible with the compiled and linked program.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10712 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-04-21 12:44:46 +00:00
Albrecht Schlosser
d24a6b2633 Move RGB image scaling algorithm methods in base class Fl_Image.
See also discussion in fltk.coredev of Sept 07, 2014 and later
with subject "Fixing the nearest-neighbour scaling".


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10377 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-10-14 11:53:51 +00:00
Manolo Gouy
f1b2c92fce STR#3093 continued: deleted the Fl_Shaped_Window class. Instead, added new member function Fl_Window::shape(Fl_Image*)
that gives a non-rectangular shape to a standard window. The benefit is that it works with Fl_Double_Window and Fl_Menu_Window as well.
It also works for free with Fl_Gl_Window on the X11 platform only.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10325 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-09-21 14:10:36 +00:00
Greg Ercolano
36b1ad056a Removed leftover item variable (now unused)
as noted by Albrecht on fltk.coredev today;
was giving warnings with Windows/MinGW builds.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10319 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-09-17 16:27:01 +00:00
Albrecht Schlosser
49e21120b6 Improve clipboard example program, fix compilation warnings.
Use show(argc,argv) to enable command line arguments and colors,
fix indentation, Windows compilation warnings, and change tab
selection color, which was too dark on my Win7 system (low
contrast with tab labels).

I also added #define TAB_COLOR to make changing the tab selection
colors easier, if needed.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10318 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-09-17 11:51:56 +00:00
Manolo Gouy
535fc72035 Fixed header/footer lines
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10262 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-09-02 09:12:32 +00:00
Ian MacArthur
9c583c5bbc Add Manolo's new shapedwindow demo to the Makefile
for the examples folder.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10258 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-08-28 09:13:27 +00:00
Manolo Gouy
8997131377 Added the Fl_Shaped_Window class to support windows of arbitrary shapes.
The new class is fully Doxygen-documented.
Added an example program (example/shapedwindow.cxx) that exercises the new class.
Modified all IDE-supporting files accordingly.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10255 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-08-27 11:55:57 +00:00
Manolo Gouy
90ba43b16c Reset file header and footer.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10173 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-05-24 16:29:39 +00:00
Manolo Gouy
07dd8ba328 Added copy/paste from/to FLTK applications of graphical data.
Added Fl_Image_Surface class to draw into an Fl_Image object.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10159 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-05-23 16:47:21 +00:00
Greg Ercolano
6c90855ead Fix STR#3005; input field wasn't scrolling with table.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10087 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-01-27 06:47:04 +00:00
Greg Ercolano
abdc834705 o Added draw_item_content() to Fl_Tree_Item,
a volatile method that can be overridden by
  subclasses to take drawing control of tree item's content.

  This replaces the old "item_draw_callback()" technique
  added a few months ago as an ABI feature; turned out the
  new technique is a better way to go.

o The examples/tree-custom-draw-items.cxx demo adjusted
  accordingly.

o Added missing docs for some methods that had none,
  including label_[xywh]().

o Added related methods needed to implement this, including:
  	Fl_Tree_Item_Array::replace()
  	Fl_Tree_Item::replace()
	Fl_Tree::root(item)
        Fl_Tree::add() variations
	Fl_Tree_Item::drawbgcolor()/drawfgcolor()


o Carefully worked the FLTK_ABI_VERSION macros so as to be
  ABI compatible with 1.3.0.

o Verified 1.3.0 ABI compatibility with ABI Compliance Checker 1.99.8.5:
  http://ispras.linuxbase.org/index.php/ABI_compliance_checker




git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10071 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-01-20 21:23:24 +00:00
Greg Ercolano
1af599b4af Fixes errors:
warning: deprecated conversion from string constant to 'char*'



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10040 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-01-01 17:13:48 +00:00
Greg Ercolano
911ab3948a Added Fl_Tree sort example.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10035 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-12-16 10:26:44 +00:00
Greg Ercolano
88cea3c82d o Added Fl_Tree::item_draw_callback(), letting one define a custom draw function for Fl_Tree_Item's.
o Added examples/tree-custom-draw-items.cxx to demonstrate its use.
o Fixed small doc error for recent Fl_Tree::get_selected_items()



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10018 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-11-10 04:33:44 +00:00
Greg Ercolano
52d395ad81 Fix problem with Fl_Tree::select_only() invoking select callbacks
before all other items have first been deselected.

Also: added some related demo code to tree-simple to demonstrate
'reselect' callbacks, where a callback can be invoked when an item
that's selected already is 're-selected'.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10015 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-11-06 20:12:08 +00:00
Manolo Gouy
fb38d1cfda Replaced fopen() by fl_fopen() calls so the app works correctly under MSWindows with non ASCII filenames.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10005 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-10-22 09:09:53 +00:00
Greg Ercolano
1f06318f9a Fixes STR #2964.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9926 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-05-22 18:27:05 +00:00
Greg Ercolano
b2a54c3679 o Fixed tab navigation problem with this demo
o Prevent Fl_Output from erasing if value unchanged (allows text selection
  and keyboard nav of the Fl_Output widget..)



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9848 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-03-25 23:20:29 +00:00
Greg Ercolano
5979afb5bf Adding an example to demonstrate how to create an Fl_Browser with icons on the items.
Based on an example I'd added to STR#1739 to demo someone's patch.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9845 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-03-23 18:40:53 +00:00
Greg Ercolano
0ed7405c49 o Modified example to take advantage of new Fl_Table::tab_cell_nav() method
o Changed behavior of example to be more predictable
o Enter key can be used to toggle edit mode
o User can navigate table cells with arrow keys or tab/shift-tab without slipping into cell edit mode
o Fixed other issues with Alt, Shift, multicell selection..



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9842 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-03-23 08:02:02 +00:00
Greg Ercolano
bdd227806f o Simplified example to take advantage of Fl_Table's existing features.
o Replaced hard coded row/col counts.
o Enabled arrow keyboard navigation (setting Fl::OPTION_ARROW_FOCUS)
o Fixed small bug in handle() that was calling Fl_Table::handle() instead of Fl_Table_Row::handle()
  that was preventing Fl_Table_Row's row selection from working..



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9840 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-03-19 21:02:12 +00:00
Greg Ercolano
9c6014f2d5 Small fixes to keyboard navigation and 'current cell' coloring.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9839 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-03-19 10:34:03 +00:00
Greg Ercolano
684ad6910b Added Fl::option() setting to allow arrow keys to navigate table.
This example was written before 1.3, and was dependent on the 'old' FLTK behavior
where arrow keys could be used to navigate widget focus (in addition to Tab).

The 'new' FLTK behavior (1.3 and up) disables arrow key focus nav by default,
which is bad for this program, so we enable the old FLTK behavior with Fl::option().



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9838 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-03-18 20:00:04 +00:00
Greg Ercolano
fdca0bcde1 Small fix to column max width calculation: take into account width of header.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9837 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-03-17 06:06:52 +00:00
Greg Ercolano
84f374f805 Solves STR#2889, increases reusability of SetSize() in example.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9728 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-11-20 18:32:59 +00:00
Matthias Melcher
78039ecb55 Replaced 10302 with 10301 for FLTK_ABI_VERSION
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9706 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-11-06 20:46:14 +00:00
Greg Ercolano
1e9a7ae21d Removed unused argument..
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9590 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-06-12 18:32:36 +00:00
Greg Ercolano
16fb1bad6a Added a new example to demonstrate complex widgets as children
of a tree with custom resizing behavior, selectable contents, etc.

Also demonstrates the need for the new FL_TREE_ITEM_HEIGHT_FROM_WIDGET feature.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9405 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-04-27 02:11:37 +00:00
Greg Ercolano
f58cd169c0 Various mods for Fl_Tree
o Fix STR#2828 (E): {Vertical|Widget} Gap
    o Moved Fabien's reselected methods to Fl_Tree_Prefs,
      return method made const, doxygen, removed underbars from methods
      (to follow general API)
    o Widgets can now appear to the right of labels.
      This can be controlled with item_draw_mode(FL_TREE_ITEM_DRAW_LABEL_AND_WIDGET)
    o Cleaned up Fl_Tree_Item::draw(), Fl_Tree::draw()
    o New methods:
            marginbottom()       -- [ABI feature] extra space below last tree element when scrolling
            widgetmarginleft()   -- [ABI feature] space to left of widget
            usericonmarginleft() -- space to left of usericon
            labelmarginleft()    -- space to left of label
            item_draw_mode()     -- control how items, widget() are drawn
    o Updated Fl_Tree docs, tree-elements.png
    o test/tree: added sliders to test the above new features,
      added "open all" and "close all" buttons
    o Probably other stuff..


TODO: Fix "scroll-beyond-bottom" (STR#2796)
TODO: Fix other items in STR#2828



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9377 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-04-22 13:40:02 +00:00
Greg Ercolano
c7044ca009 Optimizations for when Fl_Tree is a container of FLTK widgets.
o Don't draw FLTK widgets outside tree's viewport.
   o Added tree-as-container.cxx example program, demos tree 
     w/50k tree items each with 6 widgets (300k total)



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9356 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-04-18 15:20:20 +00:00
Greg Ercolano
db2cca57f1 Added table-with-keynav.cxx to emphasize keyboard/mouse selection
(as per a question on the newsgroup about how to do this..)


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9344 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-04-14 19:45:50 +00:00