Commit Graph

98 Commits

Author SHA1 Message Date
Greg Ercolano
a20c2103ec Solves issue #143. 2020-09-23 22:42:12 -07:00
Greg Ercolano
2141c63628 Implement + deploy fl_strdup() 2020-08-01 14:19:40 -07:00
Greg Ercolano
0693c70f57 First pass at fixing issue 99
A lot of code touched because low level functions needed to pass up
error messages reliably, and this had to propagate up the entire
driver hierarchy.

Tested OK *in English* on:
     > Linux
     > OSX 10.10.x
     > Windows VS2017
     > Windows mingw64
I have no way to test on Android, but it might work.

TODO: Needs testing in other languages to verify proper UTF8 error messages,
      esp. with Windows VS, due to complexities with FormatMessage() -- see get_ms_errmsg()
2020-07-14 12:52:56 +02:00
Albrecht Schlosser
f09e17c3c5 Remove $Id$ tags, update URL's, and more
- remove obsolete svn '$Id$' tags from all source files
- update .fl files and generated files accordingly
- replace 'http://www.fltk.org' URL's with 'https://...'
- replace bug report URL 'str.php' with 'bugs.php'
- remove trailing whitespace
- fix other whitespace errors flagged by Git
- add and/or fix missing or wrong standard headers
- convert tabs to spaces in all source files

