This commit is the accumulated patch introduced in branch 1.3
in svn r 11094, 11095, and 11096.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11097 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
that triggers a warning when FL_PORTING is ON and with a default platform-neutral
implementation.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11074 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2) Advance branch-1.3-porting with new function Fl_X::capture_titlebar_and_borders()
that contains all the platform-specific code of all operations related to drawing
window borders and title bars. What is platform-specific and what is not
is therefore much clearer, to ease porting.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11002 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
that copies a window to the clipboard together with its title bar and borders.
This requires very little new code because the capture of window decorations
is shared with the Fl_Paged_Device::print window() method.
The device test program is changed to call the new method.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10928 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
X11 windows as window manager need these to map windows to processes
and we might lose functionality without them.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10710 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Fixes a crash when a program calls take_focus() before any window has been show()n.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10434 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
that gives a non-rectangular shape to a standard window. The benefit is that it works with Fl_Double_Window and Fl_Menu_Window as well.
It also works for free with Fl_Gl_Window on the X11 platform only.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10325 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This needs to be done from FLTK as it affects the window interaction,
which FLTK is largely responsible for.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10314 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This gives applications the means to handle some low level
integration with the system that might otherwise not be possible
without modifying FLTK itself.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10310 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
reproduciable, and the change causes the wrong symbol to be
generated for Ctrl-minus. STR 264.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10303 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Each set_cursor was taking 0.5ms, due to libXcursor having to open, parse, and close
cursor theme files. Other toolkits likewise cache created cursors.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10260 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
The new class is fully Doxygen-documented.
Added an example program (example/shapedwindow.cxx) that exercises the new class.
Modified all IDE-supporting files accordingly.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10255 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Also change our fallback cursors to use this method, so that fallback
cursors are handled in a platform independent manner. STR #2660.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10196 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
makes sure that windows are decorated better when a modal window
is active. STR #2802.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10190 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
The API follows that of EWMH, which gives you a good control
over which monitors to use.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10189 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Added Fl_Image_Surface class to draw into an Fl_Image object.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10159 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
The fix is twofold:
(1) if Fl_Window::flush() is called, this is ignored silently
(2) if Fl_Window::make_current() is called directly, but the window
is currently not shown(), then the program will be terminated
with an error message.
The latter is necessary because returning from make_current() would
leave the program in a state where it would expect to have a valid
drawing context.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10095 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
unsigned causes us to read the wrong values on x86_64.
The length is also defined as the number of 32-bit values,
not the number of bytes.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10058 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Applying Chris's patch to fix d+d of text selections from Firefox/Thunderbird -> FLTK.
Also applied Greg's fix for d+d of utf8 text in same use case.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9824 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This introduces 3 new functions
static void Fl::screen_work_area(X,Y,W,H)
static void Fl::screen_work_area(X,Y,W,H,mx,my)
static void Fl::screen_work_area(X,Y,W,H,screen_no)
that compute screen work areas and are used by FLTK to position menu windows.
The Fl::x(),y(),w(),h() functions are made consistent across platforms: they return
the origin/size of the work area of the main screen (as far as possible, see below).
On the Mac OS platform, all screen functions reflect changes in screen number and
positions without requiring the application to restart.
On the X11 platform, I did not find an API to compute the main screen work area
in all conditions. What's used does compute the correct work area when there's
a single screen, but not when there are several, because it returns an area that
encompasses all screens. The implemented workaround is that Fl::x(),y(),w(),h()
and Fl::screen_work_area(X,Y,W,H,0) return the exact work area when there's
a single screen, and return the full screen area when there are several.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9084 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
when the window is iconized for all platforms.
Also, factorized some duplicated code in src/Fl_x.cxx.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8759 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
title bar-containing window, so we resign printing the window decoration.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8754 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
either deleting the corresponding FLTK window, or recreating the X11 window.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8723 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
Note: '\n' is added in the default Fl::warning() handler function and should
not be in the format string.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8473 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Should not change the behaviour from the previous fix, it is
just a bit tidier!
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8279 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Denton Thomas.
This is not quite the patch as he proposed it, but I *think* whay I have done
is OK.
Seems to be OK for me anyway... Needs testing by others of course!
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8278 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
as discussed in fltk.development ("Fl_X not exported on mac in 1.3").
Tested OK with configure+make and CMake.
At this point, the FL_X class remains to be hidden on the WIN32 platform.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8268 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
X input methods even if the XIM server starts after the application.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8097 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
selection, source file indenting, and a crash if we have an empty selection.
Update for previous fix to STR #2472 (X11).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7997 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
issue with UTF8 window labels not working with xwininfo.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7929 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
on menu and tooltip items that were seen on some systems using compiz.
Albrecht or Alvin may have more sophisticated fixes later, providing us with more control
over window types under X11.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7459 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
(1) adding Fl_Device class (and more) for device abstraction
(2) adding Fl_Pinter class (and more) for printing support.
Todo: Code cleanup, update dependencies, remove/replace test print window.
I'm looking into converting the test window popup in a global shortcut
that would pop up the print dialog now...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7263 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
STR 2185 and in fltk.development to prevent memory leak. The removed comment
about a crash in XFree86: _XlcCreateDefaultCharSet() appears to be outdated
(probably from 2005/2006).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6767 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Fl_x.cxx:fl_set_spot()
+ Fixed fl_ask.h erroneous include replaced by fl_ask.H include in
colbrowser.cxx
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6622 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
The Windows version needs a window to anchor the display window for complex
text editing (IME), e.g. Japanese text. This update adds an additional
Fl_Window argument to fl_set_spot(), but this is only used for Windows.
The implemented version is tested with Japanese text input, including input
in subwindows (test/subwindow.cxx).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6605 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This integration is minimum as discussed, in particular it does not feature any fltk cairo drawing substitution
as in fltk2.
Still it provides all the fundations to go further even in next 1.4 ...
By default *no* cairo features are implemented nor linked, it can only be activated by --enable-cairo
whose default is false.
Please visit the README.cairo for complete description.
+ fixed UTF8 compilation pb on linux ubuntu
+ minor comments fixes on the fly
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6350 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Fl_win32.cxx and Fl_x.cxx modified for:
======================================
- STR# 2029 fix: async select using USE_ASYNC_SELECT def. would not work. Obsoleted and commented as discussed
- STR# 2032 fix: fl_ready would load wsock dll unnecessarily. Bad indents corrected
fluid.cxx modifed for:
======================
Added a local portable Fl_Process class to fluid enabling popen encapsulated win32 impl. based on CreateProcess() to work as expected in non console apps, so that exec command output window is now also implemented in win32, also permitting testing add_fd()/remove_fd() API relying on winsock on win32.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6188 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Drop changelog for hidden mouse pointer problems since that change was
not made until after 1.1.7 was released (CHANGES only shows changes/fixes
to the previous release...)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5657 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
work area on X11 (STR #1482)
Fix another "missing sentinel" warning in the Xft code.
FL/Fl.H:
- Remove in-line x() and y() implementation for X11.
src/Fl_x.cxx:
- Fl::x(), Fl::y(): Added.
- fl_init_workarea(): Added to get _NET_WORKAREA property from the
root window; if none, is available, the code falls back to 0, 0,
DisplayWidth, and DisplayHeight.
src/fl_font_xft.cxx:
- Missing sentinel needs cast to void *.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5535 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Of course, poping up a tooltip window does *not* disable further tooltips... .
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5200 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
On Win32, releasing a numeric keypad key w/NumLock off wiould return the wrong keycode (keypad instead of arrow key).
Documentation changed accordingly. X11 code is yet to be tested.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5188 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
"text/uri-list" when it sees the dragged text is composed of
URIs.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4736 ea41ed52-d2ee-0310-a9c1-e6b18d33e121