Commit Graph

1682 Commits

Author SHA1 Message Date
Manolo Gouy
dc7d04c889 Give all virtual methods of class Fl_Graphics_Driver do-nothing implementations.
Thus, Fl_Graphics_Driver can be subclassed and only that part of its virtual methods
that is useful for an application is re-implemented.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11762 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-05-31 09:25:56 +00:00
Albrecht Schlosser
ffbcd89b53 Fix compiler warnings.
FL/platform_types.h: C++ style comments are not allowed in ISO C90.

src/Fl_Help_View.cxx: type qualifiers ignored on function return type.

src/Fl_Image_Surface.cxx: (Linux) converting to non-pointer type
  ‘long unsigned int’ from NULL [-Wconversion-null]
  Line #70: In member function ‘Fl_Offscreen Fl_Image_Surface::offscreen()’



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11748 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-05-22 13:36:40 +00:00
Manolo Gouy
867e640cb8 Fix handing of html entities in copied text by Fl_Help_View widget.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11747 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-05-19 16:50:09 +00:00
Albrecht Schlosser
ccf3681097 Fix Fl_Help_View buffer overflow (STR #3275).
This version works much better than the previous one:

 - fixed buffer overflow ("stack corruption")
 - fixed potential long text truncation
 - fixed tab formatting at line start or any offset divisible by 8
 - better handling of HTML entities (aka quoted characters)
 - code simplifications, e.g. HV_Edit_Buffer::cmp() + width()

Todo:

 - improve and standardize handling of HTML entities
 - more tests

Missing features and known bugs:

 - strike out text (not implemented)
 - table and horizontal line formatting issues (STR #3227)



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11746 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-05-17 16:33:50 +00:00
Manolo Gouy
8eb1517ffc More accurate message about how to port the stat() function to a new platform.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11741 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-05-16 10:54:13 +00:00
Manolo Gouy
207d8fe09b Add GLContext to the set of platform-dependent types defined in FL/platform_types.h
If a platform does not support OpenGL, it can just typedef GLContext as void*

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11733 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-05-13 06:45:40 +00:00
Manolo Gouy
cc35e003eb Move GL-related member functions from class Fl_Cocoa_Screen_Driver to class Fl_Cocoa_Gl_Window_Driver
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11728 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-05-09 16:10:54 +00:00
Albrecht Schlosser
2dacc9a1db Fix documentation of Fl_Tile (STR #3303).
Clarify that the resizable() box should be the first child to ensure
correct event delivery to children.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11727 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-05-09 11:29:59 +00:00
Manolo Gouy
8fcccb05d4 Rewrite file src/gl_draw.cxx under the driver model.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11718 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-05-08 15:51:11 +00:00
Manolo Gouy
268a2507e8 Set file properties
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11717 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-05-08 06:57:13 +00:00
Manolo Gouy
300747225c Rewrite OpenGL-related code under the driver model.
Class Fl_Gl_Window_Driver, with its platform-specific derived classes, is created
to hold platform-specific, OpenGL code.

File gl_draw.cxx still needs to be converted to the driver model.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11716 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-05-08 06:42:57 +00:00
Manolo Gouy
048bb2b0f6 Documentation: detail ownership of the image data when pasting from an image-containing clipboard.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11714 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-05-05 08:35:52 +00:00
Manolo Gouy
d47b431750 Fix potential memory leak under X11 when pasted image is not accepted by the receiving app.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11709 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-05-03 14:28:45 +00:00
Manolo Gouy
86a7bbe93a Member function Fl_Widget_Surface::draw(Fl_Widget*,int,int) does not need to be virtual.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11708 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-30 15:07:16 +00:00
Manolo Gouy
5a4d10faea Use standard fopen() as default implementation of virtual Fl_System_Driver::fopen()
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11706 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-27 17:25:17 +00:00
Manolo Gouy
25b4076b03 Set more accurately the protections of the members of class Fl_Display_Device.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11697 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-26 05:44:54 +00:00
Manolo Gouy
8f9f17456b Remove unnecessary #include directive.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11696 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-25 06:29:36 +00:00
Manolo Gouy
93d1c43b7a Remove FL_ABI_VERSION directives
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11692 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-24 19:39:27 +00:00
Manolo Gouy
a877a2d06b Add 2 Doxygen member function descriptions.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11691 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-24 19:30:17 +00:00
Manolo Gouy
6d8b062453 Complete DOxygen documentation of the Fl_Graphics_Driver class.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11690 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-24 16:22:38 +00:00
Manolo Gouy
98f071fa16 Add Doxygen comments for members of the Fl_Graphics_Driver class.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11689 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-24 08:38:11 +00:00
Manolo Gouy
8dddcb2d1d Move Doxygen comments of Fl_PostScript_File_Device members to Fl_PostScript_File_Device.H for Doxygen visibility.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11688 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-23 17:55:08 +00:00
Manolo Gouy
9941c3c1d7 Move Doxygen comments of Fl_PostScript_File_Device members to Fl_PostScript_File_Device.H for Doxygen visibility.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11687 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-23 17:52:34 +00:00
Albrecht Schlosser
1db8d51eae Move typedef fl_(u)intptr_t to FL/platform_types.h.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11686 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-23 15:08:26 +00:00
Albrecht Schlosser
c89a609be2 Fix compilation warnings.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11685 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-23 14:25:15 +00:00
Manolo Gouy
e2edfcbe4f Add Doxygen definitions to the new Fl_XXX_Driver classes.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11681 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-23 06:27:31 +00:00
Manolo Gouy
a56124c20b Remove #if FLTK_ABI_VERSION >= xxx directives.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11679 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-23 04:30:39 +00:00
Manolo Gouy
163c65dc6f Avoid the expression "foreign language" in comments.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11676 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-20 07:19:19 +00:00
Manolo Gouy
ae23f0cb5e Progress toward support of CMake OPTION_APPLE_SDL
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11673 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-20 04:49:36 +00:00
Manolo Gouy
747e88abdc Add missing typedef statement for CGContextRef.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11672 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-20 04:09:01 +00:00
Manolo Gouy
c28b65f5f5 Clean #include directives used by x.H, mac.H, win32.H
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11671 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-20 04:03:03 +00:00
Matthias Melcher
f45389d2cf Cleaning Pico
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11670 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-19 22:51:09 +00:00
Matthias Melcher
d40b765c86 Fixed Fl_X for Pico
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11669 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-19 22:49:05 +00:00
Matthias Melcher
769d151a12 Virtualized add_fd and remove_fd into System Driver
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11668 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-19 22:45:22 +00:00
Manolo Gouy
cd4498021e Have headers x.H, win32.H and mac.H share a unique definition of class Fl_X
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11667 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-19 20:47:25 +00:00
Matthias Melcher
8d796c2cce SDL fix.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11665 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-19 20:05:24 +00:00
Manolo Gouy
1e8a53ecc4 Move private_dc from Fl_X for WIN32 platform to Fl_WinAPI_Window_Driver.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11664 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-19 19:37:49 +00:00
Manolo Gouy
9f78323574 Move GL-related static member functions of the Fl_X class on Mac OS to class Fl_Cocoa_Screen_Driver.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11662 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-19 16:58:17 +00:00
Manolo Gouy
f29fb8c539 Complete the implementations of virtual Fl_X* Fl_Window_Driver::makeWindow() with the X11 platform.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11661 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-19 16:00:30 +00:00
Manolo Gouy
24487a719f Move Fl_X::make_fullscreen() for WIN32 platform to Fl_WinAPI_Window_Driver:: make_fullscreen().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11660 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-19 15:47:23 +00:00
Manolo Gouy
1e060f6408 Transform Fl_X::make(Fl_Window*) for WIN32 platform into virtual Fl_X* Fl_Window_Driver::makeWindow().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11659 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-19 15:33:58 +00:00
Manolo Gouy
6600993adc Transform Fl_X::make(Fl_Window*) for Mac platform into Fl_X *Fl_Cocoa_Window_Driver::makeWindow()
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11658 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-19 15:00:02 +00:00
Manolo Gouy
f9edd86753 Move several of the methods of class Fl_X for Mac platform to class Fl_Cocoa_Window_Driver.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11657 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-19 14:25:47 +00:00
Manolo Gouy
034cfc94a3 Move Fl_X::set_high_resolution() to classes Fl_Graphics_Driver and Fl_Quartz_Graphics_Driver
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11656 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-19 12:46:07 +00:00
Manolo Gouy
366f4bfbc9 Move the set_key_window() member function from class Fl_X to class Fl_Cocoa_Window_Driver.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11655 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-19 06:34:40 +00:00
Manolo Gouy
c0f14ca2f0 Move other_xid member variable from class Fl_X to class F_Window_Driver.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11654 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-18 17:02:44 +00:00
Manolo Gouy
e790ac9653 Move wait_for_expose member variable from class Fl_X to class Fl_Window_Driver.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11653 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-18 16:11:15 +00:00
Manolo Gouy
0629b40afd Move set_cursor() member functions from class Fl_X to classes Fl_Window_Driver and derived.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11652 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-18 14:31:07 +00:00
Manolo Gouy
516d0e5f9c Replace static void Fl_X::activate_window(Window) under X11 platform by void Fl_X11_Window_Driver::activate_window()
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11651 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-18 13:40:34 +00:00
Manolo Gouy
9df9ffdc4c Replace Fl_X::sendxjunk() under USE_X11 by Fl_X11_Window_Driver::sendxjunk().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11650 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-18 13:17:09 +00:00