1175 Commits

Author SHA1 Message Date
Matthias Melcher
4bc49798e4 fixed Xinerama compile and link bug
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4246 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-04-08 07:25:56 +00:00
Matthias Melcher
500665b24d This is an attempt to fix the redraw problem on WinXP and other Windows variants.
This is how the bug looks like: load a test project that uses a single buffer window, 'scroll' fails nicely. Compile (in debug mode) and run. If you now quickly drag another window across the fltk window, some white spots will remain unrefreshed. Another great candidate is 'input_choice', but 'fluid's toolbox fails as well.

This fix is part of the WM_PAINT message handler. Instead of validating the whole area that FLTK drew, we now only validate the area that Win32 beleives was damaged. This may be inefficient if we redraw larger areas, but I did not see any refresh errors anymore, which IMHO has priority.

Again, I'd be very happy if other ussers could check for and confirm the bug and the fix.

Thanks!



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4244 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-04-07 13:39:43 +00:00
Matthias Melcher
6cab1f4839 Attempt to fix the missing multimonitor support in VisualC6. Well, it does compile, link and run now, but since I have only a single monitor, I can't test this. Could someone please verify this fix.
Also, it may be useful to add '#if _MSC_VER<0x0600' or something like that.

Feedback please! Thanks!

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4234 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-04-02 19:16:36 +00:00
Michael R Sweet
17ea3de1e7 Fixed WIN32 monitor enum proc.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4229 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-04-01 00:42:55 +00:00
Michael R Sweet
e50e551f7c Fl_Chart would draw outside its bounding box (STR #780)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4228 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-03-31 20:59:10 +00:00
Michael R Sweet
782abe6de6 Added MacOS X monitor support.
Now use new screen_xywh() API for keeping things on the current screen.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4227 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-03-31 20:31:39 +00:00
Michael R Sweet
3ec9646eea Add WIN32 code for screen support.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4225 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-03-31 16:52:10 +00:00
Michael R Sweet
868b248b98 Cache screen information.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4224 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-03-31 16:11:14 +00:00
Michael R Sweet
cc593f6b64 Add Fl::screen_count() and Fl::screen_xywh() APIs to support multi-
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-03-31 16:01:24 +00:00
Matthias Melcher
af10e22140 Made fluid compile under VicualC6 again. Unfortunatly , the wonderful 'print' addition crashes in fl_color_win32.cxx, line 72.
Fixed a silly 'I have a great idea - wait - what was it again'-bug that would use a static buffer twice - although without causing any bugs.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4200 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-03-28 21:12:54 +00:00
Michael R Sweet
f5ed012b28 Updated Fl_File_Chooser to correctly deselect other items when
the user picks a file or directory in multiple selection mode
(only files or directories, not both at once...)

Use the fl_file_chooser_ok_label() function in FLUID.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4191 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-03-25 18:58:18 +00:00
Michael R Sweet
2ccbfdccc9 Fl_File_Chooser no longer resets the type() when choosing a
single file, and it now works when selecting multiple directories
(STR #747)

Fl_File_Icon::load_system_icons() now only loads 16x16 and 32x32
icon images to improve startup performance.

Fixed an error dialog message in FLUID.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4189 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-03-25 17:27:07 +00:00
Michael R Sweet
a343b0d4e4 Pressing Enter in the file chooser when selecting a directory
will choose that directory if it is currently shown (STR #746)

Added a fl_file_chooser_ok_label() function to set the "OK"
button label for the fl_file_chooser() and fl_dir_chooser()
functions.

Added Fl_File_Chooser::ok_label() methods to set the "OK" button
label.

The fl_ask() function is now deprecated since it does not conform
to the FLTK Human Interface Guidelines.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4188 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-03-25 16:11:07 +00:00
Michael R Sweet
ce40d4a0e6 The Fl_File_Chooser window now properly resizes its controls (STR
#766)

The Fl_Help_Dialog window now properly resizes its controls (STR
#768)

The Fl_File_Chooser favorites window is now resizable (STR #770)

Added more documentation on the file chooser filter pattern format
(in both functions.html and Fl_File_Chooser.html)

Added Fl_File_Chooser::save_label (for favorites dialog) and
Fl_File_Chooser::ok_label() to change the default "OK" button
label to something more appropriate according to the HIG.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4187 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-03-25 15:20:26 +00:00
Michael R Sweet
ead8aa8fcb Now provide FL_PLASTIC_ROUND_UP/DOWN_BOX box types which are used
by the plastic scheme.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4183 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-03-24 15:56:37 +00:00
Michael R Sweet
da9b29a600 Prep work to support separate FL_PLASTIC_ROUND_UP/DOWN_BOX box types.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4181 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-03-24 13:33:06 +00:00
Michael R Sweet
e01bdbfbf2 Update tile image to 64x64 (STR #769)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4164 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-03-23 03:48:42 +00:00
Michael R Sweet
e2a04270b9 Fl_Progress didn't use a contrasting label color over the progress bar,
so dark bars would make it difficult to read the label.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4160 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-03-21 19:52:53 +00:00
Michael R Sweet
880928146d Image reading, template handling, and printing bug fixes.
CHANGES:
    - Add fl_read_image() note and move documentation STRs back
      to the top of the list...

fluid/fluid.cxx:
    - Use printer choice data instead of the label text, since
      we have to escape / in printer names.
    - Change page number in header to n/N.

fluid/print_panel.*:
    - Don't disable properties button, ever.
    - Quote / in printer names.
    - Put copy of real printer name in the user data.
    - Use user data instead of label text for printer name.

fluid/template_panel.*:
    - Only free the files array if num_files > 0.

src/fl_read_image.cxx:
    - Use fl_visual->visual->*_mask instead of fl_*mask and
      fl_*shift when the XGetImage() data does not have them
      set.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4157 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-03-21 17:34:03 +00:00
Matthias Melcher
562198fa31 Polygon drawing fixed #765, fl_message wrapped in Fl_Group::current(0), so it doesn't end up inside some current group #253. Undefined 'check' in Fl_Menu_Item_, so it will compile as an Apple XCode project (to be delivered later)..
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4154 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-03-21 11:38:52 +00:00
Michael R Sweet
bcadb07bb2 Printing support for FLUID...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4150 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-03-21 04:51:16 +00:00
Michael R Sweet
0bc98fd29e Preliminary template save support in FLUID, plus some bug fixes.
fluid/Fl_Type.h:
    - Added read_image() declaration to Fl_Window_Type class.

fluid/Fl_Window_Type.cxx:
    - Added Overlay_Window::read_image() and
      Fl_Window_Type::read_image() functions.
    - Fl_Window_Type::fix_overlay(): update menu indices.
    - toggle_overlays(): update menu indices.

fluid/fluid.cxx:
    - save_template_cb(): Added to save to
      ~/.fltk/fltk.org/fluid/templates, along with PNG screenshot
      of first window.
    - "Save To" instead of "Save to".
    - Use fl_alert() for errors, not fl_message().
    - Add "File/Save Template..." and "File/Print..." (not yet
      implemented) menu items.
    - toggle_widgetbin_cb(): update menu indices.

fluid/undo.cxx:
    - Update menu item indices.
    - Don't need extra slash in undo checkpoint filename.

src/Fl_PNG_Image.cxx:
    - Fix typo in #endif comment.

src/Fl_Window.cxx:
    - Fl_Window::draw(): save/restore flags() when changing label.
    - Fl_Window::iconlabel(): save/restore flags() when changing label.

src/fl_rect.cxx:
    - fl_not_clipped(): don't use current window for gross clipping.





git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4147 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-03-20 17:41:56 +00:00
Michael R Sweet
4e965380bc Use uppercase letters for shortcut labels (e.g. "Ctrl+N", not
"Ctrl+n") to be consistent with other toolkits.

Remove debug printf from undo_checkpoint().

Change "Show Widget Panel" to "Show Properties" since it displays any
Fl_Type dialog, not just the widget panel.

Add "properties" to all of the type dialogs (UI consistency)

Remove extra elipsis (...) from code items in the new menu.

Revert Grid shortcut to Ctrl+G, since Alt+G is used to run a shell
command again.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4146 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-03-20 14:35:18 +00:00
Michael R Sweet
a218f44b5d Bug fixes and UI tweaking...
src/Fl_Menu_.cxx:
    - Fl_Menu_::find_item(): wasn't checking for a non-NULL label()...

fluid/alignment_panel.*:
fluid/widget_panel.*:
    - Use small controls, normalize layout.
    - Add FLTK header/footer comments.

fluid/Fluid_Image.cxx:
    - Use relative paths for images.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4127 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-03-18 06:29:11 +00:00
Matthias Melcher
93a2170661 fixed frame drawing of Fl_Text_Display (STR #762.2). Thanks for the patch proposal to Alessandro Portale.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4123 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-03-15 22:50:53 +00:00
Michael R Sweet
23f90b2301 STR 748: Fl_Clock_Output::value(ulong) does not change value_
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4109 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-03-12 23:18:48 +00:00
Matthias Melcher
2bbee87dc3 'Anonymous' reported a problem when using Fl_Value_Input. It seemed,
that contrary to the man pages, a fractional 'step' value above 1
would not create a floating point input.

In fact it does, but the output was formatted wrong so that the 
digits after the decimal point were never rendered.

I changed the Fl_Valuator::format(double v) function how I beleive
it should format the output correctly, but as already stated by
the original author in the source code, this is a hack that should
be fixed by providing a 'precission' setting for valuators.

Anyway. My fix makes sure that all digits right of the decimal 
point are always rendered, so that the step value will show full
precision. This gives a much better behavior in respect to steps values
like 2.5, 3.75, etc., but also leads to 8 digits after the decimal point
for step(1.0/3.0)... .

I suggest that we keep this change (hence the commit), risking that 
rendering of valuator text will change in a few cases (odd step() values).



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4091 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-03-08 22:55:10 +00:00
Michael R Sweet
ec7b060957 Fix Fl_Input_Choice in FLUID, and make sure that we expose enough of the
text and box stuff for use in FLUID.

Update dependencies.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4072 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-03-06 00:32:11 +00:00
Michael R Sweet
9b5555d142 fl_filename_relative() didn't compare drive letters in a
case-insensitive way (STR #741)

src/filename_absolute.cxx:
    - fl_filename_relative(): use tolower() when comparing drive
      letters.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4071 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-03-05 23:09:36 +00:00
Michael R Sweet
e6399f8f37 Fix menu drawing...
src/fl_draw.cxx:
    - fl_measure(): use "h" instead of "min(w,h)", since "w" is
      usually 0.

src/Fl_Menu.cxx:
    - Revert previous "fix" in Fl_Menu_Item::measure()


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4070 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-03-05 23:01:00 +00:00
Michael R Sweet
a48c6dd545 Fixed menu item width calculations with symbols (STR #740)
src/Fl_Menu.cxx:
    - Fl_Menu_Item::measure() - initialize w and h to label font
      size so that the symbol size is calculated properly.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4066 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-03-05 19:53:43 +00:00
Michael R Sweet
b066dea55d The keyboard shortcut handling code did not handle 8-bit
characters properly (STR #731)

src/Fl.cxx:
    - Fl::handle(): use unsigned char * for event_text()
      shortcut key conversion.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4064 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-03-05 19:23:19 +00:00
Michael R Sweet
52e086f75b Fl_JPEG_Image could still crash an app with a corrupt JPEG file
(STR #739)

src/Fl_JPEG_Image.cxx:
    - Use setjmp/longjmp to catch JPEG file errors and prevent the
      JPEG library from crashing the FLTK app.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4061 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-03-05 15:25:30 +00:00
Michael R Sweet
add37faa25 Copyright updates.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4052 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-02-24 21:55:12 +00:00
Michael R Sweet
9cca0a6c9a Added QNX bug workaround for menu handling (STR #704)
src/Fl_Menu.cxx:
    - menuwindow::handle(): #ifdef QNX check for done menu


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4051 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-02-24 21:51:38 +00:00
Michael R Sweet
97b9464f59 Fl_Multiline_Input now scrolls the full height of the widget
instead of 5 lines when the user presses PageUp or PageDown (STR
#727)

src/Fl_Input.cxx:
    - Set repeat_num to h()/textsize() instead of 5.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4049 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-02-24 20:35:07 +00:00
Michael R Sweet
c2873e6c63 Fix builds without JPEG library...
src/Fl_JPEG_Image.cxx:
    - Surround FLTK JPEG state structure with #ifdef...



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4048 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-02-24 20:28:49 +00:00
Michael R Sweet
36402b7fe5 Fl_Browser::swap() didn't handle redraws properly when the
swapped lines had different heights (STR #729)

src/Fl_Browser.cxx:
    - Fl_Browser::swap(): call redraw_lines() instead of
      redrawing individual lines.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4046 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-02-24 20:17:08 +00:00
Michael R Sweet
5b0aae2e87 FL_MOUSEWHEEL events are now sent first to the widget under the
mouse pointer and then to the first widget which accepts them.
This is similar to the way shortcut events are handled and is
consistent with the way the mouse wheel is handled by other
toolkits.

src/Fl.cxx:
    - Fl::handle(): Send FL_MOUSEWHEEL events to grab() or
      current window instead of focus widget.

src/Fl_Group.cxx:
    - Fl_Group::handle(): Send FL_MOUSEWHEEL events first to an
      event_inside() widget, then to the first non-inside widget
      that accepts them.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4045 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-02-20 00:23:36 +00:00
Michael R Sweet
452c17f8fb Fl::wait() could block on WIN32 if the window was deleted via
Fl::delete_widget() (STR #679)

src/Fl.cxx:
    - Post an application message when a window is hidden on WIN32.

src/Fl_win32.cxx:
    - Change async select message to WM_APP + 1, and document
      our use of WM_APP.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4043 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-02-14 13:44:24 +00:00
Michael R Sweet
ab8f3f793a Fl_Preferences::RootNode did not find the user's home directory
on some non-US versions of Windows (STR #720)

src/Fl_Preferences.cxx:
    - RootNode::RootNode(): if AppData key does not exist, try Personal
      key instead.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4042 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-02-14 13:15:39 +00:00
Michael R Sweet
cb852cd3eb Fl_Window::hide() didn't delete the current clipping region on
WIN32, causing a GDI resource leak in some situations (STR #723)

src/Fl.cxx:
    - Fl_Window::hide(): move XDestroyRegion() call outside of
      the X11-specific code.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4041 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-02-14 11:11:19 +00:00
Michael R Sweet
80b9844b53 Fix initializers and error handling.
src/Fl_JPEG_Image.cxx:
    - Add custom error manager structure and update error and output
      handlers so we properly handle bad JPEG files.

src/Fl_Shared_Image.cxx:
    - Add initializers for num_handlers, alloc_handlers, and handlers
      variables.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4040 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-02-12 02:41:52 +00:00
Michael R Sweet
6492c43b4b Check for no icon, and if so manually check for a directory...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4038 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-02-06 19:36:10 +00:00
Matthias Melcher
53e7546c23 Fixed a few warnings in OS X. The fluid stuff was 'touche'd, but not changed.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4036 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-02-06 16:28:36 +00:00
Michael R Sweet
f02c5fb451 Fl_Menu now draws the arrow more like other toolkits and 2.0
(STR #651)

src/Fl_Menu.cxx:
    - Change submenu drawing code.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4035 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-02-06 02:03:12 +00:00
Michael R Sweet
cb73c93258 Fixed a VC++ compiler error in Fl_JPEG_Image.cxx (STR #676)
src/Fl_JPEG_Image.cxx:
    - Cast array to (uchar *) in delete[].


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4034 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-02-06 01:52:15 +00:00
Michael R Sweet
de9bea20b5 FL_SHADOW_BOX/FRAME drew outside of the bounding box (STR #694)
src/fl_boxtype.cxx:
    - Adjust box dw/dh for shadow box/frame types.

src/fl_shadow_box.cxx:
    - Adjust shadow box to draw inside the bounding box.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4033 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-02-06 01:42:40 +00:00
Michael R Sweet
b32fefd1c5 Fl_Widget::copy_label(NULL) didn't work (STR #707)
src/Fl_Widget.cxx:
    - Check for NULL in Fl_Widget::copy_label()


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4032 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-02-06 01:29:54 +00:00
Michael R Sweet
9290da74b7 Fl_Choice now allows click selection like Fl_Menu_Button and
Fl_Menubar (STR #706)

src/Fl_Choice.cxx:
    - Fl_Chocie::handle(): remove call to event_is_click().



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4031 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-02-06 01:26:56 +00:00