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
margin_width() -- controls margins around tooltip's text
margin_height() -- controls margins above and below tooltip's text
wrap_width() -- controls maximum width of text before wordwrapping is enforced
These are read-only for the current release,
and read/write as an ABI feature.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9510 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
o ABI feature: change input and up/down buttons from 'private' to 'protected'
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9500 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
o Added fl_text_extents() to the 'Drawing things in FLTK' section
o Added 'see also' sections to all the text measuring functions in that section
o Added detail to fl_text_extents() docs regarding it not handling FLTK symbols,
as non-public comment for that method indicates.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9463 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
to implement some virtual functions of new graphics drivers.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9427 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
Prevent situations where user finds themselves scrolled past bottom of tree.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9400 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
o new calc_item_height() -> const
o Added a needed ABI ifdef
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9380 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
o Fix STR#2828 (E): {Vertical|Widget} Gap
o Moved Fabien's reselected methods to Fl_Tree_Prefs,
return method made const, doxygen, removed underbars from methods
(to follow general API)
o Widgets can now appear to the right of labels.
This can be controlled with item_draw_mode(FL_TREE_ITEM_DRAW_LABEL_AND_WIDGET)
o Cleaned up Fl_Tree_Item::draw(), Fl_Tree::draw()
o New methods:
marginbottom() -- [ABI feature] extra space below last tree element when scrolling
widgetmarginleft() -- [ABI feature] space to left of widget
usericonmarginleft() -- space to left of usericon
labelmarginleft() -- space to left of label
item_draw_mode() -- control how items, widget() are drawn
o Updated Fl_Tree docs, tree-elements.png
o test/tree: added sliders to test the above new features,
added "open all" and "close all" buttons
o Probably other stuff..
TODO: Fix "scroll-beyond-bottom" (STR#2796)
TODO: Fix other items in STR#2828
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9377 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
thread "Compilation error on windows VS 2010 (r9300)" of Mar 24, 2012.
Only the "static" attribute had to be fixed now, since the enum access
problem had been fixed before (r 9325).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9327 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
used for the pixmap background, and treats this color as transparent. FLTK assigns to this variable
a color unused by the processed pixmap. In theory this variable should be specific to each processed
pixmap. In practice, it's very unlikely that several values are needed. A new member variable is
added to the Fl_Pixmap object to hold this value. This member is made static if FLTK_ABI_VERSION
< 10302 for ABI compatibility. The correct thing, though, is for a non-static member.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9308 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
that users and devs can uncomment to enable ABI breaking features/fixes.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9266 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Fl_Paged_Device subclasses at the application level.
This is protected by #if FLTK_ABI_VERSION >= 10302
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9263 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
do-nothing to ease the construction of specialized Fl_Graphics_Driver subclasses at the application level.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9262 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Added _next_sibling and _prev_sibling to Fl_Tree_Item class to make
next_sibling() and prev_sibling() more efficient during item selection.
Used new FLTK_ABI_VERSION macro (as designed by Greg and Albrecht on fltk.dev) to protect the ABI breaking features.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9231 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
The description of Fl_Overlay_Window ::draw_overlay() didn't appear in Doxygen,
and Fl_Overlay_Window::can_do_overlay() wasn't commented.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9198 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Replication: Run 'tree' demo, open '500 items' subtree, change 'connector width' to 100..
the "D2" and "ccc" buttons would overdraw the scrollbar. (Not the regular tree items)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9197 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
to honor maximum_size() as number of allowed characters (STR #2747).
This was a hangover from FLTK 1.1, where the number of bytes was equal
to the number of characters.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9196 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
A new event FL_SCREEN_CONFIGURATION_CHANGED is introduced.
Fl::add_handler() allows to register a callback for this event.
The unix/X11 implementation is still missing.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9087 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
with or without declaring the FL_INTERNALS preprocessor variable.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9035 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This had been previously done in r.8282 and r.8286 without accounting for
the existence of the Fl_File_Chooser.fl file. With this commit, files
Fl_File_Chooser.{cxx, H} are properly generated by Fl_File_Chooser.fl
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8785 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Remove FL_EXPORT from fl_clip_region() since this is an inline function
on all platforms (and issued a warning when building fltkdll with MS VC++).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8726 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
main screen's work area (system-occupied space excluded); Fl::screen_xywh() functions
instead compute the full width and height of a screen.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8724 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
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
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
"warning: 'class Fl_Device' has virtual functions but non-virtual destructor"
on Mac OS X.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8529 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
to be recovered by the event loop. Before main() is called, only fl_mac_os_version is
initialized.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8488 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Mac-specific initializations will be done even before main() is started.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8487 ea41ed52-d2ee-0310-a9c1-e6b18d33e121