Commit Graph

60 Commits

Author SHA1 Message Date
Matthias Melcher
38cc8c2f4d Fixed rendering of grayscale images with alpha channel on unaccelerated machines. Thanks, Sanel (STR #1703)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5888 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2007-06-07 17:23:41 +00:00
Matthias Melcher
08c5fb6ff4 - Fixed calculation of stride for image scaling and color manipulation (STR #1673)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5825 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2007-05-14 13:18:44 +00:00
Matthias Melcher
2c16ddb964 Fixed silly bug in OS X that would free a pixmap multiple times within Fl_RGB_Image::unchache.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5566 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2006-12-21 22:39:11 +00:00
Michael R Sweet
4d0529a276 Fix new alpha blending code to use the source image width instead of
the destination width when computing the start pointer.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5503 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2006-10-02 17:20:56 +00:00
Michael R Sweet
ad40154ca3 Adapt Sadysta's alpha compositing code for current implementation of
Fl_RGB_Image.  We now provide (unaccellerated) alpha compositing of
RGBA and Grayscale-Alpha images (d() == 4 and d() == 2) on X11 and
QuickDraw...



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5486 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2006-09-24 19:05:38 +00:00
Matthias Melcher
b39938e5cc OK, I believe I fixed the transparency issues on WIN32. Please everyone, test the code on all machines.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5436 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2006-09-16 16:02:00 +00:00
Matthias Melcher
c6de2dd3ef Implemented alpha blending for WIN32. I believe that I did it in a way that is compatible even with Windows 95, but please let me know if you have any concerns. Cygwin not tested, but hopefully OK.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5430 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2006-09-15 15:35:16 +00:00
Matthias Melcher
27217f9a74 Fixed Fl_RGB_Image::copy. My previous fix had the meaning of ld() wrong.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5427 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2006-09-13 22:55:55 +00:00
Matthias Melcher
84360f49f2 STR 1412: fixed RGB image block copy for ld() values != 0
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5411 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2006-09-04 19:24:51 +00:00
Matthias Melcher
60ece00315 OS X Quartz: one pretty essential fix to the call order in Quartz context change which fixed a lot of warnings. I also added a file that helps tremondously to debug Core Graphics calls. This file is not compiled into the source tree by default, but the annotations in "src/cgdebug.h" explain the usage.
In regard to CG Text drawing vs. the new ATSU Text drawing: I now remember why I did not ATSU in the beginning: STDU does not use the CG clipping area or text pen settings. So, if you plan on using the current SVN with --enable-quartz, please be aware that you will not have any text clipping or any other text color than black.

Finally, I added code to FLTK on OS X that retreives the selection color from the system instead of assuming dark blue. I am not entirely confident about this change as it may require OS X 10.4 . Feedback appreciiated.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5173 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2006-06-04 10:21:45 +00:00
Matthias Melcher
349a1d9034 STR #1052: The outline drawing of not existing images is now in foreground color instead of black
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4621 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-11-02 11:30:41 +00:00
Matthias Melcher
2b6586f64d STR #1007: Applied second patch by hand. OP: could you please check if all changes were made correctly? Thanks!
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4563 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-09-12 23:03:34 +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
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
18ad096722 Now look for 8 bits of alpha when the developer has requested
FL_RGB8 (STR #541)

The last line in an Fl_Help_View widget was not aligned properly
(STR #536)

The "search" symbol looked like a Q (STR #536)

Changed Fl_Help_View::get_color() to use a lookup table to avoid
serious Borland C++ 5.5 compiler bugs (STR #533)

Fixed Watcom compiler warnings with FL/Fl_Widget.H (STR #540)

The image class copy() methods did not always make a separate
copy of the image data (STR #539)


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3844 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2004-09-24 16:00:11 +00:00
Matthias Melcher
98a0be3965 Quartz for FLTK1.1
- Pixmaps now correctly support transparency/masking
- subimage drawing aligned correctly
- lines with a size over 1 always anti-alias
- fl_begin_points/fl_end_points works
- fixed refresh problem for multiple open windows
Will check Linux compile right after this commit to make sure that
I didn't destroy anything.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3800 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2004-08-31 22:00:49 +00:00
Matthias Melcher
57193e52c0 Quartz for FLTK 1.1:
- added pixmap drawing (no masking yet)
- added bitmap drawing
- added line styles (complete)
todo:
- missing refresh (double test, fluid, others)
- missing pixmap mask
- color_chooser has alignment issues
- images scale instead of beeing scissored
- fonts


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3798 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2004-08-31 00:27:40 +00:00
Michael R Sweet
62e1ae6976 Fix bad #elif (Matthias, please check your commits more closely, thanks!)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3796 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2004-08-28 13:45:27 +00:00
Matthias Melcher
970bd86433 Quartz:
- support for Fl_RGB_Image, including alpha rendering


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3794 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2004-08-27 21:57:18 +00:00
Matthias Melcher
8327822026 Updated config stuff to allow for --enable-quartz ofr Mac OS X which in
turn defined USE_QUARTZ to 1 and defines __APPLE_QUARTZ__. If Quartz
is not disabled, it will define __APPLE_QD__ for Quickdraw.

I also replaced all relevand #ifdef __APPLE__ with #ifdef __APPLE_QD__
#elif defined(__APPLE_QUARTZ__). This does not affect the compile at
this time and both version will generate the same Quickdraw code.

I will start to replace all QD calls with Quartz calls for the
remainder of the week until I can completely remove all QD calls from
the Quartz branch.

Thanks to Robert Smith for a great initial Quartz implementation.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3782 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2004-08-25 00:20: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
aeaf3582cb Fix typo...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3076 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2003-08-04 19:20:50 +00:00
Michael R Sweet
520d44ebf6 Fix scheme and image drawing bugs.
Bump to 1.1.4rc2.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3064 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2003-07-29 02:12:36 +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
4fb89e2571 Fix build problems on Windows.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2913 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2003-01-15 19:41:58 +00:00
Michael R Sweet
4bf5385fb1 Update Fl_Image and friends so that we don't need to include the
system headers (which unfortunately are not too friendly with other
code...)


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2893 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2003-01-10 19:29:09 +00:00
Michael R Sweet
74d47ce80c Doco updates.
Added filename_setext() macro for FLTK_1_0_COMPAT.

Fixed copy() methods so they don't overflow the source image buffer.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2881 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-12-19 21:34:26 +00:00
Michael R Sweet
a74795bbb8 Get rid of some valid compiler warnings with CodeWarrior that were reported
by Paul Chambers.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2845 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-11-19 16:37:36 +00:00
Michael R Sweet
fddb73a5f2 Bug #621737: Add range checking for the width and height arguments to the
::copy() methods.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2671 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-10-11 13:54:10 +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
a11a31ff78 Range check Fl_Text_Buffer::search_forward().
Don't use png_read_destroy() - it doesn't free all memory.

Add uncache() method to image classes.

Memory/initialization bugs in Fl_File_Chooser (valgrind)

Make sure both Fl_Window constructors have default cursor initialization
code...


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2562 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-08-05 17:50:25 +00:00
Michael R Sweet
3a117a899c Get rid of as many compiler warnings as possible.
Add missing offbits seek when reading BMP files.

Add -OPT:Olimit=4000 to SGI compiler options (for keyboard_ui)


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2253 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-05-24 14:19:19 +00:00
Michael R Sweet
ee5fdc99ce Images in menu items...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2109 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-04-26 11:32:37 +00:00
Michael R Sweet
bcb2033a96 Fix transparency stuff for MacOS X; currently it appears that CopyDeepMask
does not work with an 8-bit mask image, so we can't provide true alpha
blending just yet... (just the screen-door transparency provided on X11
and WIN32...)


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2085 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-04-15 17:18:48 +00:00
Michael R Sweet
e1828d045f Change fl_create_deepmask() to fl_create_alphamask().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2084 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-04-15 12:19:01 +00:00
Michael R Sweet
0c396a615b Added fl_create_deepmask() method for creating alpha blend masks.
Implemented Fl_RGB_Image alpha blending for MacOS X - others still
get 1-bit screen-door transparency...


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2083 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-04-14 21:26:06 +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
bccdafdaef Fixed from Teun.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1919 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-01-07 20:40:02 +00:00
Matthias Melcher
1775984dbe cleaned up src/Fl_mac.cxx, fixed Fl::wait(0.0), fixed Cmd-Q handling
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1905 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-01-03 08:08:21 +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
329b4127f6 Multiple bug fixes from Sebastien:
- 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-19 18:15:34 +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
85f98758ee Add note about using RENDER extension in the future for proper alpha
rendering.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1732 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-11-26 18:56:26 +00:00
Michael R Sweet
c147aca054 Add flstring.h header file to include string functions, strcasecmp
definitions, and (v)snprintf function declarations...

Fix Fl_File_Chooser so it always checks for an empty directory_ (so
that is doesn't add the leading slash to drive letters and mount
points)

Make Fl_File_Icon use Fl_Shared_Image, and look in all KDE icon
directories.

Fl::error() no longer exits by default; only Fl::fatal() does...

Wasn't doing callbacks in Fl_Tabs when the current tab was changed
via the keyboard.

FLUID wasn't writing the tooltips in message files, and didn't count
tooltips when computing the message number for catgets.

Update dependencies.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1729 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-11-25 16:38:11 +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
Michael R Sweet
4087b8cd9a Add code for PNG and JPEG images.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1713 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-11-23 12:06:36 +00:00
Michael R Sweet
f525840495 Fix all references to '.C' files (now .cxx)
Update Fl_Image() class to track depth and data, so FLUID will be
able to use it as the base class.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1712 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-11-22 15:35:02 +00:00
Michael R Sweet
aeefaca66b GIF loading code from FLUID.
Remove old WIN32 mask code that is no longer needed.

Fix "compressed" colormap code in Fl_Pixmap.cxx.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1708 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-11-20 05:13:23 +00:00
Michael R Sweet
13e7d76397 WIN32 fixes for the new image stuff...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1705 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-11-19 20:59:59 +00:00
Michael R Sweet
1acc39c5d8 OK, lots of changes to the Fl_Image, Fl_Bitmap, Fl_Pixmap, and Fl_RGB_Image
classes: new copy(), copy(w,h), desaturate(), color_average(), and
inactive() methods, alloc_xyz member for copied data, etc.

Updated test programs to use inactive() and copy() methods to create
inactive images for the test buttons, plus the inactive button to toggle
it...

Added start of separate image classes, a la 2.0, for various image formats.
FLUID will also be updated for it...


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1703 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-11-19 01:06:45 +00:00