Commit Graph

1724 Commits

Author SHA1 Message Date
Manolo Gouy
31fcd84ca9 Rewrite all window icon-related Fl_Window API with the window driver approach.
It seems this allows not to #include <windows.h> in the public header files.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11342 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-10 22:26:40 +00:00
Manolo Gouy
d4768073fa Implement non-rectangular windows using the Window Driver mechanism.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11336 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-10 17:19:34 +00:00
Albrecht Schlosser
bcb756da38 Improve documentation of Fl_Valuator class.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11318 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-08 13:51:01 +00:00
Matthias Melcher
ca54afe5f4 Add missing PicoSDL functions for command line build.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11313 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-08 09:15:50 +00:00
Matthias Melcher
00750d4c33 Add very basic graphics support to PicoSDL.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11311 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-08 00:35:00 +00:00
Matthias Melcher
b73bf4a73e Fixes for MSWindow
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11310 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-07 21:56:12 +00:00
Matthias Melcher
c26880e2d2 Fixes for X11
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11309 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-07 21:45:55 +00:00
Matthias Melcher
12eef8e64d Separating Fl_X and Fl_Window_Driver in Fl_Window.
This was needed because Fl_X only exists if a window is mapped, but we need the driver from the very beginning. Adding Fl_X in the ctor would create hidden bugs. Strategy is now to remove system specific stuff from Fl_X and move it one-by-one to Fl_Window_Driver while maintaining a working code base. X11 and WIN32 fixups will follow in 15 minutes.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11308 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-07 21:15:25 +00:00
Matthias Melcher
b6b99d84e9 Fix PicoSDL.
Fixed some issues with Image_Surface and Copy_Surface for PicoSDL. Still have to virtualize the driver concept.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11307 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-07 20:50:18 +00:00
Manolo Gouy
5ca73da7b3 Driver-based Fl_Double_Window implementation - continued.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11304 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-06 22:22:22 +00:00
Manolo Gouy
acfeee6d78 New, driver-based Fl_Double_Window implementation.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11303 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-06 21:33:07 +00:00
Manolo Gouy
e7a0f7c5d0 Complete the platform-neutral implementation of fl_XXX_offscreen() functions.
It is necessary to have a stack of the fl_begin_offscreen() calls, so that nested
such calls apply fl_end_offscreen() to the matching fl_begin_offscreen().

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11289 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-05 07:04:20 +00:00
Manolo Gouy
a46e324405 Fix a problem seen in fluid on the Mac OS platform.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11285 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-04 22:30:18 +00:00
Manolo Gouy
750c372b29 Remove Fl_Copy_Surface::newPlatformSurface() that does not do much.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11279 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-03 19:25:10 +00:00
Manolo Gouy
8bd3ea6c8a A hopefully clearer implementation of the fl_XXX_offscreen() functions.
The Xlib driver is tricky because it uses two kinds of offscreen buffers.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11277 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-03 08:32:16 +00:00
Matthias Melcher
fcdc7f1212 Made Pico/SDL setup compile and run some minimal code.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11274 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-03 00:07:17 +00:00
Manolo Gouy
2d52a3494d Rewrite Fl_Image_Surface with full separation of public API and platform-specific implementation.
File Fl_Image_Surface.cxx still needs to be cut in several platform-specific files.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11273 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-02 22:10:03 +00:00
Albrecht Schlosser
35c4ae5527 Don't expose X11 headers in user space any more (mostly).
Platform headers should not be #include'd in public FLTK header files,
so that user space is not polluted by platform specific definitions.

See discussion and test file in discussion in fltk.general:
https://groups.google.com/forum/#!topic/fltkgeneral/gzmdRk2LvAk
https://groups.google.com/d/msg/fltkgeneral/gzmdRk2LvAk/EOe314ChBgAJ

This commit fixes FL/fl_utf8.h to #include X11 headers only if compiled
in the FLTK library (same as in FLTK 1.3.4, svn r 11266).

Todo (FLTK 1.4): Remove more unnecessary (unwanted) system header #include
statements from FL/x.H and other public header files.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11268 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-02 12:40:53 +00:00
Manolo Gouy
39fdbecd16 Finalize new implementation of Fl_Copy_Surface.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11267 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-02 12:36:37 +00:00
Albrecht Schlosser
df94673b61 Fix C++ comment in C header file + typos.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11265 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-02 10:53:25 +00:00
Matthias Melcher
53859c584f Add support for SDL as a base library on OS X.
This commit adds the basic setup in CMake to allow SDL as a base
library for FLTK on OS X (and probably for other platforms as well).

