Commit Graph

1956 Commits

Author SHA1 Message Date
Albrecht Schlosser
bf19362179 Add missing Fl_Cairo_Window constructors (STR #3160).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12993 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-07-27 09:05:12 +00:00
Manolo Gouy
99cf1dd858 Make Fl_Graphics_Driver::newMainGraphicsDriver() public rather than private.
An FLTK app may be interested in calling it.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12991 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-07-10 10:51:02 +00:00
Manolo Gouy
87d186d68c Remove useless 'friend' statements from declaration of class Fl_Image_Surface
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12982 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-27 12:00:40 +00:00
Manolo Gouy
73613f8c2f Use #include <FL/platform_types.h> to define type Fl_Offscreen
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12981 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-27 11:09:13 +00:00
Manolo Gouy
51389ca460 Add examples/SVG_File_Surface.cxx and refer to it in the doc of class Fl_Surface_Device
This example code shows how to subclass Fl_Surface_Device and Fl_Graphics_Driver to
endow FLTK with a new kind of graphics output.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12980 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-27 09:27:04 +00:00
Manolo Gouy
3199e3331b Move Fl_Gl_Window_Driver.H from FL/ to src/
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12977 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-26 14:23:51 +00:00
Manolo Gouy
7046e99f96 Move Fl_System_Driver.H from FL/ to src/
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12976 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-26 14:12:43 +00:00
Manolo Gouy
26cb08badb Move Fl_Screen_Driver.H from FL/ to src/
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12975 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-26 14:04:09 +00:00
Manolo Gouy
7ebe8e21b0 Move Fl_Window_Driver.H from FL/ to src/
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12974 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-26 13:43:18 +00:00
Manolo Gouy
82c7a1baa7 Move Fl_Sys_Menu_Bar_Driver.H from FL/ to src/
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12972 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-26 07:38:54 +00:00
Matthias Melcher
b8e97d7c28 Doxygen only: fixed all block comments starting with an asterisk to space-only, fixed doxygen keywords prepended with @ to use a backward slash instead. No code was changed.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12970 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-23 20:50:22 +00:00
Matthias Melcher
b1598dc703 Removed macro FL_PORTING, as it has been more confusing than helpful.
The original intention of FL_PORTING was to mark all places in the
source code where changes are required to port FLTK to a new platform.
Thanks to the driver system, this approach has become somewhat
misleading, so I removed all references.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12969 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-23 17:04:18 +00:00
Matthias Melcher
a9fd08ff5a Doxygen: created Group to document drivers, disabled by default
Uncomment `ENABLED_SECTIONS += DriverDev` in documentation/Doxyfile.in
to enable driver documentation.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12968 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-23 16:47:40 +00:00
Albrecht Schlosser
ec0ac46aa8 Move platform specific shortcut code to platform drivers.
Tested on Windows and Linux (not tested on MacOS/Android).


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12951 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-20 15:52:58 +00:00
Manolo Gouy
32b35e62d2 Turn static function Fl_Graphics_Driver * Fl_Graphics_Driver::newMainGraphicsDriver() private.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12943 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-15 07:42:17 +00:00
Manolo Gouy
bfac49015c Fix for STR#3475: X11 platform, re-use current screen scaling factor when processing a screen reconfiguration event.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12939 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-08 11:31:30 +00:00
Manolo Gouy
f3971319b9 MacOS: have Fl_OpenGL_Display_Device::capture_gl_rectangle() capture also the overlay of GL windows.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12938 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-05-30 20:20:47 +00:00
Manolo Gouy
8ef4035b6d Replace Fl_Paged_Device::newPrinterDriver() by Fl_Printer::newPrinterDriver().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12937 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-05-25 06:54:03 +00:00
Manolo Gouy
bbd5514691 Rewrite static function Fl_Image_Surface::rescale(Fl_Image_Surface*&) as member function Fl_Image_Surface::rescale().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12936 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-05-25 04:36:49 +00:00
Greg Ercolano
b721f519ac Added separate diagram for fl_arc(x,y,r,a1,a2) (very different from fl_arc(x,y,w,h,a1,a2))
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12935 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-05-24 19:48:41 +00:00
Greg Ercolano
2694217d76 Extra refs for fl_pie/fl_arc diagrams..
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12934 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-05-24 18:02:55 +00:00
Manolo Gouy
c886fe9c33 Add documentation for Fl::reset_marked_text() and Fl::insertion_point_location().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12930 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-05-24 10:58:47 +00:00
Manolo Gouy
f90450ad05 Make static member function Fl_Window_Driver* Fl_Window_Driver::driver(const Fl_Window *) inline.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12928 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-05-23 16:42:43 +00:00
Manolo Gouy
ce71c4b679 Add Fl::screen_scale(int) function to get the scaling factor value of a screen.
This allows to keep class Fl_Screen_Driver away from the public API.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12926 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-05-22 17:00:27 +00:00
Manolo Gouy
509c5be0d5 Remove useless #include directives.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12922 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-05-14 14:58:21 +00:00
Manolo Gouy
8b7f7c78b2 Remove public member function Fl_Window_Driver *Fl_Window::driver() so class Fl_Window_Driver is not in FLTK public API.
This function is replaced by static Fl_Window_Driver* Fl_Window_Driver::(const Fl_Window *win).
The purpose is to have class Fl_Window_Driver outside from FLTK ABI.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12915 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-05-12 09:36:36 +00:00
Manolo Gouy
2b7aac129b Rename Fl_Paged_Device::start_job() to begin_job() and Fl_Paged_Device::start_page() to begin_page().
The new function names begin_job() and begin_page() better match end_job() and end_page() with which
they must be used by pair.
The old names start_job() and start_page() are maintained for API compatibility with FLTK 1.3.x

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12910 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-05-09 14:16:35 +00:00
Greg Ercolano
28807a3fab Added convenience method update_menubutton(),
which tries to keep the menu synchronized with the Fl_Input field,
assuming there's a match.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12908 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-05-07 21:24:06 +00:00
Manolo Gouy
4ede9cec29 New Fl_Image_Surface::rescale() class function and document equivalence between Fl_Offscreen-based and Fl_Image_Surface-based approaches.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12907 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-05-07 13:43:28 +00:00
Manolo Gouy
41eb376060 Make member function Fl_Image_Surface::get_offscreen_before_delete() be private.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12904 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-05-06 15:03:04 +00:00
Manolo Gouy
ccae86b291 Remove useless #include <FL/Fl_Shared_Image.H> following usage of the new Fl_Image::scale() member function.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12903 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-05-06 10:20:45 +00:00
Manolo Gouy
5c16dcb65b Simplify Fl_XXX_Window_Driver::capture_titlebar_and_borders() using Fl_Image::scale().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12902 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-05-06 07:14:13 +00:00
Manolo Gouy
aab1b72af4 Improve fl_overlay_rect() when GUI is scaled.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12901 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-05-06 06:46:40 +00:00
Manolo Gouy
20ccb6b7f2 Shorten the list of virtual member functions used to support Fl_Widget_Surface derived classes.
Change Fl_Cocoa_Screen_Driver::read_win_rectangle() so it captures only
from the current window and ignores its subwindows, as do other Fl_Screen_Driver derived classes.

Remove Fl_Cocoa_Printer_Driver::print_window_part() that is no longer necessary.
Remove Fl_Printer::print_widget() and Fl_Printer::print_window_part() that
are no longer necessary.

Stop Fl_Widget_Surface::print_window_part() from being virtual because its platform-independent
implementation should suffice.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12894 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-05-04 15:11:47 +00:00
Manolo Gouy
b73ff860cc Make virtual void Fl_Surface_Device::end_current_() have no argument because none is used.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12889 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-05-01 17:09:15 +00:00
Manolo Gouy
929efec855 Expand the doc of class Fl_Graphics_Driver.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12876 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-04-27 16:50:27 +00:00
Manolo Gouy
9c389d34f9 Simplify API for Fl_Image_Surface::Fl_Image_Surface(int w, int h, int high_res, Fl_Offscreen off) with non-null offscreen.
The caller no longer needs to call Fl_Image_Surface::get_offscreen_before_delete() before object deletion,
because the object destructor knows the offscreen has not been created by the Fl_Image_Surface constructor.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12874 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-04-26 12:00:49 +00:00
Manolo Gouy
54b697cd49 Reorganise access to the value of the GUI scaling factor with public getter and protected, virtual setter member functions.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12858 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-04-19 10:39:46 +00:00
Manolo Gouy
d375918a5e Documentation: place Doxygen doc next to function implementation
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12857 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-04-19 08:43:19 +00:00
Manolo Gouy
15e3f4b2d2 Simplify the implementation of printing of Fl_Pixmap images under Windows.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12851 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-04-18 15:03:51 +00:00
Manolo Gouy
c5ab11bbec Comments only: extend "Implementation note about image drawing" to describe the mask_bitmap virtual member function.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12845 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-04-16 13:21:54 +00:00
Manolo Gouy
26aabc91e1 Remove virtual member Fl_GraphicsDriver::mask_bitmap(char **) and its re-implementations.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12843 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-04-16 13:00:29 +00:00
Manolo Gouy
9b01ff63e7 Remove Fl_PostScript_Graphics_Driver::mask_bitmap(char **) that is useless.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12842 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-04-16 10:43:28 +00:00
Manolo Gouy
e85fd31f54 Comments only: complete "Implementation note about image drawing" about how to destroy cached images.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12841 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-04-16 08:03:16 +00:00
Manolo Gouy
f089bd6445 Remove useless re-implementation of this virtual member function.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12839 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-04-16 07:56:52 +00:00
Manolo Gouy
ecc1f90506 Comments only: extend the description of how Fl_Graphics_Driver derived classes support image classes.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12838 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-04-15 06:44:50 +00:00
Manolo Gouy
25d39c1b57 Remove useless 'friend' statements from class Fl_Graphics_Driver
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12836 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-04-14 15:26:42 +00:00
Manolo Gouy
82e70fae04 Comments only: more extensive explanation of how virtual member functions of Fl_Graphics_Driver can support image drawing.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12835 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-04-14 15:10:59 +00:00
Manolo Gouy
bfac5462be Remove Fl_Pixmap::prepare() and Fl_Bitmap::prepare() that were used only once.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12834 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-04-14 13:37:47 +00:00
Manolo Gouy
2abe8bd413 Homogenise and simplify the API of Fl_Graphics_Driver::cache(image-type *) virtual member functions.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12833 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-04-13 13:22:15 +00:00