The new XRender code uses 21 times less cpu than the old
read-back-and-manually-blend option. The blending is also
GPU-accelerated where possible, but works in software on
vesa/fb drivers.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10630 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Useful for printing, PostScript or PDF output, or retina displays.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10615 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Note to devs: if I missed something, please mark follow-up commits with
[Version 1.3.4] so we can find the necessary commits for version updates.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10612 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Although this is probably not the application's fault and this
was found with gcc 4.5.3 using Windows 64-bit cross-compiling only.
windowfocus.cxx:25:18: error: 'Fl_Input* inp' redeclared as different kind of symbol
/usr/x86_64-w64-mingw32/sys-root/mingw/include/intrin.h:347:5: error: previous declaration of 'int inp(short unsigned int)'
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10594 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This was a regression introduced in svn r 10573 that affects new builds,
when the target directory for test files (bin/examples) doesn't exist yet.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10577 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Demo programs using Fl::args() and fl_get_system_colors() instead of
Fl_Window::show(argc,argv) didn't correctly initialize the Fl::scheme()
if the environment variable FLTK_SCHEME was set.
Calling Fl::scheme(Fl::scheme()) fixes this, because (currently) only
Fl::scheme(NULL) reads the environment variable FLTK_SCHEME.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10565 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
(1) Set window title to reflect current scheme.
(2) Add class BoxGroup to show a red frame around each box
and/or a white box background.
Both features are disabled though. Edit the source file to enable.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10546 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
All changes are mac-specific, except a very minor change in file src/gl_draw.cxx
where string drawing wrongly claimed to support @symbol, not possible
because symbols are drawn using non-GL primitives.
Unchanged application code can use the new FLTK code.
In addition, the new code allows mac applications to draw OpenGL scenes
at high resolution on so-called 'retina' displays, but this requires some
support from app code. They must call, before opening GL windows,
Fl::use_high_resolution(1);
and change their glViewport() calls as follows
glViewport(0, 0, pxel_w(), pixel_h());
This uses 2 new member functions of the Fl_Gl_Window class,
pixel_w() and pixel_h() returning the window dimensions in pixel
units, that is, twice the w() and h() when the window is mapped
on a retina display.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10498 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This test program may not be in the optimal position in the menu,
but w/o restructuring more of the menu this was the best position
I could find. Maybe we can restructure the menu in the future.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10433 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Hopefully this doesn't break Windows or Mac OX IDE builds, please help
testing.
Short story: these functions showed compatibility problems, lacked some
quality (regarding interruption by signals), and maybe more.
This is a combined commit that reverts three (3) svn commits. The following
lists are extracted from git, but show the svn revisions and files:
Remove Fl::*sleep() family, part 1: revert svn r 10287.
:100644 100644 a988702... 794920f... M ide/Xcode4/FLTK.xcodeproj/project.pbxproj
Remove Fl::*sleep() family, part 2: revert svn r 10151.
:100644 100644 cf839e6... bfde9c4... M ide/Xcode3/FLTK.xcodeproj/project.pbxproj
:100644 100644 794920f... c0c772a... M ide/Xcode4/FLTK.xcodeproj/project.pbxproj
Remove Fl::*sleep() family, part 2b: revert svn r 10151 (continued).
:100644 100644 bfde9c4... abf2922... M ide/Xcode3/FLTK.xcodeproj/project.pbxproj
Remove Fl::*sleep() family, part 3: revert svn r 10150.
:100644 100644 b469018... e76a3e5... M FL/Fl.H
:100644 100644 7bb7899... 4d4755d... M ide/VisualC2008/fltk.lib.vcproj
:100644 100644 9d9a2cf... 334aef8... M ide/VisualC2008/fltkdll.vcproj
:100644 100644 5533a54... e30058b... M ide/VisualC2010/fltk.lib.vcxproj
:100644 100644 e49f691... 1259c87... M ide/VisualC2010/fltk.lib.vcxproj.filters
:100644 100644 946f31a... d53ab80... M src/CMakeLists.txt
:100644 000000 fed36fd... 0000000... D src/Fl_sleep.cxx
:100644 100644 3d9656c... 3b265f9... M src/Makefile
:100644 100644 6eadbcb... 5dd5872... M test/sudoku.cxx
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10419 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Moved docs from header file and enhanced docs, particularly about the
resizable() widget and the resize behavior in general.
Changed the tile demo program to use a resizable() with 20 pixels
border distance, so that border dragging is limited as described in the
docs. Updated the image file to reflect the current test/tile.cxx demo.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10385 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
All fluid .fl files have been rewritten with fluid 1.3.3 and may differ
somehow, but there are no significant changes.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10353 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Also modified .gitignore, svn-properties, Makefile and CMake-Files.
Todo: test/twowin.cxx and test/windowfocus.cxx need to be added to ide files
(MS VC++ and Xcode).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10339 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
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
Now, instead of just ignoring the scrollwheel
events, I try to make the scene zoom in/out
in response to the wheel instead.
Seems to be working; not sure I have the
zoom sensitivity set to a sensible avlue, though!
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10185 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
which were confusing it and making it sometimes
unresponsive to mouse left or middle button drag
inputs...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10184 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2) Changed Fl_Scrollbar to show a 50% tab, so that the
"///" scrollbar tab decorations are visible when the
gtk+ scheme is enabled.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10165 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
Applied LZA's patch and included some mods to address TODO items and ABI issues.
Also update CREDITS with LZA and a few other notably absent names.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10152 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
TODO: Xcode 4 ide needs fl_gleam.cxx added
Test of Visual Studio IDE mods (which were hand-modified)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10113 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
HTML parser. (Feel free to expand these tests)
Modified the 'help' program to use this help file
as a default, since the old reference was to our
old documentation link that (1) no longer is released
with the code, and (2) is doxygen content our HTML
parser can't possibly handle.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10097 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
***************************************************************
NOTE: You MUST uncomment the FLTK_ABI_VERSION in Enumerations.H
to use these changes.
***************************************************************
Also: separated tree size calculation from draw() code,
so that one can cause the tree to recalculate immediately
after making modifications to the tree by calling Fl_Tree::calc_tree().
Numerous improvements to docs for the tree as well, enough
to create a rather large diff.
Large internal changes were needed to do this properly.
The following was added to the CHANGES file:
- Fl_Tree: various related changes:
o Added horizontal scrollbar
o Separated draw() and tree size calculation
o Added new public methods:
> resize() -- uses optimized dim calc, avoids tree recalc
> next_item() -- added parameters: direction, visibility
> extend_selection() -- added parameters, improved algorithm
> calc_dimensions() -- calc tix/y/w/h, tox/y/w/h and scrollbars
> calc_tree() -- calc tree_w/tree_h
> recalc_tree() -- schedules calc_tree()
> first_visible_item(), last_visible_item(), next_visible_item()
> first_selected_item(), last_selected_item(), next_selected_item()
o Added protected variables:
> _tix/y/w/h -- tree widget 'inner' dimension
> _tox/y/w/h -- tree widget 'outer' dimension
> _tree_w,_tree_h -- entire tree hierarchy width/height
o Deprecated:
> item_clicked() -- use callback_item() instead
> first_visible() -- use first_visible_item() instead
> last_visible() -- use last_visible_item() instead
- Fl_Tree_Item: various related changes:
o Added Fl_Tree ptr: needed for auto-recalc when item modified directly
o Added new methods tree(), recalc_tree()
o Added new ctor that accepts Fl_Tree*
o draw() parameters changed to include tree size calculations
o Deprecated:
> ctor using Fl_Tree_Prefs parameter (Fl_Tree* version better,
and must be used for 1.3.3 ABI features to work correctly)
> next_displayed() -- use next_visible() instead
> prev_displayed() -- use prev_visible() instead
- test/tree: added tests for newly added features
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10034 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
o Adds $(CXXFLAGS) to $(CXX) commands
o Implements older, more backwards compatible Bourne shell test(1) syntax for equality tests (= vs ==)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9981 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
src/Fl_Tree_Item.cxx -- solve: "Fl_Tree_Item.cxx", line 614: Error: Initializing int& requires an lvalue.
FL/Fl_Preferences.H -- solve: "FL/Fl_Preferences.H", line 196: Error: Fl_Preferences::RootNode is not accessible from 0
FL/Fl_Tree_Item.H -- solve: "Fl_Tree_Item.cxx", line 614: Error: Initializing int& requires an lvalue.
test/unittests.cxx -- solve: "unittests.cxx", line 95: Error: The type "UnitTest*[]" is incomplete.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9978 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
change the browser type(), allowing testing of the
different browser modes..
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9847 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
No focus, hitting down would skip first item
Enter key to toggle was falling through to other widgets
Removing an item that has focus clears item focus (to prevent wild ptr)
Added new methods:
Fl_Tree::get_item_focus()
Fl_Tree::first_visible()
Fl_Tree::last_visible()
Fl_Tree::is_vscroll_visible()
Simplified + fixed Fl_Tree_Item::next_displayed()
Fixed Fl_Tree_Item::visible_r(), was skipping item if it was a closed branch.
tree demo: fixed button ordering for "Test Suggestions" button
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9555 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
with this as the default color, Fl_Tree::color() can control the tree's background.
Tests added to the test/tree application.
o test/tree.fl modified:
o Added a 'Test Suggestions' button to document various tests
o Added tests for new 'transparent' color behavior
o Added test for STR#2832 to check if items can be drawn to the /right/ of child widgets
o Added new methods to Fl_Tree_Prefs:
item_labelfont() -- obsoletes labelfont()
item_labelsize() -- obsoletes labelsize()
item_labelfgcolor() -- obsoletes labelfgcolor()
item_labelbgcolor() -- obsoletes labelbgcolor()
o Added 'Fonts and Colors' section to Fl_Tree docs
o Fl_Tree_Item ABI feature added: using bitflags instead of chars
to keep the class small, as it gets instanced a lot. (fast + LIGHT)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9478 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
to allow widgets to control the size of items in the tree
(instead of vice versa).
o Added item_draw_mode(int) to allow for easier bitflag maintenance,
since enums don't seem to be typesafe yet.
o Tree demo modified to demonstrate this feature.
An important feature for adding large widgets to tree items.
Will probably add an example, 'tree-of-tables' to demo this usage.
o Small doc fixes.
o Had to rename FL_TREE_ITEM_DRAW_WIDGET_ONLY to FL_TREE_ITEM_DRAW_DEFAULT.
Its meaning for the bit fields changed when new bit fields were added.
(The prev name just didn't make sense in the new context. Since it was
just a few svn commits old and an unreleased ABI feature, it shouldn't
affect anyone not in R&D)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9404 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
o Added keyboard navigation table
o Added Shift-Click to extend selection, Ctrl-Space to toggle selection, Enter key toggle
o Added protected extend_selection(from_item,to_item)
o Cleanup of Fl_Tree::handle()
o Limit ^A to multi-select mode only
o Disable focus box in SELECT_NONE mode
o test/tree: changed default mode to 'multiselect' (most often needs testing)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9385 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
> Prevent 'changed' flag from being set during reselect
> test/tree.fl: added chooser so user can test with item reselect enabled|disabled
(Chooser deactivated if the ABI option is not enabled)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9358 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Added ABI-breaking Fl_Table::scrollbar_size() with new ABI #ifdefs.
tests/unittests program modified to test this feature if enabled.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9345 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Modified the menubar demo program to exercise the Fl_Sys_Menu_Bar class.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9218 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
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
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
(They were too small vertically, cutting off font descenders under linux.)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8421 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
title (STR #2562).
Added a test case for disabling the hotspot and using a window title
to test/ask.cxx.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8417 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Fl_Tree::labelsize() -> item_labelsize() -- TO AVOID COLLISION WITH Fl_Widget::labelsize()!
Fl_Tree::labelfont() -> item_labelfont() -- TO AVOID COLLISION WITH Fl_Widget::labelfont()!
Fl_Tree_Prefs (internal) changes:
Fl_Tree_Prefs::fgcolor() -> labelfgcolor() -- for consistency with above
Fl_Tree_Prefs::bgcolor() -> labelbgcolor() -- for consistency with above
Fl_Tree_Prefs::selectcolor() removed -- uses Fl_Widget::selection_color() instead
Fl_Tree_Prefs::inactivecolor() removed -- was unused; inactive color procedurally calculated
Other Fl_Tree mods:
o Fixed bug with select_all(item) and deselect_all(item)
(they were not limiting themselves to children of specified item)
o Fixed bug with item not drawing in its /own/ bgcolor when item selected
o Fl_Tree uses the Fl_Widget::selection_color()
o All methods that deal with 'font types' changed int -> Fl_Font
o All methods that deal with 'font sizes' changed int -> Fl_Fontsize
o Added needed methods to Fl_Tree for accessing colors:
item_labelfgcolor() -- access default fg color used for new items
item_labelbgcolor() -- access default bg color used for new items
tree_connectorcolor() -- access the connector line color
o Small doxygen comment adjustments and general clarifications
o test/tree demo modified to include testing of new label color methods, cleanup
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8340 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Fix X11 screen_init() if Xinerama is available, but not active.
Still investigating why there are nonsense dpi values under Cygwin/X11,
but maybe this is an X server problem.
test/hello.cxx:
Extended test statements - don't forget to remove before release.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8210 ea41ed52-d2ee-0310-a9c1-e6b18d33e121