Commit Graph

4487 Commits

Author SHA1 Message Date
Manolo Gouy
367e567b7b Remove class Fl_Translated_Xlib_Graphics_Driver and move its processing to Fl_Xlib_Graphics_Driver.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12205 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-03-17 16:33:14 +00:00
Manolo Gouy
0648489b9a Fix the projective transformation matrix used for Xrender-based scaled image drawing.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12201 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-03-17 08:58:17 +00:00
Manolo Gouy
bbbf91a4b5 Add scaled image drawing to the X11 platform using Xrender.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12200 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-03-16 21:26:12 +00:00
Manolo Gouy
16b3326629 Give platform-independent default implementation to Fl_System_Driver::gettime()
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12198 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-03-14 17:51:20 +00:00
Albrecht Schlosser
3b73dece7b Set missing svn properties.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12196 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-03-13 23:31:38 +00:00
Albrecht Schlosser
0ae21376f1 Fix include file case (patch from Haiku port, thanks).
Ref.: https://github.com/mmuman/fltk-test-only.git,
commit 59c3cfbdf0412fb30f8312ed9ddd96f5affd2f0a by François Revol.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12195 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-03-13 23:06:08 +00:00
Albrecht Schlosser
2b47a115e1 Remove superfluous semicolon.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12194 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-03-12 21:33:33 +00:00
Albrecht Schlosser
3311119335 Fix svn attributes of *.c, *.cxx, *.cmake and others.
- set svn:keywords Id
- set svn:eol-style native


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12193 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-03-12 15:12:35 +00:00
Albrecht Schlosser
a1d555bd80 Separated Fl_Input_Choice.H and Fl_Input_Choice.cxx (STR #2750).
As proposed in STR #2750 and #2752: only status quo, i.e.:

  - no new method Fl_Input_Choice::maximum_size(int) (STR #2750 and #2752)
  - no handling of FL_Down key to open menu (STR #2752)


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12192 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-03-11 23:26:32 +00:00
Albrecht Schlosser
5544404f7a Enable Up/Down keys in Fl_Spinner if input has focus (STR #2989).
Previously Up/Down keys worked only if one of the buttons was pressed
before so that it had the focus.

test/valuators.fl: The second Fl_Spinner widget (FL_FLOAT_INPUT) now has
wrap mode disabled whereas the first one (FL_INT_INPUT) uses wrap mode
(default, compatible with FLTK 1.3.x and older).


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12191 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-03-10 21:47:08 +00:00
Albrecht Schlosser
b67ba50f14 New method Fl_Spinner::wrap(int) to set wrap mode at bounds (STR #3365).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12190 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-03-10 18:49:44 +00:00
Albrecht Schlosser
7123b78f3f Separated Fl_Spinner.H and Fl_Spinner.cxx (STR #2776).
Also removed deprecated (misspelled) method names mininum() and maxinum().


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12189 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-03-09 22:08:29 +00:00
Manolo Gouy
fdee9dbf5d Have all Fl_Clock objects in a single FLTK app tick approximately at the same time.
Before this change, clocks can tick at any point within a second, so 2 clocks 
can appear to disagree on the time they give (by less than a second).
To see that, run the clock test program, icons one of the clocks,
and uniconize it just before the other clock will tick.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12188 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-03-07 17:04:31 +00:00
Manolo Gouy
c37744cde9 Add to Fl_System_Driver support for measuring time with split second resolution.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12187 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-03-07 16:58:13 +00:00
Albrecht Schlosser
3c375f3977 Fix tab alignment.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12186 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-03-07 00:20:26 +00:00
Albrecht Schlosser
18bb55545e Fl_Tabs: improve tab label drawing (STR #3075, STR #3076).
New method Fl_Tabs::tab_align() supports icons in tabs (STR #3076).
This commit also enables drawing labels of Fl_Window children (STR #3075).

Setting tab_align(FL_IMAGE_NEXT_TO_TEXT) draws images (icons) in the tab
labels if the child has an image(). Currently this draws the image() even
if the child is deactived (so it should presumably draw the deimage()).

Todo: Label measurement and Fl_Windows as children still need fixups.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12185 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-03-06 16:54:33 +00:00
Albrecht Schlosser
168979e6fb Simplify Fl_Tabs label drawing code (remove code duplication).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12184 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-03-05 14:52:10 +00:00
Albrecht Schlosser
a60f99d4a1 Improve label alignment docs and border case implementations.
Make clear that some alignment bit combinations are "illegal" and yield
undefined behavior that can be changed without notice.

Fix label alignment in some border cases where illegal bit combinations like
FL_ALIGN_LEFT and FL_ALIGN_RIGHT or FL_ALIGN_TOP and FL_ALIGN_BOTTOM are
both set, respectively.

Todo: There appears to be inconsistent handling WRT these "illegal" cases,
for instance with inside labels as opposed to outside labels, such that
the behavior seems to be unpredictable. See test/label.cxx.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12181 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-02-27 17:00:41 +00:00
Albrecht Schlosser
2d18660f5c Fix typo (case) in include file name.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12180 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-02-25 19:31:36 +00:00
Manolo Gouy
aa917d709c Avoid potential crash occurring after calling win->show(0,0)
See [fltk.general] Drawing to Fl_Offscreen received signal SIGSEGV, Segmentation fault.
that is unrelated to Fl_Offscreen but caused by calling win->show(0,0).

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12179 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-02-22 11:33:12 +00:00
Manolo Gouy
393e481756 Mac OS: remove unused members variables from platform-specific struct Fl_Window_Driver::shape_data_type
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12178 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-02-20 12:57:40 +00:00
Pierre Ossman
cebc3d71be Pre-multiply alpha on cursors on X11, as required by XRender.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12177 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-02-20 12:40:50 +00:00
Manolo Gouy
a2f22358cd Fix line wrap at word end when string widths are true double values (non integer).
Useful for rescaling that creates non-integer string widths.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12176 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-02-19 15:49:48 +00:00
Albrecht Schlosser
759d2f1c99 Fix line number alignment in Fl_Text_Display/Editor (STR #3363).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12170 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-02-04 21:56:38 +00:00
Manolo Gouy
cbc5a4842d Incorporate the code of function handleUpdateEvent() in the unique code section which calls it.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12169 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-02-03 13:30:36 +00:00
Albrecht Schlosser
a21f16486a Fl_Text_Display documentation updates.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12168 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-02-01 18:36:23 +00:00
Manolo Gouy
782d34fc8f MacOS: reduce the memory size of class gl_texture_fifo managing GL textures to draw strings under GL.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12166 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-01-24 12:53:33 +00:00
Manolo Gouy
c8fc8cc241 Allow resizable Fl_Gl_Window drawn using the Fl_OpenGL_Graphics_Driver
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12165 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-01-20 17:18:38 +00:00
Manolo Gouy
898d2580d3 Remove USE_OksiD_style_GL_font_selection preprocessor variable because it is equivalent to !USE_XFT
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12164 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-01-19 09:38:12 +00:00
Manolo Gouy
ebae29222d Fl_OpenGL_Graphics_Driver : use gl_font()/gl_draw() to draw text in a GL window - continued.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12163 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-01-10 17:21:14 +00:00
Manolo Gouy
723012c2bd Fl_OpenGL_Graphics_Driver : use gl_font()/gl_draw() to draw text in a GL window.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12162 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-01-10 15:33:14 +00:00
Manolo Gouy
0e22ca28dd Match glPushAttrib() with glPopAttrib()
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12161 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-01-10 15:12:42 +00:00
Manolo Gouy
28f1bdd408 Remove useless #include directives
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12160 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-01-10 10:23:19 +00:00
Albrecht Schlosser
3145e06585 Fix CMake config.h and compiler warnings.
Fixed warnings: -Wsign-compare, -Wunused-but-set-variable.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12155 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-12-23 15:40:25 +00:00
Manolo Gouy
461750c38e X11 platform: Add optional use of the pango library to draw text, gaining the possibility to draw text in any script supported by Unicode.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12153 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-12-21 15:05:02 +00:00
Manolo Gouy
00ebcd23aa Fix Fl_Xlib_Graphics_Driver::delete_bitmask() : the pixmap argument is to be deleted by XFreePixmap().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12152 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-12-21 14:52:16 +00:00
Manolo Gouy
936486cb1c Handle non-ASCII characters when selecting a word or moving the cursor by one word.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12149 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-12-17 07:42:54 +00:00
Manolo Gouy
d0f6ef5d32 Improve Fl_Graphics_Driver::copy_offscreen() so it accepts an Fl_Offscreen argument even if not created by fl_create_offscreen().
With this, fl_copy_offscreen() can be used with any drawing surface (e.g., PostScript) and any Fl_Offscreen
argument (e.g., returned by Fl_image_Surface::offscreen()).

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12148 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-12-16 16:06:07 +00:00
Manolo Gouy
1fc01c7cbb Implement a platform-independent version of Fl_Graphics_Driver::copy_offscreen() usable when drawing to PostScript.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12147 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-12-14 18:54:12 +00:00
Albrecht Schlosser
843aba4c68 Fix compiler warning [-Wsign-compare].
warning: comparison between signed and unsigned integer expressions


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12145 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-12-12 20:50:16 +00:00
Manolo Gouy
d17f17e606 The virtual function Fl_Graphics_Driver::copy_offscreen() cannot be implemented in a platform-independent way.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12144 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-12-12 18:20:26 +00:00
Manolo Gouy
c33df704ab Doxygen: more detailed descriptions of Fl_Image_Surface::offscreen() and Fl_Image_Surface::get_offscreen_before_delete().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12142 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-12-09 18:07:08 +00:00
Manolo Gouy
40f977ccce Simpler code path for a member function calling another member function of same class.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12141 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-12-09 09:48:56 +00:00
Manolo Gouy
43935dffeb Add static void Fl_Surface_Device::push_current(Fl_Surface_Device *new_current) and pop_current() to set/unset the current drawing surface.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12140 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-12-07 15:09:52 +00:00
Matthias Melcher
0a1eed150a Fixed OS X SDL double buffering issue and mouse dragging.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12139 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-12-06 23:21:52 +00:00
Albrecht Schlosser
da816dff5d Fix building without threads (pthreads).
Note: 'configure --disable-threads' or 'cmake -DOPTION_USE_THREADS=OFF'.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12137 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-12-06 18:49:22 +00:00
Ian MacArthur
b3c97970f3 For consistency, make the pre-processor check for the inclusion of "dlfcn.h" be
the same as the check which is subsequently used before calling dlsym() and dlopen().

Note that this may also work around an occasional issue observed when building
for Windows with cmake and mingw-64, which was sometimes erroneously attempting
to #include "dlfcn.h" - which is not generally appropriate on a Windows host.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12136 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-12-05 22:06:56 +00:00
Albrecht Schlosser
780755e46a Fl_Text_Display documentation clarifications.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12135 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-12-05 17:47:02 +00:00
Albrecht Schlosser
b6bd386231 Fl_Text_Buffer constructor: fix "requestedSize ignored in mGapEnd".
mGapEnd should reflect the total allocated size after the constructor
is executed, i.e. the text buffer is empty. This was not the case.

See thread "Fl_Text_Buffer constructor bug" (2016-12-05) in fltk.general.
The bug was harmless, but the pre-allocation did not work as expected, i.e.
the pre-allocated buffer size was allocated but effectively ignored later.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12134 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-12-05 17:03:29 +00:00
Manolo Gouy
c34e8d2725 Undo change at r.12129 that is OK but not really useful.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12132 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-12-01 22:04:44 +00:00