Commit Graph

100 Commits

Author SHA1 Message Date
Matthias Melcher
4f6119433b Fixed Makefile configuration for OS X dynamic library. STR #1391
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5292 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2006-08-12 11:05:04 +00:00
Matthias Melcher
9460fcc375 STR #1233: previous timer implementation on Mac OS X was eating up various resources. The new implementation will return Timer and UPP to the system, or just reprogram a timer for efficiency, where possible.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5003 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2006-04-20 03:02:37 +00:00
Matthias Melcher
c9908d97e3 THIS FIX CONTAINS TWO MORE FILES THAT MUST BE COMPILED. I would
like to ask the maintainers of the build environments to please
add these files to the setup:

  src/fl_encoding_latin1.cxx
  src/fl_encoding_mac_roman.cxx

I ADDED SOME DOCUMENTATION THAT NEEDS TO BE FIXED. Beeing not a
native English speaker, I have a hard time writing documentation.
Would someone please update my babbeling in 
documentation/drawing.html? Thanks.

This commit fixes some very basic problems with OS X's code page in
preparation for the compose-character keyboard fix. It also fixes
issues with MS Windows and X11 not rendering the characters
in the Western (Latin-1) set between 0x80 and 0x9F. In the original
ISO font, they were unused, but are now assigned to international
characters like the Euro currency sign.

This patch also tries to fix one basic flaw with FLTK 1 and
font encoding. I will not put much more work into this because
FLTK 1.2 and FLTK 2 fix the problem entirely by using UTF-8
instead of 8-bit "C"-style strings.

All these changes are only meaningful for foreign language
users or users of special characters like the Euro, the Degree
or the Permille symbol. A short explanation follows.

Max OS X uses a different code page than X11 and Win32. This means
that all characters above 0x7f have an entirely different meaning.
If your source code contains international characters, your 
text will appear different if you change to another OS. This patch
provides two functions that convert text with international
characters from the character set of the source code into the
local character set. Two more functions are provided to convert
them back. The functions are fl_latin1_to_local (source is in Win32 
or X11), fl_mac_roman_to_local (source was written on OS X) and the 
corresponding fl_local_to_latin1 and fl_local_to_mac_roman, which
are very useful if yoou want to store strings with intl. characters
that will be moved between systems.

