Commit Graph

4663 Commits

Author SHA1 Message Date
Manolo Gouy
193c611fc2 Better implementation of Fl_Cocoa_Window_Driver::wait_for_expose() for Mac OS 10.13 High Sierra.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12486 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-10-11 15:19:45 +00:00
Greg Ercolano
d0e1d16ae8 Added printf() and vprintf() to Fl_Text_Buffer
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12483 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-10-08 20:38:36 +00:00
Manolo Gouy
2678cb64f9 Fix compiler warning under Visual Studio.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12481 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-10-06 12:37:31 +00:00
Manolo Gouy
784ff3b52d Fl_SVG_Image::fl_gzopen(): write it more platform-independently (still not completely though)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12480 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-10-06 12:13:41 +00:00
Albrecht Schlosser
63420dd956 Fix name clash with zlib gzopen on (64-bit) Linux.
Compilation error message:

src/Fl_SVG_Image.cxx:80:21: error: out-of-line definition of 'gzopen64' does
not match any declaration in 'Fl_SVG_Image'; did you mean 'gzopen'?
void* Fl_SVG_Image::gzopen(const char *fname) {
                    ^~~~~~
                    gzopen
/usr/include/zlib.h:1709:20: note: expanded from macro 'gzopen'
#    define gzopen gzopen64
                   ^

The culprit was the macro defined in zlib.h (above).


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12479 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-10-05 18:32:52 +00:00
Manolo Gouy
0cec3f7e9d Fl_SVG_Image constructor: handle case where file cannot be opened.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12478 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-10-04 21:34:03 +00:00
Manolo Gouy
0b797d704c Fl_SVG_Image class: add support for compressed .svgz image files.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12477 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-10-04 16:26:51 +00:00
Manolo Gouy
7a9d5be6cb Undo commit at r.12475 that is not adequate.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12476 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-10-04 12:21:46 +00:00
Manolo Gouy
5e6bf76b0a Fl_SVG_Image class: add support for compressed .svgz image files.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12475 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-10-04 11:46:33 +00:00
Manolo Gouy
c68ec2026f Change copyright year
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12470 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-09-25 12:20:11 +00:00
Manolo Gouy
71f66a8d12 Update the doc of the Fl_Image_Surface constructor to reflect HiDPI support by the WIN32 and X11 platforms.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12469 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-09-24 08:23:23 +00:00
Manolo Gouy
0a37e2875a Make function gnome_scale_factor() more robust by checking each gnome key exists before asking for its value.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12468 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-09-23 14:54:23 +00:00
Manolo Gouy
5cff9760e5 X11 platform: Allow running with old (< 2.36) versions of libglib-2.0
These versions require calling g_type_init(). Newer versions don't.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12464 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-09-20 15:35:26 +00:00
Manolo Gouy
da2d4a8ee5 Convert the initialisation of global variables fl_local_shift, fl_local_meta, etc... using the driver approach.
This avoids repeating the default values "Shift", "Meta", etc... for several platforms.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12463 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-09-19 19:33:54 +00:00
Manolo Gouy
cc93c29f14 Fl_XXX_System_Driver::clocale_printf() : use thread-specific, locale-setting APIs where possible
This commit uses thread-specific, locale-setting functions under Linux and MSWindows-Visual Studio
They are already used by the Mac OS system driver, when possible.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12461 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-09-19 11:38:51 +00:00
Manolo Gouy
b258f4b029 SVG support: avoid re-rasterizing an image that was previously rasterized at higher resolution.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12460 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-09-18 12:15:08 +00:00
Greg Ercolano
5a95655c99 Fixed small doxygen inconsistencies for do_callback value.
Internally Fl_Browser passes the raw value of when() as the
"do_callbacks" value, so it's important that ALL non-zero values
mean "do the callback' (and not just 1).



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12457 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-09-13 21:56:49 +00:00
Manolo Gouy
435d135825 SVG support: draw images at full screen resolution also when there are several pixels per graphical unit, as with Apple retina displays.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12456 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-09-13 16:15:34 +00:00
Manolo Gouy
be7e7f0ee8 Mac OS: use Fl_Graphics_Driver::has_feature(PRINTER) to detect when drawing to a printer.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12455 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-09-13 07:28:35 +00:00
Manolo Gouy
8767da2dfd Mac OS: explain more accurately in comments how the tricky part of printing an Fl_RGB_Image is handled.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12454 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-09-13 06:29:16 +00:00
Albrecht Schlosser
a6803d71c6 Remove leading underscore from labeltyps as far as possible.
Removed obsolete '\todo' item from docs (done with recent commits).

Removed redundant code from label assignment (e.g. use FL_IMAGE_LABEL
instead of label type assignment + use of _FL_IMAGE_LABEL).

See recent commits.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12448 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-09-12 13:05:48 +00:00
Albrecht Schlosser
322208b855 Add missing Fl_Labeltype and Fl_Boxtype definitions.
Some labeltypes and boxtypes were missing a #define for the enum
without a leading underscore and the corresponding setup function
to initialize the internal table of boxtypes and labeltypes, for
instance _FL_MULTI_LABEL. This is now fixed so (hopefully) all boxtypes
and labeltypes can and _should_ be used w/o leading underscore.

Note: if there are still boxtypes or labeltypes that can't be used w/o
leading underscore this should be considered a bug and is to be fixed ASAP.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12443 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-09-11 18:54:10 +00:00
Albrecht Schlosser
b0a2223642 Fix compiler warning and potential error in PNG error handling.
Compilation with gcc -Wall -Wextra displayed the following warning:

Fl_PNG_Image.cxx: In member function ‘void Fl_PNG_Image::load_png_(const char*, const unsigned char*, int)’:
Fl_PNG_Image.cxx:118:9: warning: variable ‘fp’ might be clobbered by ‘longjmp’ or ‘vfork’ [-Wclobbered]

Making the variable static and initializing it properly avoids this
potential error in the PNG lib's error handling.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12439 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-09-10 11:38:23 +00:00
Manolo Gouy
a0e7cbfa57 Fix nanosvg implementation of nsvg__atof() to allow compilation with Visual Studio 7.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12435 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-09-09 15:47:04 +00:00
Manolo Gouy
a03f8490e6 #include <locale.h> is no longer needed.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12434 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-09-09 12:52:39 +00:00
Manolo Gouy
8e558595e6 Make virtual member function Fl_Image::draw_scaled(int X, int Y, int W, int H) protected rather than private.
Consequently, remove the trailing _ from its name reserved for private class members.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12433 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-09-09 12:35:06 +00:00
Manolo Gouy
0bf5f9809a Modify nanosvg.h to support compilation by Visual Studio 7.
This is a new implementation that does not tamper with the program's locale.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12431 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-09-07 20:16:08 +00:00
Manolo Gouy
a222837123 Simplify code using plain atof() instead of implementing function nsvg__atof().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12430 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-09-06 19:38:56 +00:00
Manolo Gouy
950ec3e863 Modify how the nanosvg source code is used to support compilation with Visual Studio 7.
1) The original nanosvg.h file is modified for FLTK in file fl_nanosvg.h. The only change is
to remove the implementation of function nsvg__atof().

