summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2011-04-12Following STR #2583, the behaviour of fl_draw_image() with d = 4 on Mac OS ↵Manolo Gouy
is here 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
2011-04-12Modify win32 text width(ucs) function to handle surrogate pairs.Ian MacArthur
This now correctly measures glyphs whose codepoint requires a surrogate pair to represent it in UTF16. NOTE 1: This code makes any UCS point > 0xFFFF a "special case" and measures it explicitly, rather than using the lookup table. This "explicit measure" may be slow, but actually seems OK in my tests, so far. The lookup table still covers the basic multilingual plane and is used for any glyph <= 0xFFFF as before, so the behaviour for most existing bodies of text is unchanged. This code also retains the historical behaviour under Win32 whereby strings are measured char-by-char rather than as a whole string - again this is intended to retain compatability with existing implementations. It is proposed that we should move towards measuring entire strings in the future as this is conceivably more efficient and certainly more consistent - rendering is now largely done "string as a whole" so we ought to measure in that way too; though to date the differences seem tiny, as evdienced by the text rendering page of the unittest example. NOTE 2: This does not fix the *rendering* of surrogate pairs under XP, which still seems to be broken. I suspect that TextOutW() may genuinely broken under XP, as it works fine on Vista, and it is not just my code that seems broken, other non-fltk programs exhibit the same aberrant behaviour. Measuring of surrogate pairs appears to work correctly though... Maybe we are using TextOutW() wrongly? git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8580 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-04-11modify the win32 text ::draw() function to do "string at once" rather than ↵Ian MacArthur
"char by char" rendering, as advised by Bill and Manolo. This seems to be good so far, though does not resolve the XP surrogate pairs issues. If this fix is bad, we need to revert to r8577, which is good... And I still haven't fixed the handling of width in win32 code, so it is still inconsistent with draw for high Ubicode points. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8579 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-04-11Minor rework of code to make ::rtl_draw() and ::draw(int angle,...) more ↵Ian MacArthur
consistent in coding terms. Behaviour of output unchanged. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8578 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-04-11Fixed crash on Mac OS when Fl::focus() called before show().Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8577 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-04-11Added missing fl_lock_function() / fl_unlock_function() pairs of calls.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8576 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-04-11Remove use of the MS API call MultiByteToWideChar(...) and re-instate use of ↵Ian MacArthur
fl_utf8toUtf16(...) now that I have fixed a slight off-by-one in handling the ends of the input strings. This makes string handling much more consistent across variants. Doh!. I am such an idiot... NOTE: This still does not fix aberrant handling of surrogate pairs under WinXP, and I still haven't resolved the issues with the win32 ::width() functions not handling surrogate pairs at all... git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8575 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-04-10r. 8537 had by error introduced a compilation error with ppc architecture.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8573 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-04-10Mac OS: fl_rect(), fl_rectf(), and fl_point() now have exact same output to ↵Manolo Gouy
display and printer. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8572 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-04-08Added missing test of necessity of fl_open_display() call.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8571 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-04-07Replace a few instances of fl_utf8toUtf16() with the near-equivalent MS API ↵Ian MacArthur
call MultiByteToWideChar() as this seems to fix the regression I introduced in the rendering of rotated text on WinXP. However... It does not cause the "high" Unicode code points to render correctly on XP, even though they do work on Vista (and I assume later variants like Win7...) So there's still something I am missing here. Maybe XP is just broken? That'll be a problem... git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8570 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-04-07Modified Fl_Quartz_Graphics_Driver::width(unsigned int wc) so it handles ↵Manolo Gouy
properly cases with wc > 0xFFFF. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8569 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-04-06Further work to fix win32 handling of surrogate pairs for "high" Unicode ↵Ian MacArthur
points... Now fixed handling of rotated text version of win32 draw method. Fixes to the various ::width() methods for win32 and OSX still TBD. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8568 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-04-06Initial work to fix handling of surrogate pairs on win32 - draw() was not ↵Ian MacArthur
handling any Unicode char above U+FFFF as we did not handle the case where more than one UTF16 cell was required to hold the full glyph. This change works, but is incomplete, other sections of the win32 code (and possibly OSX code) are making the same invalid assumptions about UTF16 chars. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8567 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-04-06Fixed problem with void function trying to return a value.Greg Ercolano
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8566 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-04-06Added Fl_Printer::driver(void) function that can be useful.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8565 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-04-06Window title bars are now printed with their rounded angles.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8564 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-04-06Added function Fl_Printer::set_current() that may be useful.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8563 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-04-05Mac OS: Fl_Window::resize() shd not modify the maximum window size if it is 0.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8562 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-04-05Removed an NSAutoreleasePool allocation/release.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8561 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-04-05Mac OS: the "Print Front Window" item of the application menu now prints ↵Manolo Gouy
also the title bar. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8560 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-04-05Removed usage of NSMainMenuWindowLevel to use only 3 window levels.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8559 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-04-04Fix error that can happen with some 3rd party fonts lacking certain size ↵Manolo Gouy
information. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8558 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-04-03Mac OS: removed duplicate FL_KEYBOARDS events with function and modifier keys.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8557 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-04-01about STR #2599: - fix the synchro between key presses and key eventsManolo Gouy
- implement character palette input by FL_PASTE events git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8555 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-04-01Updated dependencies.Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8554 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-04-01Fixed dependencies of bundled libs, corrected a typo.Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8553 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-04-01Fix STR #2598 with OP patch.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8552 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-04-01Mac OS: fixes in STR #2588 the warning message "_createMenuRef called with ↵Manolo Gouy
existing principal MenuRef already associated with menu". git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8551 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-03-30Mac OS: Make the Fl::event_key() function distinguish between left and right ↵Manolo Gouy
modifier keys. Also, don't rebuild the application menu if one is already there. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8549 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-03-30Documentation updates and typos.Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8548 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-03-30Removed global variable appleMenu.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8547 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-03-29Fix STR #2588. FLTK was subclassing a very important system-defined class ↵Manolo Gouy
NSApplication. This created conflict with other libraries that do the same. This STR reports that Tcl/Tk is one such library. The fix removes any NSApplication subclass usage in FLTK, and requires to initialize the NSApplication-subclassing library before calling fl_open_display(). In this condition an FLTK application can also use an NSApplication-subclassing library such as Tk. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8546 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-03-29Added info about where to find Mac OS virtual keycodes.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8545 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-03-29Set svn properties.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8544 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-03-29Minor change.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8543 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-03-28Mac OS: simplified the handling of text input:Manolo Gouy
use the FLTextView subclass of NSTextView only for Mac OS < 10.5 because it's not necessary for Mac OS >= 10.5 git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8542 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-03-28Mac OS: added field subwindow to Fl_X class that is true if this is a subwindow.Manolo Gouy
Useful when deleting a window because subwindows share their xid with their parent window (unlike under MSWIn or Xlib), so subwindows should not delete their xid. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8540 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-03-27Enhanced documentation of Fl::event_inside() to mention the restrictionsAlbrecht Schlosser
WRT subwindows and when using the window itself as the widget argument. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8538 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-03-26Mac OS: added gl_texture_reset() function to be called when deleting an ↵Manolo Gouy
Fl_Gl_Window git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8537 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-03-26Mac OS: Fixed bug where gl_draw() would fail after deletion of an Fl_GL_Window.Manolo Gouy
The fix invalidates the pile of string textures after each Fl_Gl_Window deletion. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8536 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-03-25Fix STR #2595. Mac OS. When deleting a subwindow, don't delete the Cocoa window Manolo Gouy
(xid) attached to it because it is in fact the Cocoa window of its parent window. I check that by making sure that none of the windows in the window list uses this Cocoa window. Is there a better algorithm ? git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8534 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-03-25Fix 2nd issue of STR #2594: Fl::focus() now informs Mac OS when the focus Manolo Gouy
changes window. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8533 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-03-25Fl::focus(): allows the focus to be set to an Fl_Window widget.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8532 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-03-25Mac OS: implement the Cocoa equivalent of Carbon's kEventWindowHidden handler.Manolo Gouy
Positive effect visible with the clock demo. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8531 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-03-24Fix STR #2594: the focus after creating a new window was not set correctlyManolo Gouy
because some code present in Fl_mac.cxx was not reflected in Fl_cocoa.mm. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8530 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-03-22PostScript support: simplified the Fl_PostScript_Graphics_Driver class by ↵Manolo Gouy
removing the draw_scaled_image(_mono)() member functions. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8528 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-03-22Mac OS: correct handling of fl_draw_image() call with L > W*D when printing.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8527 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-03-21Fix STR #2587: under Xlib, the X input method must be reset by the ↵Manolo Gouy
Fl::compose_reset() function. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8522 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-03-20Fix STR #2589: incorrect cohabitation of modal and non-modal windows.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8521 ea41ed52-d2ee-0310-a9c1-e6b18d33e121