The SDL library driver set is derived from yet another new driver
set named 'Pico'. 'Pico' is a base class for a driver that will
allow porting of FLTK with the tinyest amount of effort. This 
implementation of the SDL driver shall be documented very well
to explain the porting process.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11262 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-02 00:54:37 +00:00
Manolo Gouy
a3d54d5d6c Correct the headers included by FL/Fl_Copy_Surface.H, following the new implementation of this class.
This change requires other changes in header inclusions by class Fl_Image_Surface.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11258 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-01 18:07:12 +00:00
Manolo Gouy
7decb3d3b2 Rewrite the Fl_Copy_Surface class with strict separation of public API and platform-related code.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11257 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-01 17:20:25 +00:00
Matthias Melcher
95824506fe Moved timer code to screen drivers. Not sure if this should be in System Drivers instead.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11253 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-01 00:54:21 +00:00
Albrecht Schlosser
d67e9ccb73 Fix compiler warnings (STR #2988) - final commit.
This commit includes all fixes from branch-1.3 (svn r 11243) and additional
fixes for warnings that crept in during the porting efforts, particularly
C++ ("//") comments in C and included header files, and some more.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11246 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-27 17:27:21 +00:00
Manolo Gouy
0b406baa0f Rewrite all fl_XXX_offscreen() functions so they use an Fl_Image_Surface object.
These functions become therefore platform-independent.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11241 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-27 13:52:27 +00:00
Manolo Gouy
81bd759b53 Remove Fl_Printer::driver() that is already implemented in a parent class.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11236 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-26 20:27:41 +00:00
Manolo Gouy
169e422fee Make the Fl_Widget_Surface's constructor protected.
Because this object is not functional in itself, but needs to be subclassed.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11235 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-26 17:45:13 +00:00
Manolo Gouy
350cca5446 Use the FL_DOXYGEN preprocessor variable to remove all Doxygen warnings
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11232 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-26 17:17:20 +00:00
Manolo Gouy
cf4825eedf Move PostScript-support files to src/drivers/PostScript/
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11222 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-26 15:24:08 +00:00
Manolo Gouy
53993d4bd1 Add virtual destructor to Fl_Screen_Driver.
This is safer because Fl_Screen_Driver has virtual member functions and derived classes.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11221 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-26 13:41:48 +00:00
Manolo Gouy
682f950796 Create class Fl_Widget_Surface that supports draw(Fl_Widget *, int, int).
This simplifies the implementation of Fl_Copy_Surface and Fl_Image_Surface
which now are made to derive from Fl_Widget_Surface.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11220 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-26 12:51:47 +00:00
Albrecht Schlosser
44f203e275 Fix Linux and Windows compilation error.
Note: class Fl_Device has been removed.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11218 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-26 11:13:43 +00:00
Manolo Gouy
7f17b915db Remove the useless pseudo run-time type information supported by the Fl_Device class.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11217 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-25 17:56:48 +00:00
Manolo Gouy
31793cbdba Remove the global variable fl_mask_bitmap - put it in the graphics driver's virtual API.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11216 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-25 10:14:28 +00:00
Manolo Gouy
6097c134d8 Avoid static initializers to allow FLTK usage in static initializers.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11213 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-24 08:07:30 +00:00
Manolo Gouy
941c301ceb Fix Fl_RGB_Image::uncache() and Fl_Bitmap::uncache().
It is not possible to use fl_graphics_driver in these functions
because when they are called *fl_graphics_driver may have been
deleted. A solution is to use  Fl_Display_Device::display_device()->driver()
instead which is always valid.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11212 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-23 20:37:22 +00:00
Matthias Melcher
90c42cac3e WinAPI fixes
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11198 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-19 22:46:00 +00:00
Matthias Melcher
093c0c7f73 Fixes for X11
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11197 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-19 22:43:40 +00:00
Matthias Melcher
399501783c Add example code to Fl_Window_Driver.
Some refactoring of a take_focus() function into driver structures (not too happy with it, because it has some kind of bug fix. However, shouldn't *all* Fl_Windows always have an FL_Window_Driver?)

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11196 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-19 22:37:41 +00:00
Matthias Melcher
052401a34e Instantiate the right Fl_Window_Driver.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11195 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-19 22:21:02 +00:00
Matthias Melcher
22d302e242 Add System Driver and Window Driver.
Adding two new driver types for each platform. Fl_..._System_Drivers exist once per application and provide an interface for to file and filename handling, timers, locking, multithreading, etc. .

 The Fl_..._Window_Driver class is instantiated once for every window in the system and corresponds closely to (and actually inherits from) Fl_X. The difference now is, that there is one Fl_X/Fl_Window_Driver base class, and one platform version that derives from it.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11193 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-19 21:41:02 +00:00
Manolo Gouy
1b5e231c90 Rename Fl_Graphics_Driver::set_gc(void*) to gc(void*) and Fl_Graphics_Driver::get_gc() to gc().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11191 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-19 12:40:24 +00:00
Manolo Gouy
6d766cc681 Update the fl_gc global variable also when Fl_Graphics_Driver::set_gc() is called.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11190 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-19 11:52:45 +00:00
Manolo Gouy
f33b45f1d3 Remove all uses of the fl_gc global variable. Towards a clean driver model.
fl_gc remains usable by the application as a hook into the system.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11189 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-18 16:21:51 +00:00
Manolo Gouy
ec290bc9e0 Remove Fl_X::q_fill_context() used only once.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11171 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-14 06:36:20 +00:00
Manolo Gouy
6439f34ee7 Remove Fl_X::q_clear_clipping() used only once.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11170 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-14 06:19:26 +00:00
Albrecht Schlosser
8630bdbed2 [Cairo] Remove part of the dependency of FL/Fl.H on config.h.
To use Fl_Cairo_Window one did not only need to configure with --enable-cairo,
but also needed to #include <config.h> before #include <FL/Fl.H>.

This commit removes the smaller part of the dependency of the public header
file FL/Fl.H on config.h. This needs a better solution in FLTK 1.4.0.

The user still needs to define FLTK_HAVE_CAIRO _before_ #include <FL/Fl.H>.

Note: This is not compatible with fluid, since fluid _always_ includes
FL/Fl.H as the first statement in generated header files.

See also the discussion in fltk.general:

https://groups.google.com/d/msg/fltkgeneral/_C1OJhMLQl0/pHUFtz9SCwAJ

Note: also fixed a typo in src/drivers/X11/Fl_X11_Screen_Driver.cxx


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11168 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-13 18:02:17 +00:00
Matthias Melcher
d8f96b579d Moed Fl::visual and System_Scheme to the driver
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11166 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-13 16:12:57 +00:00
Manolo Gouy
4af616a7a2 New member function Fl_Quartz_Graphics_Driver::draw_CGImage() used internally for all image drawing.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11165 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-13 14:48:13 +00:00
Matthias Melcher
c95169ea49 Refactoring get_system_colors() into Fl_Screen_Driver
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11164 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-13 13:17:29 +00:00
Matthias Melcher
5d1df0e789 Details on PORTME items. Move fl_parse_color() to screen drivers.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11163 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-13 12:57:00 +00:00
Manolo Gouy
bf7c25a1d7 Add Fl_Shared_Image *Fl_Image_Surface::highres_image() to draw into high-resolution bitmap.
Also, change arguments of void Fl_Window::capture_titlebar_and_borders() from
Fl_RGB_Image to F_Shared_Image so, in the future, scaled images having
a drawing size distinct from a pixel size can be returned, to support
high-resolution displays.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11159 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-12 16:17:40 +00:00
Manolo Gouy
bc83464b64 Add Fl_Shared_Image *Fl_Image_Surface::highres_image() to draw into high-resolution bitmap.
This new member function returns a high resolution bitmap image scaled to the adequate
 drawing size. This allows to create a bitmap image able to fill all pixels of a high resolution
 display. This is functional only for the Mac OS platform. On other platforms, 
 the new member function returns an unscaled bitmap.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11158 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-12 11:49:32 +00:00
Matthias Melcher
50ee3bcd66 Mark places that need to be refactored with // PORTME:
Searching for __APPLE, WIN32 or X11 did give me many false results. I instead marked most ifdef's that I would like to get rid of with the text // PORTME:, so they can be easily found by a global search.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11155 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-11 12:02:36 +00:00
Matthias Melcher
9a0be2c8df Move platform part of Fl::flush()
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11153 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-11 00:10:49 +00:00
Matthias Melcher
5aa3fc9655 Moving fl_beep into screen driver.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11152 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-10 22:43:45 +00:00
Matthias Melcher
c3b3105720 Fix Screen Driver implementation for X11
- moved stuff around to fit X11 file layout
- fixed a few Cocoa variables


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11149 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-10 20:26:51 +00:00
Matthias Melcher
e83bc2527f Basic Screen Driver Structure. LIMBO!
Creating the basic structure for a screen driver system.
OS X works X11 and WinAPI are in limbo and will be fixed in the next hour or so.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11148 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-10 19:49:35 +00:00
Matthias Melcher
94f0278d47 Porting efforts, minimal Android stuff, cleanup.
- Moving code around for Fl_Double_Window, but not yet happy
- Tested CMake for Android cross compilation. Very happy!

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11142 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-09 21:54:38 +00:00
Matthias Melcher
7a0fe79f99 Fix MSWindows issues from last refactoring.
During the last refactoring on OS X, a few thing were relocated into new files, mainly to avoid ifdef's and use C++ inheritance in a driver system instead. This commit makes FLTK compile again under VC2013 with IDE files generated by CMake.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11141 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-09 20:15:04 +00:00
Matthias Melcher
4272f32b6b Fix typos for Linux from previous check-in.
- The previous check-in for OS X moved a few files and symbols around
- Fixing for Linux what I broke in my previous commit
- Fixing stuff for MSWindows next
- CodeBlocks IDE file generation via CMake works



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11140 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-09 18:52:21 +00:00
Matthias Melcher
e02b3631b3 Remove two files.
- two files were checke in that were misnamed. Removing.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11139 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-09 18:26:05 +00:00
Matthias Melcher
41e22f2f39 Move ifdef's in RGB_Image into driver system.
- change image caching variable types to uintptr_t
- added driver function to uncache image data
- cleaning up (Xlib and GDI will likely throw syntax errors. Trying to fix ASAP)


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11138 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-09 18:25:02 +00:00
Matthias Melcher
dee0f5a824 Strip Graphics Driver related ifdefs.
- removed more ifdef's from the graphics drivers
- moved functionality into the driver files themselves
- updated CMakeList.txt



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11137 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-09 12:33:49 +00:00
Albrecht Schlosser
99a6faa513 Fix valgrind warning (uninitialized variable) in Fl_Window.
Regression only with FLTK_ABI_VERSION >= 10303 (since FLTK 1.3.3).
Was fixed in FLTK 1.3.4.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11136 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-09 01:48:08 +00:00
Manolo Gouy
a278a478fd New CMake option OPTION_PRINT_SUPPORT - continued
The previous version (r11127) had FL/Fl_Printer.H include config.h
That is not allowed. This commit repairs that.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11130 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-06 05:56:38 +00:00
Manolo Gouy
a8a777ff26 New CMake option OPTION_PRINT_SUPPORT turned ON by default
When the option is off, file config.h defines NO_PRINT_SUPPORT 
which in turn produces a library without print support, that is, 
class Fl_Printer does nothing.
When off, the FLTK library is somewhat smaller.
Can be turned off only when the X11 library is used.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11127 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-05 16:34:42 +00:00
Matthias Melcher
6e16d033ae Add fl_focus_rect function to driver.
Focus rectangles are dotted lines. The default implementation uses the dotted line style, However, for systems without line stye, we draw many dots instead.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11110 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-01 23:06:14 +00:00
Matthias Melcher
7440ea209a Moved fl_create_bitmask and fl_delete_bitmask functions into driver structure. Tested on OS X.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11100 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-31 13:51:01 +00:00
Albrecht Schlosser
0a6be0a83f Fix compiler warnings (STR 2988), porting from branch-1.3.
This commit is the accumulated patch introduced in branch 1.3
in svn r 11094, 11095, and 11096.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11097 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-31 04:33:54 +00:00
Albrecht Schlosser
00dd296ff2 Bump version numbers for next minor release: FLTK 1.4.0.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11088 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-30 00:56:42 +00:00
Matthias Melcher
f5a6b10f46 Updated OpenGL Display Device
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11084 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-29 15:56:29 +00:00
Ian MacArthur
5aefd057d1 Non-changing changes... Attempting to keep the porting branch somehwat in-sync with doc changes in main 1.3.x
None of these changes alter the actual code.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11076 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-28 17:16:32 +00:00
Manolo Gouy
1c3c544edf Added Fl_Window::capture_titlebar_and_borders a new private member function
that triggers a warning when FL_PORTING is ON and with a default platform-neutral
implementation.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11074 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-28 11:51:07 +00:00
Ian MacArthur
e2cc1a80f0 Some trivial adjustments to support building
under Win32/mingw with the configure/make
on Win7 with Msys.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11073 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-28 11:18:01 +00:00
Matthias Melcher
780f43a4f1 Removed all references to Quartz driver files from library headers in Xcode. Works in Xcode.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11065 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-27 22:35:58 +00:00
Manolo Gouy
8e3f66073f 1) Added a new way to detect whether the drawing operation is using the platform's native driver
and whether we are printing:  virtual int Fl_Graphics_Driver::has_feature(driver_feature feature)
This is also because it is not convenient to derive a printer-specific driver with its own
implementation of virtual functions when this implementation differs only in one line of code.

2) Solved the problem of inclusion of non public header by the public header FL/Fl_Device.H:
bracket this with #if FL_LIBRARY / #endif so this non public header is included only when building
FLTK itself.