The only relevant code changes are in the fluid/ folder where
some .fl files and other source files were used to generate
the '$Id' headers and footers.
2020-07-06 20:28:20 +02:00
ManoloFLTK
7f7e0e4ea1 Replace Fl_Window_Driver::is_a_rescale() by Fl_Window::is_a_rescale()
so it can be called by any user code.
2020-05-08 17:08:33 +02:00
Albrecht Schlosser
4c1b92eb52 Implement fl_putenv() as cross-platform putenv() 2020-02-10 12:10:40 +01:00
Albrecht Schlosser
dfaab4ae90 Fix uninitialized vars in calls to fl_clip_box() (issue #6)
The main fixes are only to avoid static code analyzer warnings reported
in issue #5, but there are also minor bug fixes included. These bug
fixes are more of theoretical concerns though.

Close #6.
2020-01-15 21:23:26 +01:00
Matthias Melcher
c0237a1f04 Limiting file access for Fl_Preferences.
Added Fl_Preferences::file_access() and various flags that make it possible to limit or completely deny file access to the preferences system, either for the core library or for the application or both.
2019-12-31 18:30:04 +01:00
Matthias Melcher
bd77a6e976 Android Image driver was incomplete and did not compile. 2019-12-22 18:47:27 +01:00
ManoloFLTK
0d3a374396 Call virtual member Fl_Surface_Device::end_current() when necessary
Rename member function Fl_Surface_Device::end_current_() to end_current(),
set it protected, and make it called by the destructor of all classes
derived from Fl_Surface_Device that re-implement end_current().
This way, end_current() runs equally if Fl_Surface_Device()::pop_current()
is called before or after the drawing surface is deleted.
2019-05-25 11:59:16 +02:00
ManoloFLTK
499ec5c291 Replace static void Fl_Window_Driver::default_icons() by virtual Fl_Screen_Driver::default_icons() 2019-03-25 18:47:29 +01:00
ManoloFLTK
a0510495ea Rename member todelete_ of struct Fl_Window_Driver::shape_data_type to effective_bitmap_ 2019-02-23 10:30:48 +01:00
Manolo Gouy
f6a7602cfc Moving headers Fl_XXX_Driver.H from FL/ to src/ --- continued
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12979 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-26 14:38:25 +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
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
8c993648db Android: Android Developer Documentation would work but needs some changes in Doxyfile:
- if develoer doc is wantedn, add 'ENABLED_SECTIONS       = AndroidDev'
- currently, Doxyfile enables everything related to drivers, so remove
  'EXCLUDE  = /Users/matt/dev/fltk-1.4.svn/src/driversxx/'
  
With this, we get a sparsely filled module named 'Android Developer Documentation'
and a lot of other driver related classes, which could also be encapsulated
in doxygen '@if DriverDev'.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12967 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-23 10:46:28 +00:00
Matthias Melcher
8923162f13 Android: added a few more Doxygen comments
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12966 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-23 10:18:58 +00:00
Matthias Melcher
f827a9eaf3 Android: fixed fl_beep to plat different sound for differen beep types, testing Doxygen to generate driver developer documentation
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12965 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-23 10:06:04 +00:00
Matthias Melcher
7617a46b26 Android: roughly fixed Fl::grab() to make menus easier to navigate
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12960 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-21 18:14:13 +00:00
Matthias Melcher
333e718ae7 Android: Windows are now centered on screen if no position is defined, dialogs pop up in a more logical position.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12958 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-21 17:02:47 +00:00
Matthias Melcher
22c21fa840 Android: Lazy scroll is working. AT some point we should implement fast scrolling
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12957 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-21 13:31:38 +00:00
Matthias Melcher
4ba6b96471 Android: Teaching FLTK to beep. test/button works.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12955 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-21 12:36:02 +00:00
Matthias Melcher
a119928455 Android: Implemented window positioning and sizing
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12954 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-21 11:54:32 +00:00
Matthias Melcher
e1bf7b9202 Android: Clearing the desktop when a window is hidden.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12949 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-19 16:29:20 +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
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
50c3568aff Complete Fl_Android_Graphics_Driver::cache() functions that should assign the image's cache_w_ and cache_h_ member variables.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12866 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-04-21 06:22:27 +00:00
Manolo Gouy
7e234e3abc Remove debugging statement
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12863 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-04-20 09:04:24 +00:00
Manolo Gouy
de762fca2b Fix direct use of fl_draw_pixmap() whithout Fl_Pixmap object.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12862 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-04-20 08:46:49 +00:00
Manolo Gouy
a70846730b Add Fl_Android_Graphics_Driver::delete_bitmask() needed to uncache a cached Fl_Bitmap image.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12840 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-04-16 07:59:49 +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
Manolo Gouy
16705ef734 Image drawing: simplify the code organisation to better support Fl_Image::scale().
Graphics drivers now use up to 6 virtual member functions to support Fl_Image
drawing in the context of GUI and image rescaling :
  virtual void draw_pixmap(Fl_Pixmap *pxm, int XP, int YP, int WP, int HP, int cx, int cy)
  virtual void draw_bitmap(Fl_Bitmap *bm, int XP, int YP, int WP, int HP, int cx, int cy)
  virtual void draw_rgb(Fl_RGB_Image *rgb, int XP, int YP, int WP, int HP, int cx, int cy)
and
  virtual void draw_fixed(Fl_Pixmap *pxm, int XP, int YP, int WP, int HP, int cx, int cy)
  virtual void draw_fixed(Fl_Bitmap *bm, int XP, int YP, int WP, int HP, int cx, int cy)
  virtual void draw_fixed(Fl_RGB_Image *rgb, int XP, int YP, int WP, int HP, int cx, int cy)

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12828 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-04-12 13:07:00 +00:00
Matthias Melcher
532099da23 Android: Drawing RGB and monochrome image data on the fly from a buffer. Untested.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12819 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-04-01 16:16:12 +00:00
Matthias Melcher
f49267e85b Android: Drawing RGB image data on the fly via callback
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12818 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-04-01 16:06:12 +00:00
Matthias Melcher
936fbd096f Android: Drawing RGB image data (and probaly rgba and grayscale as well). Testing unsing test/color_chooser.cxx
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12817 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-31 21:29:33 +00:00
Matthias Melcher
29bda776bb Android: Implemented Pixmap drawing, also much cleanup in Fl_Android_Graphics_Driver.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12810 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-27 21:54:04 +00:00
Matthias Melcher
e52b55c09d Android: Fl_Android_Graphics_Driver now derives from Fl_Graphics_Driver and no longer from the dpi-aware scaling version. I may add this level of complexity later, but for now, unscaled drivers are difficult enough. Also, the new setup lets me easily find unimplemented methods of the driver.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12809 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-27 15:31:26 +00:00
Matthias Melcher
3b7e1a5ec6 Android: Draws Fl_Bitmap.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12807 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-26 21:28:18 +00:00
Matthias Melcher
4df5c6d0b0 Android: Avoids hiding and showing keyboard when focus changes from text input to text input
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12805 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-26 15:42:08 +00:00
Matthias Melcher
20ed92fca4 Android: Keyboard handles modifiers like Shift and Alt... .
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12803 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-26 14:48:13 +00:00
Matthias Melcher
ca8f680000 Android: Added keycodes to make arrow keys, delete, return, and other non text-keys work. ALso added a Java helper class to make Java call easier. We may need more Java/JNI in the future.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12801 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-25 22:27:21 +00:00
Matthias Melcher
eb09ab161a Android: Separating keyboard stuff into a new file
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12800 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-25 16:48:44 +00:00
Matthias Melcher
832377fc21 Android: Improved event handling to handle all pending events before redrawing the interface.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12799 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-25 16:34:40 +00:00
Matthias Melcher
d7520d5a71 Android: Tried to fix flaws in the Android Native interface. Only
solution I found involves Java, so, no.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12797 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-24 21:36:55 +00:00
Matthias Melcher
5f8cec6383 Android: Even rougherer cut to make the keyboard pop up.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12795 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-24 17:21:36 +00:00
Matthias Melcher
fada3a8291 Android: Rough, verz rough kezboard handling.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12794 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-24 17:08:25 +00:00
Matthias Melcher
79b31708de Android: Made popup and menu windows work, fixed Fl::wait() recursion,
fixed incompatible Fl::wait() behavior.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12793 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-24 13:06:59 +00:00
Matthias Melcher
a3a5a3d924 Android: Using floating point calls to make thigs look slightly better.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12791 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-23 23:11:35 +00:00
Matthias Melcher
5843a450bc Android: Using xlib shortcut to draw circles and ellipses.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12790 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-23 23:09:24 +00:00
Matthias Melcher
aeafea2041 Android: Added fl_polygon and fl_loop calls. All boxtypes draw well now.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12788 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-23 22:50:26 +00:00