2) FLTK provides an implementation	of nsvg__atof() based on sscanf().

3) FLTK changes the LC_NUMERIC locale to "C" before calling nanosvg
and resets it to its previous state after.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12423 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-09-06 16:25:42 +00:00
Manolo Gouy
276b8255e2 Improve doc of the Fl_SVG_Image public constructor.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12420 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-09-04 08:38:06 +00:00
Manolo Gouy
c42b4717a9 Fix erroneous Doxygen command in doc of Fl_SVG_Image::resize().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12418 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-09-04 08:06:26 +00:00
Manolo Gouy
722faf50cf Class Fl_SVG_Image: use fl_fopen() to open files with non-ASCII characters in name.
Also, have copy() copy the value of the image's proportional member variable.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12417 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-09-04 07:55:21 +00:00
Manolo Gouy
d6349e180a Set svn:keywords
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12415 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-09-03 13:20:52 +00:00
Manolo Gouy
1a28d85dc3 Add new Fl_SVG_Image class to support scalable vector graphics images using the (modified) nanosvg software.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12413 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-09-03 13:14:25 +00:00
Manolo Gouy
eae09e7fa0 Create virtual Fl_Image::draw_scaled_(int X, int Y, int W, int H) and its implementations for image classes.
This allows to use the virtual function mechanism to adapt scaled image drawing both to the
image type and the graphics driver type.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12410 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-08-30 15:49:58 +00:00
Manolo Gouy
1b77509133 Modify Fl_Shared_Image::scale(int, int) for the case of an erroneous image object.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12409 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-08-30 10:21:56 +00:00
Manolo Gouy
6ac3d87d31 Move Fl_Graphics_Driver::draw(Fl_Shared_Image* from Fl_Shared_Image.cxx to Fl_Graphics_Driver.cxx where it belongs.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12408 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-08-30 09:10:40 +00:00
Manolo Gouy
9fc2d43102 Improve Doxygen comments related to image drawing
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12407 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-08-30 08:59:50 +00:00
Manolo Gouy
ab7c915bf0 Fix for STR#3397: find adequate X font to use it with GL.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12404 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-08-27 07:58:38 +00:00
Manolo Gouy
04565cdcad Fl_WinAPI_Window_Driver::capture_titlebar_and_borders(): remove a few unnecessary statements.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12402 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-08-26 14:15:20 +00:00
Manolo Gouy
1fdf15d8eb WIN32: allow to change the active drawing surface between Fl_Display_Device and Fl_Image_Surface and keep the clipping region correct.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12401 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-08-26 14:10:56 +00:00
Manolo Gouy
a57381e804 Fl_Scalable_Graphics_Driver::draw(Fl_RGB_Image *,...) : change how the current scaling factor is taken into account.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12400 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-08-25 18:04:56 +00:00
Manolo Gouy
86e60e9068 X11 and WIN32: slightly change Fl_XXX_Graphics_Driver::cache(Fl_Pixmap*) to use the Fl_Image_Surface object.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12399 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-08-25 17:42:46 +00:00
Manolo Gouy
9eeac9c737 X11+xft-pango: have Fl::set_fonts() show fonts with black, light, medium, demi bold, oblique styles.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12398 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-08-25 15:33:05 +00:00
Manolo Gouy
475d2504bd WIN32: have Fl_win32.cxx #include "config_lib.h"
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12397 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-08-25 15:02:25 +00:00
Manolo Gouy
c7405a22a8 X11 platform: cleaner implementation of changing the active drawing surface and maintaining clip regions.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12396 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-08-24 12:40:29 +00:00
Manolo Gouy
c2d5cf4067 Simplify using Fl_XXX_Graphics_Driver::copy_offscreen() instead of Fl_Scalable_Graphics_Driver::copy_offscreen_unscaled()
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12395 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-08-20 20:18:15 +00:00
Manolo Gouy
4331fdf46b Remove undesirable statement.
A bug was visible in test/unittests when moving between lines and rectangles.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12394 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-08-20 11:41:53 +00:00
Manolo Gouy
c51cbd0a50 Prevent situation where SetProcessDPIAwareness was called after Fl_WinAPI_Screen_Driver::init().
The effect was that the file_chooser test app did not recognize the window scaling factor.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12393 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-08-19 07:29:26 +00:00
Albrecht Schlosser
b4e434774f Remove unnecessary #include files from Fl_Help_View.H
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12392 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-08-18 15:46:20 +00:00