3) Removed several (but not all) of the FLTK_ABI_VERSION guards that are no longer
useful for code targeting FLTK 1.4.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11063 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-27 18:11:20 +00:00
Matthias Melcher
1c4661c481 Fixed a few comments
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11062 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-26 22:39:47 +00:00
Matthias Melcher
6694780c2d Moving GDI/WIN32 files to new directroy structure
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11058 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-26 21:10:49 +00:00
Matthias Melcher
ac275b89bc Moved Quartz graphics driver to the new naming scheme
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11057 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-26 21:01:09 +00:00
Matthias Melcher
222538baad Hacky version of font_x and font_xft, compiles on Fedora Linux
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11054 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-26 20:31:43 +00:00
Matthias Melcher
12e85b882a Fixed for Linux
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11049 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-24 21:06:21 +00:00
Matthias Melcher
6a12d16750 Extracting OpenGL text calls. This is a minimum implementation for testing. Don;t worry. I have a cunning plan for rendering perfect antialiased text into OpenGL contexts quickly on all platforms.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11048 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-24 20:58:12 +00:00
Matthias Melcher
60ec452d04 Reorganizing color drawing code.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11045 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-24 16:22:50 +00:00
Matthias Melcher
be66d89def Added OpenGL support for dotted lines. Active widget now renders focus rectangle correctly.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11039 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-23 21:54:30 +00:00
Matthias Melcher
474de78ac1 OpenGL arc and pie drawing (Mmmmh, pie!)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11036 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-23 21:02:49 +00:00
Matthias Melcher
de12eddb59 Added OpenGL implementation of fl_vertex calls. Compiling and linking, but functionality untested.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11035 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-23 20:22:50 +00:00
Matthias Melcher
d1d136fa1b Fixing vertex implementation
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11032 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-23 00:39:33 +00:00
Matthias Melcher
28b94ce5e7 Hiding fl_vertex form public view
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11031 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-23 00:24:29 +00:00
Matthias Melcher
e5e956b86c Removing Xlib rect calls from public view.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11028 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-22 12:03:01 +00:00
Matthias Melcher
5231785cdd Fixed two typos to make things run under MSWindows again.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11024 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-21 17:03:16 +00:00
Matthias Melcher
4d37623dbb Removed MSWindows GDI graphics driver from public view.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11023 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-21 16:47:42 +00:00
Matthias Melcher
84e9be966d Remove Quartz graphics driver from public view.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11020 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-21 16:14:01 +00:00
Matthias Melcher
3b3ed8d79c Moving already cleaned up methods within class to make it easier to see methods that were not cleaned yet.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11019 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-21 15:49:03 +00:00
Matthias Melcher
7d0cf9299a Wrapping up fl_rect.cxx implementation. Introducing 3 moer virtual functions to Fl_Graphics_Device - will that break binary compatibility?
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11017 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-20 21:40:12 +00:00
Matthias Melcher
d34974ace7 Reorganized all integer line and polygon drawing functions
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11016 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-20 15:21:11 +00:00
Matthias Melcher
d3bd470734 Re-ordering a few more functions. It's nice to see how clear functions like rectf() become without the #ifdef mess.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11013 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-20 00:39:46 +00:00
Matthias Melcher
bd78fa1c48 Starting to cut out individual graphics function, so that multiple drivers can coexist (cfg_gfx). Found the missing pixels in the OpenGL gfx driver.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11012 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-20 00:11:43 +00:00
Matthias Melcher
9872f74053 Fixed typos for Linux compilation. OpenGL driver compiles and somewhat works, except for text rendering (as expected).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11009 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-19 00:46:54 +00:00
Matthias Melcher
b86f2f735a Replaced static initializer with Fl_OpenGL_Display_Device.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11008 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-18 22:55:46 +00:00
Matthias Melcher
884928f68c Fixed stupid typo in variable name
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11007 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-18 21:23:54 +00:00
Matthias Melcher
eb8207ff1b Trying to create a more detaild way to configure the library, added runtime information, added an OpenGL graphics driver that renders a button on top of an OpenGL window (see test/cube).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11006 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-17 00:44:07 +00:00
Manolo Gouy
eeb65bef23 1) Replicate in branch-1.3-porting all recent changes of branch-1.3
2) Advance branch-1.3-porting with new function Fl_X::capture_titlebar_and_borders()
that contains all the platform-specific code of all operations related to drawing
window borders and title bars. What is platform-specific and what is not
is therefore much clearer, to ease porting.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11002 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-10 19:08:16 +00:00
Matthias Melcher
b1520373ae Created pseudo code for all FL_PORTED section so that FLTK compiles and links (Xcode, hello, other C flags: -D FL_PORTING -U __APPLE__ -U __APPLE_QUARTZ__)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@10993 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-04 23:09:32 +00:00
Albrecht Schlosser
d32b291a72 Fix typos in #pragma FL_PORTING.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@10991 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-04 13:40:57 +00:00
Matthias Melcher
acf6c881d3 Updated platform specific #if's to report unimplemented code when compiling with FL_PORTING defined and WIN32 and __APPLE__ undefined>
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@10989 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-03 22:54:29 +00:00
Manolo Gouy
6eb4354996 Doc change only: clearly document that FLTK has at any time a current drawing surface and a current graphics device.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10976 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-22 10:15:28 +00:00
Manolo Gouy
309a76e81c Trying to find how to best write the // "$Id$" lines in src/Fl_File_Chooser.fl
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10973 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-19 06:35:26 +00:00
Manolo Gouy
43bfe74b25 Running FLTK in static initializers (cont'd):
1) Changed the way fluid attaches images to widgets and menu items so
it is compatible with running fluid-generated code containing such images
in a static initializer. Images are now attached calling a function:
  widget->image( image_function_name() );
and this function is defined before in fluid-generated code as:
   static Fl_Image *image_function_name() {
     static Fl_Image *image = new image_type(......);
     return image;
   }

2) Changed src/Fl_File_Chooser.fl so the source code generate by fluid
from it is compatible with running in a static initializer.

