Commit Graph

3762 Commits

Author SHA1 Message Date
Albrecht Schlosser
de74c82d42 Enable definition of Unicode conv. options on compiler command line.
Three documented pre-processor variables can now be defined on the
compiler command line to avoid editing the FLTK src code. The default
values still apply unchanged.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11404 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-23 13:36:50 +00:00
Albrecht Schlosser
612e6d7974 Fix Doxygen warning.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11390 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-20 17:55:17 +00:00
Manolo Gouy
014ea2f871 Fix potential memory error in Mac OS code for printing window titlebars.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11370 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-19 06:04:19 +00:00
Manolo Gouy
71ed0752fb Fix minor default in Fl_Window::wait_for_expose() under Mac OS.
If the exposed window contains a sub-window the sub-window can disappear
after having been drawn. This can be seen with the device demo
completed with a wait_for_expose() call just after the main window show().
The fix applies wait_for_expose() recursively for all subwindows.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11352 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-12 05:35:40 +00:00
Manolo Gouy
a0f26d3cf4 Fix freeze of Fl_Native_File_Chooser occurring under Mac OS + X11.
The fclose(stderr) apparently freezes the opening of the GTK file chooser.
It is replaced by 2>&- which closes stderr for the lpstat command.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11329 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-09 16:08:39 +00:00
Albrecht Schlosser
a0d519142c Add localization of modifier key names in shortcut labels.
Modifier key names like Alt, Shift, Ctrl, Meta can now be localized by
setting global string pointers. See documentation of fl_shortcut_label().


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11321 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-08 16:58:43 +00:00
Albrecht Schlosser
15477700ed Improve documentation of Fl_Valuator class.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11316 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-08 13:42:59 +00:00
Albrecht Schlosser
6f18ec06d5 Fix overflow in Fl_Valuator::precision(int) to 0...9 (STR #3280).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11315 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-08 13:40:18 +00:00
Ian MacArthur
337e115c54 Fl_Tree failed to compile if built with no ABI guard set (or the default 1.3.0 set).
The variable "_lastselect" had been added to the methods Fl_Tree::remove() and Fl_Tree::clear() without any ABI guards, but "_lastselect" was added to the class ABI at 10301 (so far as I can tell).

Builds now with my patch: not sure it is correct, but... Will commit anyway since it allows the lib to build, but please feel free to fix it better!




git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11314 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-08 09:56:46 +00:00
Manolo Gouy
d01ff3864f With X11 + Xdbe, deallocate the Fl_Double_Window's back buffer at window close.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11312 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-08 05:18:28 +00:00
Greg Ercolano
c9e114945e lastselect_: reset to zero in remove() + clear(), added description comment for variable.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11306 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-07 20:35:28 +00:00
Albrecht Schlosser
0d316c3140 Remove obsolete files.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11295 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-05 16:24:37 +00:00
Albrecht Schlosser
3948405951 Fix negative 'd' and 'ld' args in fl_draw_image() (X11 + Windows).
This commit fixes a regression in FLTK 1.3.x, where negative values
of 'd' (pixel delta) and 'ld' (line delta) didn't work anymore under
Unix/Linux (X11) and Windows.

With this commit the regression is fixed on all supported platforms.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11270 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-02 15:45:26 +00:00
Manolo Gouy
35010115c9 Allow fl_draw_image(buf,X,Y,W,H,D,L) calls with abs(L)>D*W on the Mac OS platform.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11263 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-02 07:51:53 +00:00
Manolo Gouy
f4cc803b3c Have fl_draw_image(buf,X,Y,W,H,D,L) support negative D and/or L arguments on Mac OS X - continued.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11254 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-01 15:08:57 +00:00
Manolo Gouy
de07c2ea94 Accept fl_draw_image(buf, X,Y,W,H,D,L) with negative D and/or L arguments on the Mac OS platform.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11250 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-29 17:01:01 +00:00
Albrecht Schlosser
753aa53c2e Fix compiler warnings, last part (STR #2988).
The fixes in this commit include those proposed in file #6
(fltk-misc-1.patch) with a few modifications (see comment on STR).

Changes in src/fl_set_font.cxx are not included (see comment #13).


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11243 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-27 15:14:42 +00:00
Albrecht Schlosser
4c191cda8f Update dependencies.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11211 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-22 17:46:53 +00:00
Albrecht Schlosser
78dad08926 Fix unused variable compiler warning.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11210 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-22 17:38:26 +00:00
Albrecht Schlosser
21da7922d0 Fix slow scrolling, line number display, and scrollbars (STR #3272).
Optimized wrap mode - removed unnecessary wrap margin calculations.
The speed-up is significant, but there is still room for improvements.

Refactored parts of the code to make the decisions more modular and
(hopefully) obvious.

This commit also fixes some positioning issues with different scrollbar
alignments and the new line number display.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11205 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-22 16:41:55 +00:00
Albrecht Schlosser
0c4dcd8a45 Fix Fl_Text_Display wrap mode when line numbers are on (STR #3272).
This is part 1 of the proposed patch, slightly reformatted.
See STR #3272, comments #1 - #3.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11202 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-21 12:20:47 +00:00
Greg Ercolano
2fd2cd1e7a Some code cleanup of FNFC Win32: no functional changes.
> Replace huge static WCHAR wpattern[] array with dynamic in win32 FNFC (ABI 1.3.4)
      (Should decrease the memory weight WIN32 lib)

    > Simplify current working directory management

    > Comment simplification, CMP adherence



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11188 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-18 04:21:27 +00:00
Manolo Gouy
de47a8f7b1 Improve image drawing to double-resolution Fl_Image_Surface objects (Mac OS only).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11179 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-15 17:06:48 +00:00
Greg Ercolano
7ba4a6c9c2 Applying patch for buffer overflow provided by Michael Sartain on fltk.coredev 02/10/2016
Subject: Fl_Tree::item_pathname() byte overflow



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11177 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-15 06:11:45 +00:00
Albrecht Schlosser
0e47a4a8a9 Fix HTML entities in Fl_Help_View.
Removed obsolete ENC() macro, fixed some encodings that were still
Windows CP-1252: converted to correct Unicode values.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11174 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-14 19:49:08 +00:00
Greg Ercolano
f6e6c20843 Addresses issue raised by Michael Sartain on fltk.coredev on 02/11/2016;
prevent problems with Fl_Tree::_item_focus remaining valid after clear().
Applied his patch, plus extra checks added to Fl_Tree_Item's dtor.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11173 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-14 14:29:47 +00:00
Manolo Gouy
1e2118d20f Simpler code to support drawing to high-resolution Fl_Image_Surface object.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11161 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-13 06:14:40 +00:00
Manolo Gouy
249e2e9b00 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 and with FL_ABI_VERSION >= 10304. 
On other platforms, the new member function returns an unscaled bitmap.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11156 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-11 20:42:51 +00:00
Albrecht Schlosser
90a2d680e5 Fix valgrind warning (uninitialized variable) in Fl_Window.
Visible only with FLTK_ABI_VERSION >= 10303, since FLTK 1.3.3.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11134 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-09 01:11:03 +00:00
Albrecht Schlosser
cd4284f056 Fixed Windows drag'n'drop not showing insert position (STR #3209).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11131 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-07 10:10:52 +00:00
Manolo Gouy
678c3a1fc7 Set depth of image returned by Fl_Image_Surface::image() back to 3 on Mac OS X.
This depth was set to 4 at r.10999 to help dealing with images of windows with rounded
corners. But it was not such a good idea to have an image depth that changes with the platform.
For example, the shapedwindow example program was made more complicated.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11118 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-02 07:15:57 +00:00
Albrecht Schlosser
1d85cc43f3 Fix compiler warnings [-Wsign-compare] (STR #2988).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11095 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-31 03:40:58 +00:00
Albrecht Schlosser
e934dd5468 Fix compiler warnings (STR #2988).
gcc issued lots of warnings if compiled with -Wundef. This shows access
to undefined preprocessor macros, particularly for config tests.

This update is similar, but not identical to fltk-cpp-fixes.patch as
posted on STR #2988 (file #1). There have been changes in the configure
script and the  macros in configh.in and configh.cmake.in meanwhile.

This commit compiles with -Wundef w/o such warnings under Linux and
Windows (MinGW).


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11094 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-31 02:49:56 +00:00
Manolo Gouy
739e4a8eaf Mac OS: improved the Fl_Image_Surface class so it returns an RGBA image
allowing to draw exactly windows with rounded corners.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10999 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-06 20:47:39 +00:00
Manolo Gouy
2f642a51c9 Fixed typo.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10998 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-06 20:41:57 +00:00
Manolo Gouy
c9712614df 1) The Fl_Window::decorated_h() computation was incorrect under MSWindows10
because it did not use the correct dwmapi.dll - based implementation.
This commit uses the correct way to compute the width and height of window
borders in Fl_Window::decorated_h() and in Fl_Paged_Device::draw_decorated_window().

2) Fixed the computation of enhanced metafile units that correspond to a given pixel size
used by the Fl_Copy_Surface class on the WIN32 platform.

Tested with MSWindows XP, 7 and 10 using the device test app.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10997 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-05 11:59:08 +00:00
Manolo Gouy
95fb87eff5 1) For the X11 and the Mac OS platforms, a default font (FL_HELVETICA, FL_NORMAL_SIZE)
is used when fl_draw() is called while no font has been set before. This commit does the same
on the MSWindows platform, for consistency.

2) Slightly improved Fl_Image_Surface::draw_decorated_window() under WIN32.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10996 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-05 05:48:58 +00:00
Manolo Gouy
94e2c48f5f Implemented Fl_Image_Surface::draw_decorated_window().
This gives the same drawing capabilities to all supported drawing 
surfaces: display, printer, clipboard, in-memory bitmap image,
PostScript file.

Also, completed the Mac OS implementation of 
Fl_Copy_Surface::draw_decorated_window(Fl_Window *win, int delta_x=0, int delta_y=0)
that did not honor non-zero last arguments.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10990 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-04 13:16:23 +00:00
Manolo Gouy
d37269a23b The changes introduced at r.10921 destroyed program-controlled window resizing.
This change hopefully repairs that.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10987 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-31 10:39:51 +00:00
Manolo Gouy
69ec698e41 Mac OS: modified CMake config files to allow use of OPTION_APPLE_X11
to build an X11-using version of FLTK on the Mac OS platform.
This matches the recent support of the --enable-x11 option
by the configure script on the mac.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10986 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-31 06:19:59 +00:00
Albrecht Schlosser
17c4817592 Add configure and CMake checks for X11/Xregion.h.
Configure and CMake now both check if X11/Xregion.h exists on the
build system and set HAVE_X11_XREGION_H in config.h accordingly.

src/Fl_Pixmap.cxx: modified to use the configure test as proposed by Manolo
in fltk.coredev on Dec 13 2015 in thread "Using X11 backend on OS X".


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10983 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-30 12:10:15 +00:00
Manolo Gouy
59823515cf Mac OS: It is not necessary to open the display to send the
+[NSWindow  frameRectForContentRect:styleMask:] message
(checked on 10.11 and 10.3). Therefore fluid -c will run without
opening the display.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10979 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-23 09:33:06 +00:00
Manolo Gouy
527d5943d0 Mac OS: when an app is asked to open a file by Applescript, have it redraw itself
without waiting for the next event to come, because AppleScript does not break the
event loop.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10978 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-23 07:34:49 +00:00
Manolo Gouy
ca5811e8bc Documentation only: removed warnings that appeared with Doxygen 1.8.10
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10977 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-22 11:49:03 +00:00
Manolo Gouy
25fc85190e Mac OS: Fix for STR#3268 where a fullscreen window could become relocated
behind the menu bar and dock.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10975 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-21 13:38:49 +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
5c7ef30341 Running FLTK in static initializers (cont'd):
To make sure that fl_graphics_driver is initialized, it is enough to test whether it is null.
This saves the memory cost of a static variable.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10971 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-16 10:22:13 +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
Albrecht Schlosser
14669685d8 Fix Fl_Browser if text argument to some methods is NULL (STR #3269).
Fl_Browser::add(), Fl_Browser::insert(), and Fl_Browser::text() didn't
test if the provided text argument was NULL, although this was explicitly
allowed in the documentation.

Also applied some minor documentation fixes.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10966 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-15 10:16:56 +00:00