FL_ROUND_DOWN_BOX) on Linux (STR #2615). This was done by
(a) setting the line width in the box drawing function (was undefined, maybe 0)
(b) taking care of zero and negative line width in X11 clipping functions.
Both solutions would have solved the particular problem individually.
Additionally made local helper function fl_arc_i() in src/fl_round_box.cxx
static to avoid name clashes.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8630 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
It was hard coded to cover the range 0 to 0xFFFF, i.e. the
Basic multilingual plane, even though the demo code allowed
any start index, for any plane, to be entered on the CLI...
As a result, attempts to view supplemental planes were always
just folded back into the BMP.
This change makes the code display the 64K Unicode points
starting at the index given on the CLI, so that the
supplemental planes *can* now be viewed and tested.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8629 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
The new code makes the STR #2598 changes unix-specific so it does not
interact with the WIN32 platform.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8618 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
non-active_r() widgets"). This must be investigated further, and if necessary,
solved differently. STR #2420 will be reopened...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8615 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
are implemented as compiler macros and can only be edited manually to test
different implementation details.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8609 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Fl_Paged_Device::print_window() where the window didn't redraw well in some
cases after printing.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8606 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
The win32 text-extents stuff now seems to be handling surrogate pairs correctly,
at least in my testing harness, and with a variety of supplementary plane fonts.
I really will leave this alone now - unless anyone finds bugs of course!
I have tested for regressions and it seems to be fine AFAICT.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8605 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
if (winclass != kHelpWindowClass)
is now replaced in Fl_cocoa.mm by its exact equivalent:
if ( w->border() || (!w->modal() && !w->tooltip_window()) )
so that tooltip windows are handled as in carbon.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8601 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
workaround for text_extents being measured on glyphs from
supplementary Unicode planes.
It has no effect on glyphs from the Basic plane, so should not
be visible at all to most code.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8600 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
badly formed UTF8 strings.
This probably is not the best solution, but it
does work.
Note that the problem actually seems to be in
setting the window title, and indeed if you try to
label ANY window with a badly formed UTF8 string
(not just a tooltip) you get the same exception
thrown.
NOTE: I'm not even sure why we try to set the
window title in tooltips, as it is never used
and the tooltip label itlsef still works fine.
Anyway, we can do something better, but this will
work for now.
Aside: If you close an app on OSX whilst a tooltip
is visible, the app will not exit, as there is still
a window open (the tooltip) but no way to cancel
the tooltip.
Don't know if this is OSX specific or not though
but it is certainly a bug.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8598 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
I found some kind of weird interaction with some symbol fonts that
covered the supplementary planes that meant we could not measure
the width correctly (although we did measure the text extents correctly.)
This mod mirrors what we do for non-surrogate-pair glyphs more
closely and appears to do the Righ Thing now, at least for the test fonts that I have, and which were exhibiting the aberrant behaviour before.
I don't think I have broken anything else in the meantime!
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8597 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Added Fl_Window::decorated_w() and Fl_Window::decorated_h() that return the size
of a window with its title bar and frame.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8593 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
In particular, I have added a new function to src/fl_utf.c called fl_ucs_to_Utf16() which
converts a single 32-bit Unicode value into one (or more) UTF16 cells.
This is needed in the win32 char-by-char text width() logic, and I suspect may also be useful in the OSX code in some places.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8585 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
The problem seems to be in GetGlyphIndicesW() which is returning invalid indices for the surrogate pairs.
This causes subsequent measurements of the glyphs to fail, of course.
This patch does not fix the problem, it only makes sure it fails cleanly, causing a fallback to the default fl_measure like behaviour.
This is not nice, nor what I want, but at least it is consistent for now...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8582 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
made consistent with other platforms, that is, the 4th byte of each pixel is ignored
instead of treated as transparency data.
In the future, the fl_draw_image() signature may be extended with another argument
that would describe if and how transparency information is available.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8581 ea41ed52-d2ee-0310-a9c1-e6b18d33e121