3) Changed src/Fl_File_Chooser.cxx and FL/Fl_File_Chooser.H
to the result of running fluid on src/Fl_File_Chooser.fl 

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10972 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-18 18:56:58 +00:00
Manolo Gouy
1b548ae1d5 Running FLTK in static initializers (cont'd):
the static method Fl_Surface_Device::surface() can be called before main() starts.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10970 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-16 07:18:34 +00:00
Manolo Gouy
cf14f77a90 Allowing to use FLTK objects in static initializers (cont'd).
For fl_file_chooser() and Fl_File_Chooser objects.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10961 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-13 09:36:14 +00:00
Albrecht Schlosser
8a826c257d Fix Doxygen docs of new method Fl_Gl_Window::pixels_per_unit().
Moved the docs up (before #ifdef ...) so they are also generated on
Mac OS X platforms.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10946 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-02 11:56:25 +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
30e572985b Make clear in the doc that methods Fl_Gl_Window::pixel_w() and pixel_h()
dynamically adjust to windows moved between high and low resolution displays.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10944 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-01 18:40:51 +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
689d19cda3 Added necessary forward type declaration.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10934 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-11-26 17:28:55 +00:00
Manolo Gouy
ff65dbb5ae Mac OS only: added the Fl_Mac_App_Menu::custom_application_menu_items() method
that allows customization of the application menu on the Mac platform.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10932 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-11-26 16:34:58 +00:00
Manolo Gouy
b0696db39a Added new method Fl_Copy_Surface::draw_decorated_window()
that copies a window to the clipboard together with its title bar and borders.
This requires very little new code because the capture of window decorations
is shared with the Fl_Paged_Device::print window() method.
The device test program is changed to call the new method.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10928 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-11-24 14:26:52 +00:00
Manolo Gouy
511ec0bb3d Mac OS: have Fl_Paged_Device::print_widget() print top-level windows with
rounded bottom corners as they appear on screen.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10916 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-11-19 16:33:44 +00:00
Manolo Gouy
0d2517331c Mac OS only: simpler definition of the pdfdata private member of the Fl_Copy_Surface class.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10915 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-11-18 15:53:46 +00:00
Manolo Gouy
da6dff26fc Changed Fl_Multi_Browser behaviour on the Mac OS platform so multiple selection
is done by cmd-click rather than ctrl-click, as is expected on this platform.
Also, updated the documentation to describe the effects of ctrl-, shift- and cmd-clicks.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10882 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-11-05 17:54:16 +00:00
Manolo Gouy
1c16aaced2 The ATSU API (old API for text formatting) has been removed from SDK 10.11.
This fixes STR#3262

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10878 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-11-03 14:36:36 +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
Albrecht Schlosser
43e4f8a661 Fix doxygen comment of Fl::abi_check()
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10875 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-10-24 09:55:18 +00:00
Manolo Gouy
04d0d5f6be Documentation: explicit what #include commands are needed to use
the Fl_Gl_Window::mode(int *) method.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10873 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-10-21 17:13:11 +00:00
Manolo Gouy
1095d4db41 Mac OS and SDK 10.3: #define's necessary for gl_draw.cxx are better in the library source
than in the public header file FL/gl.h

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10872 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-10-21 14:37:27 +00:00
Manolo Gouy
6fc9f11eb2 Doc: use plural with 'data'.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10871 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-10-21 06:12:32 +00:00
Manolo Gouy
a3b43d569c Documentation: added warning that Fl_Gl_Window::mode(const int * a), although public, is
subject to change, and that Fl_Gl_Window::mode(int a) is the adequate stable API.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10862 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-09-18 15:29:30 +00:00
Manolo Gouy
d7094249f0 Documentation: better descriptions of Fl_Gl_Window::mode() and Fl_Gl_Window::can_do().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10857 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-09-07 15:48:55 +00:00
Manolo Gouy
dc01deda00 Mac OS platform: Allow compilation of user code with non-Apple compiler.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10853 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-09-05 15:36:28 +00:00
Manolo Gouy
5ea322679c Moved Mac-specific type declaration to mac.H
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10846 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-08-28 14:04:21 +00:00
Manolo Gouy
16e08ce3a2 Programs compiled with pre-10.7 SDKs can now fully use retina displays.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10844 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-08-27 12:31:46 +00:00
Albrecht Schlosser
bb3f67ecf7 Avoid strange warnings/error messages from 'make depend'.
Warning was for instance:
"../FL/Fl_Spinner.H":53:  FLTK_ABI_VERSION >= 10301^--- expecting )

Maybe a g++ bug ?


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10839 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-08-24 15:47:08 +00:00
Manolo Gouy
cc296e50b0 Restore compilability with Mac OS 10.3
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10837 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-08-24 07:29:17 +00:00
Albrecht Schlosser
0650563c7b Document Fl_Text_Editor::global_key_bindings and related methods.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10830 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-08-13 10:07:17 +00:00
Manolo Gouy
1e6bc1c73a Improved Mac OS implementation of Fl_Window::wait_for_expose().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10828 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-08-11 11:47:21 +00:00
Manolo Gouy
e9888e09c5 Fixes descriptive comment of the mapped_to_retina_ class variable.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10827 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-08-09 12:56:24 +00:00
Manolo Gouy
cc36ab53b3 - Implement Fl_Window::wait_for_expose() for Mac OS:
The -[NSWindow makeKeyAndOrderFront:] message used to make the window appear on the screen,
but, starting with 10.10 (approximately), this changed, and it became necessary to query for events
for a new window to appear on the screen. With 10.11 two event messages are needed.
The solution is therefore to implement Fl_Window::wait_for_expose().

- Calling NSDisableScreenUpdates()()/NSEnableScreenUpdates() before and after window updates
greatly accelerates multi-window update operations.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10826 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-08-07 12:55:56 +00:00
Albrecht Schlosser
eb7d55e218 Document Fl_Window::show() calling Fl_Group::current(0).
Also fix indenting in src/Fl_win32.cxx.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10820 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-07-27 18:13:46 +00:00
Greg Ercolano
a165f1ca3c Fixes STR#3177; item_pathname() supports FL_SUBMENU_POINTER,
and small doc mods.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10819 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-07-26 21:10:18 +00:00
Albrecht Schlosser
ff1d783162 Add new event name FL_ZOOM_GESTURE to FL/names.h.
I also added some placeholders for yet to be defined events, just in
case they are forgotten to add in FL/names.h. This appears to be better
than to reference a non-existing array element (string pointer).


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10812 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-07-22 23:34:32 +00:00
Manolo Gouy
1f487ece5d It's possible to transmit an Fl_Shared_Image to Fl_Window::shape(const Fl_Image*) at no cost.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10809 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-07-22 11:26:27 +00:00
Albrecht Schlosser
1b0e984a8f Documentation updates (part of STR #2751).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10807 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-07-21 13:55:13 +00:00
Albrecht Schlosser
98ef8d52c9 Fix and improve Fl_Table docs, fix some other typos.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10799 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-07-18 23:59:54 +00:00
Manolo Gouy
1cf24ff074 Restore compilability with Mac OS SDK 10.3 and above
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10798 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-07-18 07:18:15 +00:00
Albrecht Schlosser
9adb181156 Make FL_ABI_VERSION configurable (STR #3161).
This commit adds the configure option --with-abiversion and the CMake option
OPTION_ABI_VERSION. Both options can be set e.g. to 10304 to build with
FL_ABI_VERSION = 10304 (FLTK 1.3.4).

For IDE builds there are new files ide/<IDE-NAME>/FL/abi-version.h that
can be edited to change the ABI version before the FLTK lib is built.
Note that this file MUST be copied to the include/FL directory if the
IDE-built library is to be installed.

The default is FL_ABI_VERSION = FL_MAJOR*10000 + FL_MINOR*100 + 0, i.e.
10300 for all FLTK 1.3.x versions to keep binary compatibility (ABI).

Todo: more tests and more documentation.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10786 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-07-12 19:23:55 +00:00
Albrecht Schlosser
c9d8e0feaa Update fluid .fl files and generated code - remove trailing white space.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10783 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-07-09 02:09:33 +00:00
Albrecht Schlosser
4cea3aee0c Fix box background drawing for deactivated widgets (STR #2907).
Two new static methods have been introduced:

  - Fl::box_color(Fl_Color c) returns the bg color dependent on the
    widget's state (inactive_r()).
  - Fl::set_box_color(Fl_Color c) sets the correct bg color dependent
    on the widget's state by calling fl_color(Fl::box_color(c)).


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10781 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-07-09 00:10:44 +00:00
Manolo Gouy
634ede015d Define NSInteger in FL/mac.H when needed, so it's available to all source files.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10779 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-06-30 02:23:26 +00:00
Albrecht Schlosser
2778ac6e45 Add documentation of Fl_Scroll::resize(...), fix some more Fl_Scroll docs.
As noticed in fltk.general, documentation of Fl_Scroll::resize() did not
exist, hence the documentation shown was that of the parent class Fl_Group,
which was definitely wrong.

Some more minor documentation fixes have also been applied. No code changes.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10776 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-06-28 13:05:29 +00:00
Albrecht Schlosser
c4c7767fd8 Remove more superfuous comments, fix one typo.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10763 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-06-16 13:42:25 +00:00
Albrecht Schlosser
5573c35ff1 Fix spelling errors and improve documentation.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10759 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-06-15 20:24:41 +00:00
Manolo Gouy
d408133397 Mac OS: make Fl_Display_Device::high_resolution() private because it is not
intended to be part of the FLTK public API.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10746 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-06-10 10:32:09 +00:00
Manolo Gouy
2987b6a02b Added void Fl_Sys_Menu_Bar::setonly(Fl_Menu_Item*) member function.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10738 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-05-25 05:46:04 +00:00
Greg Ercolano
42b4db0801 Moved docs for fail() from prototype in Fl_Image.H -> implementation in Fl_Image.cxx.
Also added coded example to assist app programmers in usage. (Matt: feel free to modify
the example code as needed)



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10734 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-05-24 18:19:24 +00:00
Greg Ercolano
9632e422d3 Fixes these errors on Linux:
../FL/Fl_Image.H:58: error: ISO C++ forbids initialization of member 'ERR_NO_IMAGE'
../FL/Fl_Image.H:58: error: making 'ERR_NO_IMAGE' static



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10733 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-05-24 17:19:57 +00:00
Matthias Melcher
0539009c67 STR #2873: new function Fl_Image::fail() that returns 0, ERR_NO_IMAGE, ERR_FORMAT, or ERR_FILE_ACCESS to make life easier when loading images.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10732 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-05-23 23:42:26 +00:00
Lauri Kasanen
03f69c0dd5 Add support for Fl::copy(..clipboard = 2..)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10731 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-05-18 09:10:06 +00:00
Manolo Gouy
f9fa74e3af Restored the possibility to call Fl::set_font()
in a global initializer (before main() starts).


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10726 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-04-28 22:02:48 +00:00
Greg Ercolano
1c7daeca63 Doc clarifications for Fl_Image methods:
> inactive()
	> desaturate()
	> color_average()



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10725 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-04-28 20:51:32 +00:00
Greg Ercolano
81654d15eb Fl_Tree: improved draw() behavior when deactivated;
icons draw deactivated now. 

test/tree: Added 'deactivate tree' button to test
deactivating entire widget.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10723 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-04-28 19:39:53 +00:00
Manolo Gouy
0b3471658d Documentation: replaced characters by bytes as the correct unit
of Fl::event_length() when pasting text.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10678 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-04-05 20:05:46 +00:00
Albrecht Schlosser
c2601505bb Documentation updates on callbacks and Fl::readqueue().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10677 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-04-05 09:04:44 +00:00
Albrecht Schlosser
579783def0 Fix doxygen docs of previous commit.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10675 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-04-04 16:51:37 +00:00
Albrecht Schlosser
36385a4b56 Add Fl::abi_check() method to test if the runtime ABI version is correct.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10674 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-04-04 16:21:52 +00:00
Albrecht Schlosser
94ddbc1995 Add FL_ABI_VERSION, FL_API_VERSION, Fl::abi_version(), and Fl::api_version().
The new constants are the API and ABI versions in int format, resp.
The new static methods return the compiled-in API and ABI versions, resp.

FLTK_ABI_VERSION is deprecated, but still defined (same as FL_ABI_VERSION).


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10673 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-04-04 15:36:04 +00:00
Albrecht Schlosser
f05b677a4b Fix Windows 64-bit compilation warnings (STR #2813).
Thanks to Csaba for providing a patch.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10670 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-04-04 09:52:53 +00:00
Albrecht Schlosser
762df84207 Fix copyright and remove obsolete comment.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10665 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-04-03 11:04:43 +00:00
Albrecht Schlosser
e11571a373 Fix compiler warning on Windows 64-bit (STR #2813).
Thanks to Csaba for finding this and providing a patch.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10664 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-04-03 10:57:33 +00:00
Matthias Melcher
d44b518c07 Added FL_ZOOM_GESTURE gesture for OS X.
Sadly, I have not commited any code in years, and despite the rumour that
I was hit by a train, or worse, move on to Qt, here I am, commmiting unwanted
code. Hopefully there are equivalents for this on other platforms?!


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10656 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-04-01 15:32:06 +00:00
Manolo Gouy
6ea2b8baea More detailed documentation about drawing to other surfaces than the computer display.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10651 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-03-24 14:20:38 +00:00
Manolo Gouy
d4867caf80 Fix STR #3176: possible bad border effect when a set of radio menu items is located first in its menu.
Fl_Menu_Item::set_only() is deprecated and replaced by Fl_Menu_::set_only(Fl_Menu_item*).


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10647 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-03-22 07:08:04 +00:00
Lauri Kasanen
c91e48149b Add support for accelerated alpha blending under X11.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10628 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-03-16 18:12:28 +00:00
Lauri Kasanen
a6c4b29a18 Detect XRender support
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10622 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-03-16 11:07:00 +00:00
Manolo Gouy
1c3163f206 More detailed Doxygen doc of Fl_Shared_Image::scale() and Fl_Image::draw(X,Y,W,H,cx,cy).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10618 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-03-12 08:59:14 +00:00
Manolo Gouy
e69467bbc9 Implementation of Fl_Shared_Image::scale(width, height) for scaled image drawing - cont'd
Shorter implementation based on Fl_Graphics_Driver::draw_scaled(Fl_Image *,...).

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10616 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-03-11 06:21:17 +00:00
Manolo Gouy
dbde470f8d Added Fl_Shared_Image::scale(width, height) to support scaled image drawing (STR #3185).
Useful for printing, PostScript or PDF output, or retina displays.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10615 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-03-10 21:06:22 +00:00
Albrecht Schlosser
0f45a7adf5 [Version 1.3.4] Update version numbers - hopefully complete.
Note to devs: if I missed something, please mark follow-up commits with
[Version 1.3.4] so we can find the necessary commits for version updates.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10612 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-03-10 01:41:55 +00:00
Albrecht Schlosser
c96a330e26 Fix documentation errors and clarify label alignment docs.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10606 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-03-05 12:42:29 +00:00
Manolo Gouy
edb4ec3e92 Changed functions supporting ASCII85 and RunLength encodings as private
members of the Fl_PostScript_Graphics_Driver class.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10604 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-03-02 15:09:45 +00:00
Manolo Gouy
fe96d64a2b PostScript output: : use ASCII85 encoding also for character strings.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10599 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-03-02 00:08:08 +00:00
Albrecht Schlosser
4d1e372e09 Improve Fl_Tiled_Image drawing, scheme background setup, and documentation.
Fl::scheme("plastic") now correctly sets the background image width and
height to 0, which causes the background image to fill the whole window.

Fl_Tiled_Image drawing was partly broken. Offsets (cx, cy) were not used
correctly, and some other inconsistencies with arguments were possible.

Drawing has been optimized to draw only those tiles that are not clipped.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10598 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-03-01 20:16:56 +00:00
Manolo Gouy
c0ed548005 1) More detailed Doxygen documentation for classes Fl_Printer, Fl_Surface_Device, Fl_Display_Device
and Fl_Graphics_Driver.
2) Support call of Fl_Printer::start_job(pagecount) with pagecount=0 when the number of pages is unavailable.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10592 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-02-26 15:38:54 +00:00
Albrecht Schlosser
b3f5f2913b Fix documentation (typo).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10583 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-02-17 15:42:25 +00:00
Ian MacArthur
e402a64457 Add some doxygen descriptions for the (previously undocumented) Fl_Multi_Label struct, and make some minor related adjustments to the docs for Fl_Label and Fl_Labeltype.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10553 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-02-04 13:12:43 +00:00
Albrecht Schlosser
84f87addfc Add method Fl_Widget::is_label_copied() as discussed in fltk.general.
Thread was: "How get X,Y,W,H for current clip region ?" on Feb 2-3, 2015.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10552 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-02-03 12:19:01 +00:00
Manolo Gouy
5017171db8 Replace gl_xxx() function names by new member functions of the Fl_X class to avoid
collisions with user-defined symbols.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10548 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-02-02 13:08:51 +00:00
Manolo Gouy
f8ee30ef74 Restores the Doxygen doc of the Fl_PostScript_Graphics_Driver class that had been hidden by r.9980 by mistake.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10547 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-02-02 09:46:32 +00:00
Manolo Gouy
8887600f5f Improved Mac OS X Fl_Gl_Window resizing: the GL scene was drawn twice at each resize operation.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10545 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-01-31 15:08:31 +00:00
Albrecht Schlosser
f5e9bf5087 Fix comments, trailing white space, and trailing commas in comments.
Note: there are no code changes in this commit.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10538 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-01-29 13:14:59 +00:00
Manolo Gouy
64ffd414d6 Stop using dynamic_cast when performing text drag (Mac OS only).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10536 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-01-28 17:05:29 +00:00
Manolo Gouy
2d264fa8d5 A few comment changes.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10531 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-01-22 17:45:09 +00:00
Manolo Gouy
18f5d4e309 Removed erroneous statement from Doxygen doc of class Fl_Copy_Surface.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10528 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-01-20 09:05:10 +00:00
Manolo Gouy
4e53b4f616 Documented how it is possible to change the default paper size for a printer on the Unix/Linux platform.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10526 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-01-19 14:16:18 +00:00
Manolo Gouy
07eaf2810a Added version information to Doxygen comments.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10525 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-01-19 13:14:15 +00:00
Manolo Gouy
d7e4831dbe A public header file must not use a preprocessor variable such as MAC_OS_X_VERSION_10_7
because it is only defined internally to FLTK.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10516 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-01-14 10:23:24 +00:00
Greg Ercolano
c732a4d635 Documentation clarification for all menu oriented widgets
regarding callbacks.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10513 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-01-10 22:05:15 +00:00
Greg Ercolano
8fe94273ff Small doc mods to Fl_Menu_Bar to clarify how callbacks
are invoked. (STR #3172)



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10512 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-01-10 17:58:54 +00:00
Greg Ercolano
5cfa1ac706 Improvements to Fl_Menu_ docs regarding how callbacks are invoked.
In response to misinterpretation raised in STR #3172.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10511 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-01-10 17:46:10 +00:00
Greg Ercolano
e14b04e6cb Docs only: fixed example code indenting.
(Firefox doesn't properly display tabs in preformatted html)


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10508 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-01-04 18:41:37 +00:00
Greg Ercolano
8862df4950 Added docs to Fl_Event referencing use of fl_eventnames[] and FL/names.h
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10506 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-12-28 21:09:30 +00:00
Manolo Gouy
27b3376bf4 Remove the link error sometimes caused by class Fl_XFont_On_Demand not exported from libfltk.so but called
by function gl_font() of file src/gl_draw.cxx (X11-specific).

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10504 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-12-21 10:11:18 +00:00
Manolo Gouy
09230a9878 Removed compilation warning when compiling fluid/file.cxx on apple.
Also, added explanatory comment of the purpose of a GNUC-specific
attribute in FL/fl_ask.H

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10501 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-12-20 15:00:27 +00:00
Manolo Gouy
f3a84c0ee5 Changed OpenGL support for the Mac OS X platform: use cocoa instead of deprecated AGL.
All changes are mac-specific, except a very minor change in file src/gl_draw.cxx
where string drawing wrongly claimed to support @symbol, not possible
because symbols are drawn using non-GL primitives.

Unchanged application code can use the new FLTK code.
In addition, the new code allows mac applications to draw OpenGL scenes
at high resolution on so-called 'retina' displays, but this requires some
support from app code. They must call, before opening GL windows,
Fl::use_high_resolution(1);
and change their glViewport() calls as follows
glViewport(0, 0, pxel_w(), pixel_h());
This uses 2 new member functions of the Fl_Gl_Window class,
pixel_w() and pixel_h() returning the window dimensions in pixel
units, that is, twice the w() and h() when the window is mapped
on a retina display.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10498 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-12-20 07:19:23 +00:00
Greg Ercolano
cdee5e204f Fixes STR #3169, comment #3.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10492 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-12-19 03:41:45 +00:00
Manolo Gouy
2db56a389d Removed useless member function window_pixel_size().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10488 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-12-18 07:13:56 +00:00
Manolo Gouy
1f5b8d3aad The new subRect_ member is better private (FLTK_ABI_VERSION >= 10304 only).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10487 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-12-18 06:40:50 +00:00
Manolo Gouy
15d497ebdf Apple-only changes to restore a layout of the Fl_X class identical to that in FLTK 1.3.3.
With true subwindows, several members of Fl_X became useless.
This change recycle two of them for new uses:
- Fl_Region subRegion is used as a pointer to a CGRect
- Fl_X *xidChildren is used to indicate the resolution of the display
containing a window

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10486 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-12-17 09:04:01 +00:00
Manolo Gouy
68a577e1f6 Improved handling of high resolution ("retina") displays.
The new field bool Fl_X::mapped_to_retina is updated when needed, that is, when the window is moved.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10481 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-12-11 16:54:30 +00:00
Manolo Gouy
f1c7d674d2 Improved processing of retina displays: replace [NSWindow backingScaleFactor] that is not recommended.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10477 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-12-05 17:18:19 +00:00
Albrecht Schlosser
278fafb2f3 Separate and improve documentation of overloaded Fl::event_state() methods.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10470 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-11-25 14:18:23 +00:00
Albrecht Schlosser
972c6ff7df Fix a doxygen warning.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10469 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-11-25 14:15:36 +00:00
Manolo Gouy
f52b457cc2 Added full support of retina displays on the mac platform.
On such displays, one drawing unit equals two pixels.
The fl_xyline() and fl_yxline() functions are modified to perform
extra operations when drawing to a window on a retina display.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10463 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-11-19 16:23:36 +00:00
Manolo Gouy
537ea4a7e1 Remove static members of the Fl_X class that became unused.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10458 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-11-16 13:10:45 +00:00
Manolo Gouy
42a2e9c64f Fixed the declaration of the Window type.
Before, the fl_find(Window) function was not accessible from .mm source files.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10451 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-11-12 20:42:41 +00:00
Manolo Gouy
e4d4f400a4 Added support of true subwindows to the Mac OS X code. With this, a window inside another
window is just another window with Mac OS as it was already with MSWindows and X11.
This requires Mac OS X 10.2. Window nesting to any depth is possible.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10449 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-11-11 16:08:09 +00:00
Albrecht Schlosser
14524992a6 Documentation: fix another image display issue.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10447 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-11-10 22:29:49 +00:00
Albrecht Schlosser
b93f8d775a Documentation: fix resizable images that were not displayed correctly.
The resizable effect was not shown proportionally correct.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10446 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-11-10 22:09:11 +00:00
Manolo Gouy
e037083a5b Prevent Fl_Copy_Surface.H from including apple system headers on the mac platform.
With this, no public FLTK header includes system header files anymore on the mac.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10443 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-11-09 08:34:26 +00:00
Manolo Gouy
574e31276e Rewrite Fl_Copy_Surface::complete_copy_pdf_and_tiff() using cocoa APIs.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10442 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-11-08 18:14:31 +00:00
Manolo Gouy
baf5ea7d56 Added Fl_Copy_Surface::w() and Fl_Copy_Surface::h() member functions.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10441 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-11-08 18:10:35 +00:00
Manolo Gouy
f2bb3ea76c The Fl_Native_File_Chooser class contains, under WIN32, two system-defined structures
(OPENFILENAMEW and BROWSEINFOW). This forces any application program that uses
Fl_Native_File_Chooser to include file windows.h.
This is corrected by using in the Fl_Native_File_Chooser class pointers to the 2 structures.
The changes are protected by #if FLTK_ABI_VERSION >= 10304 for ABI compatibility.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10437 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-11-06 21:33:09 +00:00
Manolo Gouy
bd1446a6eb Fix for STR#3142 where fl_read_image() correctly reads GL data under X11, but ignores them under MSWindows and Mac OS X.
Moreover, fl_read_image() behaves differently with and without OS virtualization for X11 and MSWindows.
The patched function reads whatever is in the rectangle transmitted in arguments, with and without GL data, with and without subwindows,
on ‘true’ OS or on virtualized OS.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10436 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-11-06 16:48:57 +00:00
Albrecht Schlosser
3e1da3012a Remove Fl::*sleep() method family, as discussed in fltk.coredev.
Hopefully this doesn't break Windows or Mac OX IDE builds, please help
testing.

Short story: these functions showed compatibility problems, lacked some
quality (regarding interruption by signals), and maybe more.

This is a combined commit that reverts three (3) svn commits. The following
lists are extracted from git, but show the svn revisions and files:

    Remove Fl::*sleep() family, part 1: revert svn r 10287.

:100644 100644 a988702... 794920f... M	ide/Xcode4/FLTK.xcodeproj/project.pbxproj

    Remove Fl::*sleep() family, part 2: revert svn r 10151.

:100644 100644 cf839e6... bfde9c4... M	ide/Xcode3/FLTK.xcodeproj/project.pbxproj
:100644 100644 794920f... c0c772a... M	ide/Xcode4/FLTK.xcodeproj/project.pbxproj

    Remove Fl::*sleep() family, part 2b: revert svn r 10151 (continued).

:100644 100644 bfde9c4... abf2922... M	ide/Xcode3/FLTK.xcodeproj/project.pbxproj

    Remove Fl::*sleep() family, part 3: revert svn r 10150.

:100644 100644 b469018... e76a3e5... M	FL/Fl.H
:100644 100644 7bb7899... 4d4755d... M	ide/VisualC2008/fltk.lib.vcproj
:100644 100644 9d9a2cf... 334aef8... M	ide/VisualC2008/fltkdll.vcproj
:100644 100644 5533a54... e30058b... M	ide/VisualC2010/fltk.lib.vcxproj
:100644 100644 e49f691... 1259c87... M	ide/VisualC2010/fltk.lib.vcxproj.filters
:100644 100644 946f31a... d53ab80... M	src/CMakeLists.txt
:100644 000000 fed36fd... 0000000... D	src/Fl_sleep.cxx
:100644 100644 3d9656c... 3b265f9... M	src/Makefile
:100644 100644 6eadbcb... 5dd5872... M	test/sudoku.cxx


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10419 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-10-30 16:05:22 +00:00
Lauri Kasanen
7149b58b9c Export fl_xid_
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10412 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-10-29 20:25:46 +00:00
Lauri Kasanen
832a23ba63 Export fl_copy_offscreen
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10411 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-10-29 20:20:54 +00:00
Lauri Kasanen
fe74de572e Export fl_gettime forms function
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10410 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-10-29 20:17:38 +00:00
Lauri Kasanen
ccfb27a83e Export the xlib graphics driver
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10409 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-10-29 20:11:02 +00:00
Lauri Kasanen
c7759da19a Export the native file choosers
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10408 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-10-29 20:05:05 +00:00
Lauri Kasanen
05f816fabc Export Fl_Image_Surface and _Quartz_
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10407 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-10-29 20:01:44 +00:00
Lauri Kasanen
cf797aec4b Export Fl_Copy_Surface and friends
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10406 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-10-29 19:57:42 +00:00
Ian MacArthur
11ef7ee9e6 Add method Fl_Window::clear_modal_states(),
addresses STR #3123



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10404 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-10-29 14:21:08 +00:00
Manolo Gouy
ffdc36dcb6 Print at high res with Fl_Paged_Device::print_window_part() when using a retina display
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10393 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-10-26 15:23:03 +00:00
Albrecht Schlosser
92ff2e30bc Update docs related to buttons and update Fl_Check_Button.png.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10386 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-10-19 20:17:17 +00:00
Albrecht Schlosser
25cf93b4cb Improve and reorganize Fl_Tile's documentation and test/tile demo.
Moved docs from header file and enhanced docs, particularly about the
resizable() widget and the resize behavior in general.

Changed the tile demo program to use a resizable() with 20 pixels
border distance, so that border dragging is limited as described in the
docs. Updated the image file to reflect the current test/tile.cxx demo.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10385 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-10-19 14:17:47 +00:00
Ian MacArthur
5403c17606 Sorry, I'm an idiot, I commited form the wrong tree,
and commited my non-default Enumerations.h header...




git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10382 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-10-15 21:00:20 +00:00
Ian MacArthur
f344e4a459 Adjust fluid/file.cxx so that it builds again on OSX.
I don't think this change will prevent the prior "fix"
workaround that Albrecht made from working on cygwin...

Probably!



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10381 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-10-15 20:51:39 +00:00
Albrecht Schlosser
8c91c679e0 Fix doxygen warning.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10379 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-10-14 13:32:59 +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
Albrecht Schlosser
f1bf759c64 Remove extraneous comma from enum, fix compiler warning.
Thanks to Michael Baeuerle.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10376 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-10-14 09:53:01 +00:00
Manolo Gouy
1e2f990177 Added Doxygen comments for enum Fl_RGB_Scaling.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10374 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-10-13 11:25:36 +00:00
Albrecht Schlosser
f127b22270 Escape '\n' ('\\n') in doxygen comment.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10365 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-10-09 11:45:02 +00:00
Albrecht Schlosser
fc912ef786 Fix ABI compatibility comments.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10362 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-10-05 23:38:39 +00:00
Albrecht Schlosser
386c2413f8 More 1.3.3 version updates and changes in src/*.fl.
There had been manual changes in fluid-generated files, so the .fl files
had to be adjusted and updated to fltk 1.3.3.

Note that fluid SHOULD generate 'const' data for embedded images, but
doesn't yet, so I had to re-edit src/Fl_File_Chooser.cxx to keep the
previous 'const' changes in this file.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10357 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-10-05 11:28:29 +00:00
Manolo Gouy
8994406424 Updated three more copyright years.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10355 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-10-05 06:32:43 +00:00
Albrecht Schlosser
aef482198e Bump version numbers to 1.3.3.
All fluid .fl files have been rewritten with fluid 1.3.3 and may differ
somehow, but there are no significant changes.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10353 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-10-05 00:03:27 +00:00
Albrecht Schlosser
eb1af07952 Add Fl_Window::wait_for_expose() and test program (STR #3124).
Also modified .gitignore, svn-properties, Makefile and CMake-Files.

Todo: test/twowin.cxx and test/windowfocus.cxx need to be added to ide files
(MS VC++ and Xcode).


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10339 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-09-26 23:58:05 +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
d5698e8ed9 Documentation: clarification of fl_width()'s dependence on the current font face/size.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10320 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-09-18 15:25:55 +00:00
Pierre Ossman
1c7409e0a1 Add methods to enable and disable the system's input methods.
This needs to be done from FLTK as it affects the window interaction,
which FLTK is largely responsible for.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10314 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-09-15 09:44:35 +00:00
Pierre Ossman
61e1b18f7b Consolidate the Win32 init and cleanup code in to one place so
it's easier to keep track of it.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10312 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-09-15 09:35:05 +00:00
Pierre Ossman
e145df2165 Add methods to intercept low level system events.
This gives applications the means to handle some low level
integration with the system that might otherwise not be possible
without modifying FLTK itself.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10310 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-09-15 09:17:56 +00:00
Manolo Gouy
0356bd257c Fixed compilation warning messages that Fl_PostScript_File_Device::start_job() hides an overloaded virtual function.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10308 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-09-13 17:51:20 +00:00
Manolo Gouy
76418b352b Allow compilation with SDK 10.10 and use new API to discover os version at runtime.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10305 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-09-13 14:29:53 +00:00
Albrecht Schlosser
21ae6c2903 Fix indentation and remove trailing white space.
This does not fully apply the FLTK coding standard, but makes it more
consistent in that indentation is done with tabs as much as possible.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10300 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-09-12 09:08:41 +00:00
Lauri Kasanen
2ac54f6aca Fix Fl_Spinner never reporting changed().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10299 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-09-09 16:52:18 +00:00
Manolo Gouy
c7f0ee3bd0 Fix for STR #3130 where PostScript printing may fail when program modifies LC_NUMERIC of its locale.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10290 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-09-08 12:35:23 +00:00
Lauri Kasanen
3ce67eb594 Expose the INACTIVE flag in Fl_Widget similarly to other flags. STR #3122
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10289 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-09-08 08:55:49 +00:00
Albrecht Schlosser
6928a416e4 Enhance documentation of Fl_Menu_Item::value().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10282 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-09-06 19:03:43 +00:00
Lauri Kasanen
8bc524ef27 Remove trailing comma in the last value of an enum, some compilers dislike it
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10280 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-09-06 09:31:53 +00:00
Lauri Kasanen
005bfa4294 Fix cross-window focus throwing on X11, similar to the Mac case. STR #3129
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10276 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-09-05 12:33:35 +00:00
Lauri Kasanen
d1d203ca57 Add support for dragging to reorder in Fl_Tree, STR #2828 (I)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10275 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-09-05 12:04:28 +00:00
Greg Ercolano
107fc50e48 Solves STR #3127.
Added to assist cand for his patch to solve RFE STR #2828 option (I).

o Add move() methods to Fl_Tree_Item.
o Add deparent()/reparent() methods
o Supporting methods added to Fl_Tree_Item_Array, and enhancement
  to update_prev_next() to allow -1 option to create an orphan item

Added to Fl_Tree_Item:

    * Fl_Tree_Item* deparent(int pos)
    * int reparent(Fl_Tree_Item *newchild, int pos)

    * int move(int to, int from)
    * int move(Fl_Tree_Item *item, int op, int pos)
    * int move_above(Fl_Tree_Item *item)
    * int move_below(Fl_Tree_Item *item)
    * int move_into(Fl_Tree_Item *item, int pos)

Added to Fl_Tree_Item_Array:

    * int move(int to, int from)
    * int deparent(int pos)
    * int reparent(Fl_Tree_Item *item, Fl_Tree_Item* newparent, int pos)



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10271 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-09-04 18:56:52 +00:00
Lauri Kasanen
e521c16ab3 Tweak the scaling() comment
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10269 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-09-03 19:24:42 +00:00
Lauri Kasanen
cce4cece01 Add bilinear scaling support. STRs #2869 and #3062.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10268 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-09-03 11:00:56 +00:00
Manolo Gouy
1a7fcf0757 Fixed header/footer lines.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10263 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-09-02 09:15:08 +00:00
Lauri Kasanen
795342693d Don't grab navkeys with modifiers, as the app may want them. STR #3104
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10261 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-08-29 12:10:11 +00:00
Ian MacArthur
0c90a7b7f4 Remove macros that (re)define hypot from fl_utf8.h,
when building on a WIN32 host.

I am not sure why these were here, but on one of my
(very) non-standard configurations this was causing
the build to fail.

After some discussion on fltk.dev, we decided to 
removed them since no one thinks they are needed
(please tell me if it turns out that the are!)

Note: that discussion also considered whether the
other (re)defines in that file, e.g. for stricmp
and strnicmp and others were useful; I have left
these in place for now, though I beleieve they are
not needed nor useful.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10259 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-08-28 09:34:07 +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
Lauri Kasanen
bbc8782b6a Move Xutf8.h to src/, update includes, refresh makedepends
This is an internal header.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10248 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-08-23 08:41:58 +00:00
Lauri Kasanen
9d96c7a26c X11: Use libX11 UTF-8 support when available.
This saves quite a bit of library size. STR #3107


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10237 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-08-21 12:34:07 +00:00
Lauri Kasanen
64dd5df141 Enable symbol visibility on Linux, bringing a shared libfltk on par with Windows.
Also drops the size of libfltk.so nicely.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10236 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-08-21 12:29:48 +00:00
Greg Ercolano
7eb0c224df * Small doxygen doc improvements + elaborations
* Small name change for new typedef.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10221 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-07-16 18:51:56 +00:00
Greg Ercolano
afcd967fd8 * Modified the ScrollInfo structure for more modularity,
which helps doxygen docs be clear.

* Changed loop in recalc_scrollbars() to loop thru /all/ children
  and skip over scrollbars, instead of assuming fix_scrollbar_order()
  has been called.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10220 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-07-16 03:32:14 +00:00
Greg Ercolano
7382173223 Solves STR #1895 by making the recalc method and structure
protected (accessible to derived widgets).



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10219 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-07-15 15:23:33 +00:00
Pierre Ossman
de2e11d743 Stop declaring fl_default_cursor as it no longer exists.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10213 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-06-30 09:40:33 +00:00
Manolo Gouy
da5dff32ea Sets the return type of Fl_Image_Surface::image() to its real value, Fl_RGB_Image.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10200 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-06-18 01:22:16 +00:00
Pierre Ossman
f58b1a91b3 Add ability to set custom icons for windows. STR #2816.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10197 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-06-16 11:39:32 +00:00
Pierre Ossman
332dc1b7ac Add method to set any custom cursor, based on a Fl_RGB_Image object.
Also change our fallback cursors to use this method, so that fallback
cursors are handled in a platform independent manner. STR #2660.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10196 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-06-16 11:17:57 +00:00
Pierre Ossman
ed7983f5b5 Add ability to convert a Fl_Pixmap into a Fl_RGB_Image.
This is very convenient as a lot of other functions only accept
a Fl_RGB_Image. Adding this functionality also required a bit
of spring cleaning in the the drawing routines. STR #2659.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10192 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-06-12 13:28:04 +00:00
Pierre Ossman
0cfc2554c6 Support for full screen over multiple monitors.
The API follows that of EWMH, which gives you a good control
over which monitors to use.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10189 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-06-11 09:10:53 +00:00
Manolo Gouy
baebff2227 STR #3088: make Fl_Native_File_Chooser use the standard GTK file dialog when available.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10186 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-06-07 12:01:59 +00:00
Manolo Gouy
44a1407ba2 Improved documentation of enum Fl_Native_File_Chooser::Option.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10178 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-05-31 08:22:34 +00:00
Manolo Gouy
b8cc8eb48d Reset file header and footer.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10172 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-05-24 16:21:46 +00:00
Manolo Gouy
423ef813f0 Removed compilation warning of signed/unsigned comparison.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10160 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-05-23 17:03:08 +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
Manolo Gouy
85af2efe09 Simpler definition of the fl_create_offscreen() macro on the X11 platform.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10158 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-05-23 16:00:25 +00:00
Greg Ercolano
1b1f02a365 Fix STR #3086, missing virtual dtor when ABI >= 10303.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10157 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-05-22 15:38:27 +00:00
Greg Ercolano
46521bf437 Implements STR #2621: Add line numbers to Fl_Text_Display.
Applied LZA's patch and included some mods to address TODO items and ABI issues.

Also update CREDITS with LZA and a few other notably absent names.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10152 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-05-21 06:56:59 +00:00
Fabien Costantini
54b0123eab Added a new portable sleep API(ABI compatible). Now features a flexible multi-usage sleep() api accepting decimals, msleep() for millisecs only, usleep() for microsecs. Updated Makefiles, cmakefiles, vs2008, vs2010 with the new Fl_sleep add-on. Documented new API. still needs to be added in Xcode.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10150 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-05-21 04:10:12 +00:00
Greg Ercolano
ebef1faf26 Hmm, reverted some of my doc changes in r10134 -- could swear the option
in question also affected widget focus in a broader way, but apparently not..



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10136 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-04-29 07:48:46 +00:00
Greg Ercolano
3a14af20b3 Small doc modifications to clarify Fl::OPTION_ARROW_FOCUS
and interrelate docs for Fl_Input_::tab_nav().



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10134 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-04-29 02:56:34 +00:00
Manolo Gouy
6c92cc9a8d Fix STR#3063: compilation using Mac OS 10.4
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10127 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-04-27 13:57:09 +00:00
Greg Ercolano
a973a183a7 Added docs to Fl_Tabs as per STR#1174, and some doc improvements.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10120 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-03-23 17:36:59 +00:00
Greg Ercolano
c5d5ba1cf5 Applying the etorres gleam patch. STR #2672.
TODO: Xcode 4 ide needs fl_gleam.cxx added
      Test of Visual Studio IDE mods (which were hand-modified)



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10113 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-02-25 04:24:41 +00:00
Manolo Gouy
56ac442c93 Better separate printer-specific code using virtual Fl_GDI_Printer_Graphics_Driver::draw(Fl_Bitmap*...)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10110 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-02-22 14:51:50 +00:00
Manolo Gouy
e43bf8a1b2 Completed the implementation of Fl_Sys_Menu_Bar that now accepts all calls of its parent class Fl_Menu_.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10102 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-02-11 17:59:20 +00:00
Manolo Gouy
f4e2292f80 Added some missing Doxygen comments in the Fl_Sys_Menu_Bar class.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10101 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-02-11 13:55:42 +00:00
Manolo Gouy
b01cbd577b Improvement of the Fl_Sys_Menu_Bar class in relation to STR #3047:
- menu shortcuts, including function keys, are correctly handled
- the mac system menus and FLTK menus share Fl_Menu_Item's, thus 
many member functions of the parent Fl_Menu_ class apply equally
to an Fl_Sys_Menu_Bar.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10099 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-02-10 22:24:27 +00:00