Fl::scheme("plastic") now correctly sets the background image width and
height to 0, which causes the background image to fill the whole window.
Fl_Tiled_Image drawing was partly broken. Offsets (cx, cy) were not used
correctly, and some other inconsistencies with arguments were possible.
Drawing has been optimized to draw only those tiles that are not clipped.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10598 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
and Fl_Graphics_Driver.
2) Support call of Fl_Printer::start_job(pagecount) with pagecount=0 when the number of pages is unavailable.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10592 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Thread was: "How get X,Y,W,H for current clip region ?" on Feb 2-3, 2015.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10552 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
by function gl_font() of file src/gl_draw.cxx (X11-specific).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10504 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Also, added explanatory comment of the purpose of a GNUC-specific
attribute in FL/fl_ask.H
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10501 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
With true subwindows, several members of Fl_X became useless.
This change recycle two of them for new uses:
- Fl_Region subRegion is used as a pointer to a CGRect
- Fl_X *xidChildren is used to indicate the resolution of the display
containing a window
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10486 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
The new field bool Fl_X::mapped_to_retina is updated when needed, that is, when the window is moved.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10481 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
On such displays, one drawing unit equals two pixels.
The fl_xyline() and fl_yxline() functions are modified to perform
extra operations when drawing to a window on a retina display.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10463 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Before, the fl_find(Window) function was not accessible from .mm source files.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10451 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
window is just another window with Mac OS as it was already with MSWindows and X11.
This requires Mac OS X 10.2. Window nesting to any depth is possible.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10449 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
The resizable effect was not shown proportionally correct.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10446 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
With this, no public FLTK header includes system header files anymore on the mac.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10443 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
(OPENFILENAMEW and BROWSEINFOW). This forces any application program that uses
Fl_Native_File_Chooser to include file windows.h.
This is corrected by using in the Fl_Native_File_Chooser class pointers to the 2 structures.
The changes are protected by #if FLTK_ABI_VERSION >= 10304 for ABI compatibility.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10437 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Moreover, fl_read_image() behaves differently with and without OS virtualization for X11 and MSWindows.
The patched function reads whatever is in the rectangle transmitted in arguments, with and without GL data, with and without subwindows,
on ‘true’ OS or on virtualized OS.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10436 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
I don't think this change will prevent the prior "fix"
workaround that Albrecht made from working on cygwin...
Probably!
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10381 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
See also discussion in fltk.coredev of Sept 07, 2014 and later
with subject "Fixing the nearest-neighbour scaling".
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10377 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
There had been manual changes in fluid-generated files, so the .fl files
had to be adjusted and updated to fltk 1.3.3.
Note that fluid SHOULD generate 'const' data for embedded images, but
doesn't yet, so I had to re-edit src/Fl_File_Chooser.cxx to keep the
previous 'const' changes in this file.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10357 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
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
This does not fully apply the FLTK coding standard, but makes it more
consistent in that indentation is done with tabs as much as possible.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10300 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Added to assist cand for his patch to solve RFE STR #2828 option (I).
o Add move() methods to Fl_Tree_Item.
o Add deparent()/reparent() methods
o Supporting methods added to Fl_Tree_Item_Array, and enhancement
to update_prev_next() to allow -1 option to create an orphan item
Added to Fl_Tree_Item:
* Fl_Tree_Item* deparent(int pos)
* int reparent(Fl_Tree_Item *newchild, int pos)
* int move(int to, int from)
* int move(Fl_Tree_Item *item, int op, int pos)
* int move_above(Fl_Tree_Item *item)
* int move_below(Fl_Tree_Item *item)
* int move_into(Fl_Tree_Item *item, int pos)
Added to Fl_Tree_Item_Array:
* int move(int to, int from)
* int deparent(int pos)
* int reparent(Fl_Tree_Item *item, Fl_Tree_Item* newparent, int pos)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10271 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
when building on a WIN32 host.
I am not sure why these were here, but on one of my
(very) non-standard configurations this was causing
the build to fail.
After some discussion on fltk.dev, we decided to
removed them since no one thinks they are needed
(please tell me if it turns out that the are!)
Note: that discussion also considered whether the
other (re)defines in that file, e.g. for stricmp
and strnicmp and others were useful; I have left
these in place for now, though I beleieve they are
not needed nor useful.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10259 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
which helps doxygen docs be clear.
* Changed loop in recalc_scrollbars() to loop thru /all/ children
and skip over scrollbars, instead of assuming fix_scrollbar_order()
has been called.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10220 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
This is very convenient as a lot of other functions only accept
a Fl_RGB_Image. Adding this functionality also required a bit
of spring cleaning in the the drawing routines. STR #2659.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10192 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
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
in question also affected widget focus in a broader way, but apparently not..
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10136 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
- menu shortcuts, including function keys, are correctly handled
- the mac system menus and FLTK menus share Fl_Menu_Item's, thus
many member functions of the parent Fl_Menu_ class apply equally
to an Fl_Sys_Menu_Bar.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10099 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Only docs changed here, no code changed..
one method's definition moved to match similar method organization.
Some redundant docs (for const vs. non-const) changed
by referring the non-const method to the const one, to reduce size.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10081 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This is a convenience method to support easier implementation of
scheme-specific code in draw() methods and elsewhere.
Also improved Fl::scheme(const char *name) documentation.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10075 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
a volatile method that can be overridden by
subclasses to take drawing control of tree item's content.
This replaces the old "item_draw_callback()" technique
added a few months ago as an ABI feature; turned out the
new technique is a better way to go.
o The examples/tree-custom-draw-items.cxx demo adjusted
accordingly.
o Added missing docs for some methods that had none,
including label_[xywh]().
o Added related methods needed to implement this, including:
Fl_Tree_Item_Array::replace()
Fl_Tree_Item::replace()
Fl_Tree::root(item)
Fl_Tree::add() variations
Fl_Tree_Item::drawbgcolor()/drawfgcolor()
o Carefully worked the FLTK_ABI_VERSION macros so as to be
ABI compatible with 1.3.0.
o Verified 1.3.0 ABI compatibility with ABI Compliance Checker 1.99.8.5:
http://ispras.linuxbase.org/index.php/ABI_compliance_checker
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10071 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
that doesn't use the "volatile" attribute (suggested by Albrecht).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10063 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
These are problems "ABI Compliance Checker" found with the recent
Fl_Tree mods.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10062 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
to enable inheritance and for consistency (STR #2834).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10039 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 Added examples/tree-custom-draw-items.cxx to demonstrate its use.
o Fixed small doc error for recent Fl_Tree::get_selected_items()
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10018 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
o Added new method Fl_Tree::get_selected_items()
o Modified Fl_Tree_Item_Array to usable in a general way (i.e. beyond Fl_Tree's internal use)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10016 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
and some example code on how to keep tab heights constant. (Thanks to Ian MacArthur's post on fltk.general)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9954 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Some code is transferred from Fl_cocoa.mm thus reducing somewhat this very large source file.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9885 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Moved top_window_offset() to being a member of Fl_Widget (was Fl_Window)
and moved its code near implementations of top_window() and window().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9872 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Docs for existing Fl_Widget::window() revised to clarify the difference between these two methods.
Docs for window() also moved from .H -> .cxx as per CMP (docs should be where code implementation is).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9871 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
it's realized that for consistency, the recently added window_offset() method
(a few days ago) should be renamed to top_window_offset().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9870 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Added new method Fl_Widget::window_offset(x,y)
to access the top-level window offset of the current widget.
Open to alternative names for the new method.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9866 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
o Added some references to the FLTK colormap diagram in obvious places (Fl_Color docs)
o Added info regarding the 'reserved' colors
o Added quotes to clarify RGBI description: "RGB" and "I"
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9856 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Added a \todo marker for undocumented public 'push()' method.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9849 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
o Added move_cursor(R,C,shiftflag). Needed allow Shift-Tab not to create a reverse selection.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9841 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
some key opens a window with possible accented characters. This feature is used by the Fl_Input_ and
Fl_Text_Editor widgets. User-defined text input widgets can optionally use this feature, but the default
behavior is to not use it. Fl_Secret_Input turns it off, for example.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9792 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
problems reported in fltk.general thread on or around 09/12/12 ("Subject: Fl_Browser columns")..
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9682 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
added variable names to prototypes so doxygen will doc them properly.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9645 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