Commit Graph

78 Commits

Author SHA1 Message Date
Manolo Gouy
61eb9377c8 Renamed global variable from fl_device to fl_graphics_driver to better express its class
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7659 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-07-01 13:21:32 +00:00
Manolo Gouy
006e5ff9c0 Removed commented out code
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7649 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-06-18 13:39:27 +00:00
Manolo Gouy
da5042584a Fix image bug reported by Csaba in r7626 + fix regression in ps_image.cxx
inadvertently brought in by r7617.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7634 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-06-07 13:39:03 +00:00
Manolo Gouy
26049351e0 Better device hierarchy with surfaces and graphics drivers.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7617 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-05-27 17:20:18 +00:00
Manolo Gouy
d0b1cc30f7 Removed multiple inheritance: back to r. 7519 exactly.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7522 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-04-18 06:57:37 +00:00
Manolo Gouy
913530758a Improved the hierarchy of Fl_Device subclasses to allow separation of platform-specific devices.
This introduces multiple inheritance.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7520 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-04-16 20:19:09 +00:00
Manolo Gouy
be9127c61a More logical use of Fl_Device::draw(<image class> *,...) functions
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7501 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-04-14 13:07:34 +00:00
Matthias Melcher
38aa53038c Started to remove USE_QUARTZ, as all Apple implementations use Quartz as their Graphics Rendering system now.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7353 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-03-29 10:54:18 +00:00
Manolo Gouy
d748d323b9 Reorganized code to allow compilation with Fl_Device, Fl_Display but without Fl_Abstract_Printer
(may be useful for embarked devices)

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7330 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-03-25 13:59:00 +00:00
Manolo Gouy
cf37057367 Renamed class Fl_Virtual_Printer into Fl_Abstract_Printer
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7301 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-03-18 18:02:50 +00:00
Albrecht Schlosser
186a8f0ff1 Renamed internal member variables id and mask to id_ and mask_ to avoid
conflict with Mac OS X/gcc 3.x name clash when compiling with obj-c.
Also made them private instead of public.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7273 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-03-15 23:47:47 +00:00
Albrecht Schlosser
998cc6df52 Merge of branch-1.3-Fl_Printer, with the following main changes:
(1) adding Fl_Device class (and more) for device abstraction
 (2) adding Fl_Pinter class (and more) for printing support.

Todo: Code cleanup, update dependencies, remove/replace test print window.
I'm looking into converting the test window popup in a global shortcut
that would pop up the print dialog now...


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7263 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-03-14 18:07:24 +00:00
Albrecht Schlosser
7e7a74203a Fixed gray-scale images with alpha channel (STR #2105).
Note: Windows needs RGBA Bitmaps (4 bytes) to do alpha blending.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6804 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2009-06-29 07:44:25 +00:00
Albrecht Schlosser
eb70e46d2a Fixed gray scale w/alpha image drawing for Mac OS with Quartz (FLTK 1.1
with Quickdraw worked) in src/Fl_Images.cxx.

Changed test/unittest_images.cxx to use Fl_RGB_Image::draw() to draw images
with alpha channel, because  the current version of fl_draw_image()
supports alpha channels only on Mac. Tested on Windows[1], Linux, and Mac.

[1] Windows with GDI drawing doesn't work yet for gray+alpha (STR 2105).

To do: Check, if fl_draw_image() should support alpha channel images
on all platforms or not at all. The current documentation mentions only
RGB and gray scale images. IMHO the behavior is undefined for values of
abs(d) == 2 and abs(d) > 3. See also fl_draw_image_mono().


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6773 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2009-04-21 09:25:22 +00:00
Matthias Melcher
5251b64d57 Changed Copyright in 'src' directory
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6616 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2009-01-01 21:28:26 +00:00
Fabien Costantini
92051890f1 Quickdraw removal: option removed from configure, all Qd code removed from sources. Also took this opportunity to sort the ifdef clauses so that USE_X11 shows first. Also added error pragma to enforce proper target checking, thus make even less assumptions.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6423 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-10-13 23:10:43 +00:00
Fabien Costantini
ae697b80b2 Doxygen documentation : took the opportunity to update copyright info as we modified already in batch almost all sources, added also a fil doxygen command to class headers to harmonize with original matt Fl_Widget dox. format.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6265 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-09-16 07:26:22 +00:00
Fabien Costantini
7ddd3b8c50 Doxygen Documentation WP5 Done, WP6 half finished so that all Fl_Image class hierarchy is up-to-date. Also completed the documentation of the useful Fl_Shared_Image.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6241 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-09-14 18:19:41 +00:00
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