All this is assuming a "Western" code page as it is common in
the Americas and most of Europe. User of other languages will have 
to use FLTK 2.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4975 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2006-04-18 13:07:42 +00:00
Michael R Sweet
6585e234ae Added shared library support for Cygwin and MingW (STR #893)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4474 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-08-08 00:54:30 +00:00
Michael R Sweet
b8dcdf4c64 Compilation could fail if a previous installation of FLTK was in
the same (non-standard) directory as an image library (STR #926)

configure.in:
    - Add LINKFLTKFORMS definition.
    - Change LINKFLTK* definitions to just reference the static
      libraries themselves.

makeinclude.in:
    - Use LINKFLTKFORMS and drop -L../lib stuff for static linking.

src/Makefile:
    - Move -L. in front of LDLIBS and IMGLIBS when linking shared
      libfltk_images.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4472 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-08-08 00:44:38 +00:00
Michael R Sweet
1c399af444 Update source file headers with STR web page.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4288 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-04-16 00:13:17 +00:00
Michael R Sweet
b41cf28662 Update "clean" targets to properly handle core files, remove backup files,
etc.

Add "install" target to test directory which installs the example programs.

Install the config.h file in the examples directory.

Make sure the example programs compile outside the FLTK source dir.

Add example programs to fltk.list.in.

Fix missing redraw() in x_cb() in FLUID...


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4287 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-04-16 00:01:49 +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
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
23bb059065 Watcom fixes (STR #584, STR #594, STR #595)
Fixed library include order when building DSOs on MacOS X (STR
#596)

fl_xid() could cause a WIN32 application to crash (STR #560, STR
#576, STR #618)

Fl_Browser::remove_() removed the item from the list before
computing the item height, which caused problems with some
programs (STR #613)


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3897 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2004-11-20 03:19:59 +00:00
Michael R Sweet
bf910884cc Documentation updates (STR #570)
Added DESTDIR support and now remove all man pages for the
"uninstall" target (STR #545)

Fix PNG drawing on buggy WIN32 graphics cards (STR #548)

The configure script didn't propagate the CPPFLAGS environment
variable (STR #549)

The numpad keys didn't work properly on WIN32 (STR #502)

fl_input() and friends now set the input focus to the text field
when the dialog is shown (STR #553)

Fixed background color mixup when drawing Fl_Choice menus (STR
#544)

Fixed MingW makefiles (STR #550)

More VC++ project file tweaking (STR #559)

Fl_PNG_Image didn't use the png_set_trns_to_alpha function when
available (STR #547)

The FL_UNFOCUS event wasn't always sent when switching tabs (STR
#558)


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3868 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2004-10-18 20:22:25 +00:00
Michael R Sweet
7ee19d1140 Fix local image library build bug.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3688 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2004-07-23 19:26:27 +00:00
Michael R Sweet
a3d0905c9e Copyright updates and prep for 1.1.5rc1.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3391 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2004-04-11 04:39:01 +00:00
Michael R Sweet
70ca1d156b Fl_Value_Slider::draw_bg() didn't always apply the clipping
rectangle (STR #235)

fl_filename_relative() returned the wrong string if the absolute
pathname was equal to the current working directory (STR #224)

Fl_Help_Dialog didn't correctly restore the scroll position when
going forward/back in the link history if the file changed (STR
#218)

glutGetModifiers() did not mask off extra state bits, confusing
some GLUT-based applications (STR #213)

Fixed mouse capture problems on MacOS X (STR #209, STR #229)

Fl_Sys_Menu_Bar is now built into the library for MacOS X (STR
#229)

Fl_Menu_ now provides item_pathname() methods to get the
"pathname" of a menu item, e.g. "File/Quit" (STR #283)

Fl_Text_Display now provides cursor_color() methods to get and
set the cursor color (STR #271)

Fl_Scroll didn't honor FL_NO_BOX (STR #305)

FLUID declaration blocks didn't support public/private
definitions (STR #301)


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3231 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2004-03-11 05:17:12 +00:00
Michael R Sweet
daccac9672 Fl_Text_Display/Editor did not disable the current
selection when focus was shifted to another widget
(STR #131)

Fl_Choice didn't use the normal focus box when the
plastic scheme was in use (STR #129)

Fl_Text_Editor didn't use selection_color()
consistently (STR #130)

The fltk_forms, fltk_gl, and fltk_images DSO's and
HP-UX shared libraries are now linked against the fltk
shared library to provide complete dependency
resolution (STR #118)


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3081 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2003-08-24 13:09:06 +00:00
Michael R Sweet
2fc4d518cc Fix Fl_Window::show(argc, argv) so that it calls Fl::get_system_colors(),
and Fl::get_system_colors() so that it doesn't override user/program colors
(STR #119)


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3069 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2003-08-02 13:49:17 +00:00
Michael R Sweet
f9ded8959a Fix shared libraries on OSX (STR #51)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3034 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2003-06-15 05:37:32 +00:00
Michael R Sweet
101fa5b640 Fix mapping of Apple keys to CTRL keys on OSX.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3022 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2003-06-05 21:14:19 +00:00
Michael R Sweet
00cb676e11 Copyright update for 1.1.3 release (not quite yet, but soon...)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2936 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2003-01-30 21:46:07 +00:00
Michael R Sweet
d43b146df3 Fix header file again.
Fix dependency generation for the libraries...

Update dependencies.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2897 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2003-01-12 01:22:21 +00:00
Michael R Sweet
11bf9b28da Move Fl_Help_Dialog to fltk_images library.
Add "Additional Libraries" section to docos as needed.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2625 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-09-16 01:35:34 +00:00
Michael R Sweet
a6b935289e Move the rest of the image file formats (except for XBM and XPM) to
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-08-09 01:09:49 +00:00
Michael R Sweet
3346a9fee7 Change the Fl_Group current, add, and remove methods so they are no longer
inline; this should make shared libraries work better on all platforms.

Link FLUID against shared libraries, too, so that the installed fluid is
also using shared libraries (still make a statically linked fluid for the
build)


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2525 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-07-14 17:03:31 +00:00
Michael R Sweet
6a6e4ab66c Separate the extra image functions into fltk_images.
Add new fl_register_images() function to register the extra file formats
with Fl_Shared_Image.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2329 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-06-28 21:04:37 +00:00
Michael R Sweet
d5541b5cd6 fl_read_image() - not implemented for WIN32 or OSX yet.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2269 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-05-30 15:09:03 +00:00
Michael R Sweet
88d54cd78b Massive update to use strlcpy() and strlcat() instead of strncpy()
and strncat() in almost all places (there are still a few strncpy's
that need to be used...)

Added configure check for strlcat() and strlcpy().

Added emulation code for strlcat() and strlcpy().


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2239 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-05-16 12:47:44 +00:00
Michael R Sweet
c56bb65a97 Add documentation for readonly() and input_type().
Fix "make distclean" so that it removes all of the library files.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2204 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-05-08 12:44:52 +00:00
Michael R Sweet
8972642109 New Fl_File_Input widget, courtesy of Curtis Edwards old Fl_Input_File
widget (Fl_File_Input is much lighter-weight, and is simpler in function.)

Update file chooser dialog to use new Fl_File_Input widget and always
display absolute path.

Still need to do docos, new screenshots, and update FLUID to support the
new widget.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2145 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-04-30 21:50:16 +00:00
Michael R Sweet
44bb5f60de Add Fl_Preferences class to base library.
Add FLTK_DATADIR definition to config.h for system-wide configuration
data.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2126 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-04-28 16:41:17 +00:00
Michael R Sweet
7482426735 Make Fl_Output a subclass of Fl_Input, and add input_type and readonly
methods/constants to support Fl_Output as a special case of Fl_Input
(you can do everything but change the text in Fl_Output...)


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2073 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-04-11 11:52:43 +00:00
Michael R Sweet
5c360947ee Move forms code to fltk_forms library, a la 2.0.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2027 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-03-25 21:39:01 +00:00
Michael R Sweet
35b3c47628 Fix 1.1.x makefile - it had the wrong depend target (Bill, you can use
makedepend or "-I" with no directory with your 2.0 target to eliminate
the system include files...) and thus the dependency file contained
system headers in it...


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1993 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-03-08 13:13:15 +00:00
Bill Spitzak
5f55e1cd63 Back-ported cut & paste code from fltk2.0.
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-03-07 19:22:58 +00:00
Michael R Sweet
e52b682a99 Add Xft support to 1.1.x.
TODO: Fl::set_fonts() should add all of the fonts returned by Xft;
right now it is a no-op.

BUG: Getting X messages like "XRequest.155: 202 0x260002b" for some
reason on my system.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1987 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-03-06 18:11:01 +00:00
Matthias Melcher
7a6ed8c941 - added DDrag'N'Drop support for MacOS
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1976 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-02-26 00:34:55 +00:00
Michael R Sweet
71f9afb6cb Use +O2 for compiler on HP-UX.
Show where we are installing.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1961 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-02-15 18:15:46 +00:00
Michael R Sweet
c0175add06 Fix no-OpenGL install bug.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1938 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-01-17 23:43:49 +00:00
Michael R Sweet
a721b4ad00 Doco and makefile updates from SGI.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1934 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-01-15 02:17:19 +00:00
Michael R Sweet
e0bfbbd558 Add Fl_BMP_Image class and docos.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1914 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-01-06 17:51:12 +00:00
Michael R Sweet
2d6a98560e Doco and dist file updates.
Add fltk-config man page.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1911 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-01-06 13:40:32 +00:00
Michael R Sweet
64b4177ef4 Copyright updates...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1903 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-01-01 15:11:33 +00:00
Michael R Sweet
a2e149d132 "make clean" should not delete makedepend, since we now track this
in CVS (makedepend contains local dependencies, not <stdio.h> and
so forth)...

The configure script didn't add -fpermissive or -fno-exceptions to
the CFLAGS and CXXFLAGS variables.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1880 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-12-19 19:23:32 +00:00
Michael R Sweet
6905f61c2c "make uninstall" didn't uninstall the OpenGL library.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1831 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-12-10 14:46:04 +00:00
Michael R Sweet
100f78de3f CygWin threading fixes from Teun.
Update dependencies.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1828 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-12-09 20:26:24 +00:00
Michael R Sweet
ba2be02ab2 FLTK 2.0 threading support under FLTK 1.1. Needs porting to OSX.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1819 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-12-06 22:16:49 +00:00
Michael R Sweet
2c8bc31971 Run $(RANLIB) on installed static libraries, since some OS's (i.e. Darwin)
compare the file modification time against the symbol table time...


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1815 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-12-06 18:23:29 +00:00
Michael R Sweet
79d6a32be9 Add new plastic box types (kindof a shiny translucent box type...)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1781 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-11-28 21:37:35 +00:00
Michael R Sweet
2b85bf8168 Preliminary commit of my MacOS X work.
**** 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-27 17:44:08 +00:00
Michael R Sweet
b650366d80 Added XBM, XPM, and PNM image file classes.
The pixmap_browser demo now supports all image formats via Fl_Shared_Image.

Dropped image file stuff from image demo.

Added Fl_Tiled_Image class, which tiles an Fl_Image, useful for tiling a
background image in groups.

Added tiled_image demo.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1725 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-11-24 18:07:58 +00:00
Michael R Sweet
70abac1b8b Fix bugs in copy() methods.
Add Fl_Shared_Image class, with get() and release() methods.

Update Fl_Help_View to use Fl_Shared_Image class.

Update image demo to accept a filename, and to use the Fl_Shared_Image
class.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1714 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-11-24 02:46:19 +00:00