summaryrefslogtreecommitdiff
path: root/FL/Fl.H
AgeCommit message (Collapse)Author
2008-09-13WP1 merged from my branch, WP2 reserved, todo list updated.Fabien Costantini
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6231 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-09-10Merging the UTF8 patch, consisting of O'ksi'd s original 1.1.6 patch and ↵Matthias Melcher
additions by Ian. PLEASE BE AWARE that the patch in its current incarnation is a regression in many aspects and further work is required before we can announce Unicode support. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6212 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2007-05-20Fix compiler warnings/errors.Michael R Sweet
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5848 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2007-03-20Removed the Fl::set_awake_cb API and documented the Fl::awake(function, ↵Matthias Melcher
data) API. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5749 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2007-03-06This is a suggested change. It is complete except for documentation.Matthias Melcher
I did not like the awake_cb system at all. These changes implement Fl::awake(Fl_Awake_Handler, void*) which is called from a thread and tells the main loop to call the specified handler (rather a callback I guess) as soon as possible from within the main thread. It is implemented as Fifo (currently 1024 entry ring buffer), so handlers are called in the order that they are generated in. "test/threads" was modified to change the label color as soon as a thread reaches 10000 - pretty boring, but it show the wonderful simplicity of this approach: you can write libraries that don't need to add to the main loop or register a handler at all... . I will do some more stress testing tonight. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5729 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2007-02-08Add handler for thread messages (STR #1536)Michael R Sweet
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5683 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2006-11-16Merge all of the scrollbar sizes into a single API callMichael R Sweet
(Fl::scrollbar_size()) rather than a bunch of separate APIs and hardcoded values (STR #1800) git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5547 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2006-10-30Fl::x(), Fl::y(), Fl::w(), and Fl::h() did not report the desktopMichael R Sweet
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
2006-06-09Added an event variable "Fl::event_original_key()" which returns the current ↵Matthias Melcher
key code (see Fl::event_key()) before it gets mangled through the NumLock keypad conversion. This way, an application can differentiate between an arrow key and a numeric keypad w/NumLock off. 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
2006-04-27STR #1162: Fl_Menu_Button::popup was trying to access a previously deleted ↵Matthias Melcher
widget (itself). The delayed deleting mechanism in 'Fl::delete_widget' did not work in this case because the main loop is called before the callback returns. The fix implements a type of automatic pointer that will be cleared to NULL should the widget get deleted. This may not be a 'nice' solution, but it does fix the problem reliably. We could actually use this for all widget pointers and remove the delayed delete mechanism alltogether git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5037 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-03-31Add Fl::screen_count() and Fl::screen_xywh() APIs to support multi-Michael R Sweet
screen displays (currently only X11 support with Xinerama) git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4223 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-02-24Copyright updates.Michael R Sweet
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4052 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2004-11-23Added the 2.0 Fl_Widget::copy_label() method to allow FLTK 1.xMichael R Sweet
applications to have their label strings managed by FLTK (STR #630) Added Fl::delete_widget() method to safely delete widgets in callback methods (STR #629) git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3917 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2004-04-11Copyright updates and prep for 1.1.5rc1.Michael R Sweet
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3391 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2003-01-30Copyright update for 1.1.3 release (not quite yet, but soon...)Michael R Sweet
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2936 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-08-14DLL changes (still some more to go...)Michael R Sweet
Move BMP, GIF, and PNM image loaders to fltkimages project. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2583 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-08-09Move the rest of the image file formats (except for XBM and XPM) toMichael R Sweet
the fltk_images library; saves about 16k in the FLTK core library on my Intel system. Fix a memory leak bug in most of the fl_set_fonts*.cxx implementations; as a result, the Fl_Fontdesc structure now has a fontname member to old the human-readable font name. Lots of fixes for shadowed variables, etc. Use snprintf, strlcpy, and strlcat in more places. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2566 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-07-30Added Fl::get_boxtype() method.Michael R Sweet
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2555 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-07-17First steps in CodeWarrior on OS_X support.Matthias Melcher
(Praise the day when I finally stop screwing up cvs ;-/ ) git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2536 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-07-14More FL_EXPORT stuff for WIN32.Michael R Sweet
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2529 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-07-08Add Fl::remove_handler() method.Michael R Sweet
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2491 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-04-13Add Fl::dnd_text_ops() methods.Michael R Sweet
Fl_Input now conditionally supports DND out via run-time option. Fl_Input now clears selection if you click inside the selection when DND is turned on. Added support for scheme, dndTextOps, and visibleFocus resources under X11. Documented all X resources supported under X11... git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2078 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-03-07Back-ported cut & paste code from fltk2.0.Bill Spitzak
This code splits the cut & paste into two buffers. The "SELECTION" is used for the currently highlighted text and for middle-mouse paste and (if possible) for handling drag & drop. The "CLIPBOARD" is for Ctrl+C and Ctrl+V style cut & paste. This matches how Motif, GTK, and KDE 3.0 work. But many older X applications (including KDE 2) can only see SELECTION, this results in cut & paste incompatability that is familiar to X users. However this now moves fltk over to the majority camp. On all systems this eliminates the annoying inability to select a region and replace it with Ctrl+V. On Mac and Win32 the SELECTION is local to the application, so middle-mouse paste only works between fields in the application. There may be tricks (special clipboard data types? use drag & drop?) to make it communicate, but unless there are standards it would be fltk-only. The file Fl_cutpaste.cxx has been deleted, so update the IDE files! The Win32 and Mac versions have NOT BEEN TESTED! I tried to be careful editing them but they may need some work. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1989 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-01-09First round of DND additions to 1.1 - just X11 code, and I haven't addedMichael R Sweet
the support in widgets yet. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1925 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-01-01Copyright updates...Michael R Sweet
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1903 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-12-20Implement Fl::scheme() and Fl::reload_scheme() (this includes supportMichael R Sweet
for new FLTK_SCHEME environment variable, which should get added to FLTK 2.0 CVS, as well as the -scheme option...) Revert Fl_Group/Fl_Widget destructor change - it doesn't work for statically initialized widgets (like the widgets in a color chooser...) Export fl_round_up_box() and fl_round_down_box() so they can be restored in Fl::reload_scheme(). Use FL_DOWN_BOX and FL_ROUND_DOWN_BOX in menu drawing code. Use a static string for the display environment variable in Fl::display(). Updated MacOS README file... Added window tile image... git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1883 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-12-19Multiple bug fixes from Sebastien:Michael R Sweet
- Fl_GIF_Image and Fl_PNG_Image didn't close the file before calling Fl::error(). - Fl_Help_View didn't clear the line array in Fl_Help_Block, and Fl_Help_Block::font and ::size were not used. - Fl_Shared_Image::get() didn't return NULL if the image could not be loaded. - Switched to more efficient code for Fl_Tiled_Image::color_average() and ::desaturate(). - Don't delete children in Fl_Text_Display since the group will do it. - Fixes to filename_isdir(), filename_absolute(), and filename_relative(). - Was using numbers instead of define constants for some OpenGL stuff under WIN32. - Wasn't exporting threading functions under WIN32. - The Fl_Widget destructor now removes from the parent to avoid a Purify error since the old widget would be referenced by the parent when it was destroyed; this has no apparent performance impact since Fl_Group::clear() sets children_ to 0, making Fl_Group::remove() very fast... - WIN32 font enumeration datatype fixes... git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1878 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-12-14More tweeking of plastic boxtypes.Michael R Sweet
Redraw parent if child button loses focus and is using FL_NO_BOX. Fix test/Makefile to build mandelbrot and shiny demos right. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1844 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-12-11Multiple fixes from Sebastien.Michael R Sweet
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1833 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-12-06FLTK 2.0 threading support under FLTK 1.1. Needs porting to OSX.Michael R Sweet
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1819 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-11-28More doco updates.Michael R Sweet
Enable tooltips by default, and don't enable them when setting the tooltip value, since that will negate any changes a program might make when displaying the file chooser dialog, etc. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1777 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-11-28Add Fl::version() and Fl::event() methods.Michael R Sweet
Doco updates (use <!-- NEW PAGE --> instead of <HR break>, plus more Fl_Text_Buffer docos) git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1773 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-11-27Preliminary commit of my MacOS X work.Michael R Sweet
**** THIS CODE COMPILES BUT DOES NOT WORK. **** TODO: fix event handling - getting blank windows, etc. TODO: re-port OpenGL code. TODO: add support for images with alpha. TODO: add support for more then just beeps in fl_beep(). TODO: other stuff I'm sure... git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1765 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-11-03Add Fl::visible_focus() method.Michael R Sweet
Add optional "draw_symbols" argument to fl_draw and fl_measure functions. Fl_Repeat_Button didn't handle keyboard focus properly. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1678 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-08-06Symbols are now supported by main label drawing code - @@ to insert aMichael R Sweet
single @. Currently only 1 symbol per label, at the beginning or end of the label string, with the remaining text (and image) getting formatted as usual. The size of the symbol == lines * labelsize, unless there is no text in which case the size == height of label area. Fl_Menu_Item::draw() didn't clear the image field in the Fl_Label structure. Removed Fl::enable_symbols(), which is now the default. Dropped FL_IMAGE_LABEL, FL_PIXMAP_LABEL, and FL_BITMAP_LABEL types, which are no longer needed. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1561 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-08-02More mouse wheel stuff (as compatible as possible with the 2.0 code...)Michael R Sweet
Updated the makefile to use config.status --recheck before calling config.status (why they can't provide one that does both, I don't know...) git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1540 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-01-22Copyright 2001.Michael R Sweet
FLTK 1.0.11. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1356 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-12-12Fl_Gl_Window does not set drawbuffer(BACKBUFFER) for single-bufferedBill Spitzak
windows. Fl_Input::replace(...) correctly updates the display if the replaced region does not include the mark, point, or selected region. Added Fl::add_check(...), Fl::remove_check, and Fl::has_check. These are similar to idle callbacks but are only called just before it waits for new events. They can be used to watch for changes in global state and respond to them. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1347 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-06-21Changed the name of the new function from "add_interval_timeout" toBill Spitzak
"repeat_timeout", which is shorter and more accurately describes what it does. GLUT_STROKE_*_ROMAN in glut.h are defined as 0,1 on WIN32 to match the glut header files there. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1232 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-06-20Whoops, I screwed up the timeout callbacks a bit.Bill Spitzak
add_timeout will now do the callback at time t after the call to add_timeout, like before. add_interval_timeout is a new call that measures time from when the last timeout was called. This has slightly less overhead and allows accurate spacing of timeouts. Patch from Stuart Levy so the *last* widget in an Fl_Pack may be resizable. This should be compatable because resizable didn't do anything before so there was no reason to set it. Makefiles for no-cygwin from Paul Baxter (see README.win32 for info). git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1222 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-06-16Added has_timeout() and has_idle() calls as suggested by Eric Sven Ristad.Bill Spitzak
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1214 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-06-05OK, now version 1.0.9Michael R Sweet
Updated email addresses to point to fltk.org domain... Updated README and CHANGES files accordingly. Updated makeinclude and Makefile files to put -L../lib before the LDFLAGS/GLDFLAGS to avoid problem reported by Alexander. documentation/Makefile wasn't including makeinclude. Updated FLUID about window to show version 1.0.9. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1168 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-05-13Added Fl::first_window(window) to change which window is at the top ofBill Spitzak
the window list. This window is used as the "parent" of any modal windows you create so it is a good idea to be able to change it. Normally it is whatever window got the last event. Fixed Fl_Menu::global handler to use first_window so if a modal window pops up in response it is parented to the window containing the menubar rather than the current top window. This was an annoying bug! Copied fl_line_style() and the line_style demo over from fltk 2.0 because I am tired of mailing this code to people. Better to advertise this as "added fl_line_style() function to set line thickness, dash patterns, and end caps". Fixed the documentation for these changes. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1117 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-04-25Updated copyright notices for all of the 1.0.x files.Michael R Sweet
Updated the configure script for *BSD and GCC 2.95 (-fno-exceptions) Added install rule to documentation directory. Dumped old packages directory; added traditional RPM spec file and EPM list file (that replace all of the packages stuff) The FLUID man page is now "fluid.1" for the formatted page and "fluid.man" for the non-formatted page, since only IRIX uses pack'd formatted man pages. Whew! git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1090 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-03-08Fix to compile on GCC 2.95.Carl E. Thompson
Carl git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1037 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-02-21Forgot to commit the header files and fixed documentation!Bill Spitzak
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1008 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-04-17Fl::add_fd() structures are dynamically allocated so you can listen toBill Spitzak
as many connections as you want (up to the maximum number handled by select()). Fl::remove_fd(fd, when) added. This allows you to remove the read, write, and error callbacks individually. Fl::remove_fd(fd) does Fl::remove_fd(fd,-1). Fl::add_fd() calls Fl::remove_fd(), so it can be used safely to replace callbacks with new ones for the same file descriptor. Fl::add_timeout() also dynamically allocates it's array so there is no limit on the number of pending timeouts. I cut/pasted the changes into the Windoze version but this is UNTESTED! Somebody please do a test compile. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@544 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-02-23Oops - forgot that the OS/2 port doesn't use the WIN32 stuff - restoredMichael R Sweet
the old inline functions for x() and y() under OS/2... git-svn-id: file:///fltk/svn/fltk/trunk@338 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-02-19Updated Fl::x(), ::y(), ::w(), and ::h() to account for WIN32 trays.Michael R Sweet
Updated menu code to account for tray locations. git-svn-id: file:///fltk/svn/fltk/trunk@307 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-02-16Updated headers to support WIN32 and OS/2 DLLs.Michael R Sweet
Updated VC++ project files. Removed dummymain.c (no longer needed). git-svn-id: file:///fltk/svn/fltk/trunk@278 ea41ed52-d2ee-0310-a9c1-e6b18d33e121