Commit Graph

98 Commits

Author SHA1 Message Date
ManoloFLTK
d83d89679b Fix for issue #429 : Segfault with Ctrl+/- with current git version 2022-04-14 11:07:56 +02:00
ManoloFLTK
e25758582e Fix for issue #427 - continued. 2022-04-13 09:30:31 +02:00
ManoloFLTK
bfae813c4e Fix for issue #427: Problems with data_w, data_h, w, h of Fl_Image. 2022-04-12 15:06:21 +02:00
ManoloFLTK
427e4dbc7a Remove platform-dependent type Fl_Bitmask (not in documented public API). 2022-03-24 10:00:01 +01:00
Albrecht Schlosser
f09e17c3c5 Remove $Id$ tags, update URL's, and more
- remove obsolete svn '$Id$' tags from all source files
- update .fl files and generated files accordingly
- replace 'http://www.fltk.org' URL's with 'https://...'
- replace bug report URL 'str.php' with 'bugs.php'
- remove trailing whitespace
- fix other whitespace errors flagged by Git
- add and/or fix missing or wrong standard headers
- convert tabs to spaces in all source files

The only relevant code changes are in the fluid/ folder where
some .fl files and other source files were used to generate
the '$Id' headers and footers.
2020-07-06 20:28:20 +02:00
Manolo Gouy
8081899934 Remove a bunch of useless #include <FL/Fl_Printer.H> statements.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12909 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-05-09 12:27:38 +00:00
Manolo Gouy
bfac5462be Remove Fl_Pixmap::prepare() and Fl_Bitmap::prepare() that were used only once.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12834 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-04-14 13:37:47 +00:00
Manolo Gouy
2abe8bd413 Homogenise and simplify the API of Fl_Graphics_Driver::cache(image-type *) virtual member functions.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12833 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-04-13 13:22:15 +00:00
Manolo Gouy
16705ef734 Image drawing: simplify the code organisation to better support Fl_Image::scale().
Graphics drivers now use up to 6 virtual member functions to support Fl_Image
drawing in the context of GUI and image rescaling :
  virtual void draw_pixmap(Fl_Pixmap *pxm, int XP, int YP, int WP, int HP, int cx, int cy)
  virtual void draw_bitmap(Fl_Bitmap *bm, int XP, int YP, int WP, int HP, int cx, int cy)
  virtual void draw_rgb(Fl_RGB_Image *rgb, int XP, int YP, int WP, int HP, int cx, int cy)
and
  virtual void draw_fixed(Fl_Pixmap *pxm, int XP, int YP, int WP, int HP, int cx, int cy)
  virtual void draw_fixed(Fl_Bitmap *bm, int XP, int YP, int WP, int HP, int cx, int cy)
  virtual void draw_fixed(Fl_RGB_Image *rgb, int XP, int YP, int WP, int HP, int cx, int cy)

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12828 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-04-12 13:07:00 +00:00
Manolo Gouy
9f9631e685 Rename Fl_Image::pixel_w() and pixel_h() to Fl_Image::data_w() and data_h().
The docs of class Fl_Image and of Fl_Image::scale() are beefed up.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12784 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-22 16:38:38 +00:00
Manolo Gouy
916b44e361 New member function Fl_Image::scale(int width, int height) to set the FLTK size of an image.
Each image has now two sizes implemented as follows:
   - the pixel size is stored in private members pixel_w_ and pixel_h_
    with public accessors pixel_w() and pixel_h()
   - the FLTK size is stored in private members w_ and h_ and read by w() and h()
   - when the image is constructed, the two sizes have the same value
   - the protected w(int) and h(int) member functions set both FLTK and pixel sizes.
   - the public scale(int, int) member function is essentially nothing but
   set the FLTK size and don't change the pixel size.
   - when the image is drawn, its FLTK size determines how big it is drawn, its pixel
   size determines how much data are available to draw it.

FLTK 1.3.4 with FL_ABI_VERSION=10304 contained an equivalent member function
but only for the Fl_Shared_Image class.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12776 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-19 17:43:18 +00:00
Albrecht Schlosser
a6803d71c6 Remove leading underscore from labeltyps as far as possible.
Removed obsolete '\todo' item from docs (done with recent commits).

Removed redundant code from label assignment (e.g. use FL_IMAGE_LABEL
instead of label type assignment + use of _FL_IMAGE_LABEL).

See recent commits.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12448 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-09-12 13:05:48 +00:00
Manolo Gouy
8e558595e6 Make virtual member function Fl_Image::draw_scaled(int X, int Y, int W, int H) protected rather than private.
Consequently, remove the trailing _ from its name reserved for private class members.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12433 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-09-09 12:35:06 +00:00
Manolo Gouy
eae09e7fa0 Create virtual Fl_Image::draw_scaled_(int X, int Y, int W, int H) and its implementations for image classes.
This allows to use the virtual function mechanism to adapt scaled image drawing both to the
image type and the graphics driver type.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12410 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-08-30 15:49:58 +00:00
Manolo Gouy
139c5d9c2d Add Doxygen documentation for fl_create_bitmask() and fl_delete_bitmask().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12231 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-05-02 12:44:54 +00:00
Manolo Gouy
c530cdeda6 Use Fl_Graphics_Driver::default_driver() when convenient.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@12088 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-11-09 09:49:48 +00:00
Manolo Gouy
6eea76e187 Slightly improve the parameter list of member function int Fl_Graphics_Driver::start_image(...)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@12079 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-11-05 06:00:52 +00:00
Manolo Gouy
0c31411df9 Rename Fl_Bitmap::start() to Fl_Bitmap::prepare().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@12078 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-11-03 21:28:09 +00:00
Manolo Gouy
95a9edcb55 Factorize repeated code across platform-specific graphics drivers and image types
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@12077 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-11-03 16:34:13 +00:00
Albrecht Schlosser
242d5365e6 Documentation fixes.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@12027 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-10-14 14:33:18 +00:00
Albrecht Schlosser
e7b9e77ba5 Fix typos, separate local variables of image scaling algorithms.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11869 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-08-09 15:20:54 +00:00
Manolo Gouy
941c301ceb Fix Fl_RGB_Image::uncache() and Fl_Bitmap::uncache().
It is not possible to use fl_graphics_driver in these functions
because when they are called *fl_graphics_driver may have been
deleted. A solution is to use  Fl_Display_Device::display_device()->driver()
instead which is always valid.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11212 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-23 20:37:22 +00:00
Matthias Melcher
41e22f2f39 Move ifdef's in RGB_Image into driver system.
- change image caching variable types to uintptr_t
- added driver function to uncache image data
- cleaning up (Xlib and GDI will likely throw syntax errors. Trying to fix ASAP)


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11138 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-09 18:25:02 +00:00
Matthias Melcher
5638a5f471 Just cleaning up a few lines.
Removed a false comment I just added. 
Removed FL_PORTING ifdef that is no longer needed

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11103 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-31 21:47:25 +00:00
Matthias Melcher
b9c8042a6a Fixed WIN32 setup. X11 setup verified.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11101 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-31 14:05:19 +00:00
Matthias Melcher
7440ea209a Moved fl_create_bitmask and fl_delete_bitmask functions into driver structure. Tested on OS X.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11100 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-31 13:51:01 +00:00
Manolo Gouy
f93fd54a7c Needed for Linux/Unix build.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11098 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-31 11:47:49 +00:00
Matthias Melcher
780f43a4f1 Removed all references to Quartz driver files from library headers in Xcode. Works in Xcode.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11065 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-27 22:35:58 +00:00
Albrecht Schlosser
d32b291a72 Fix typos in #pragma FL_PORTING.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@10991 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-04 13:40:57 +00:00
Matthias Melcher
acf6c881d3 Updated platform specific #if's to report unimplemented code when compiling with FL_PORTING defined and WIN32 and __APPLE__ undefined>
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@10989 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-03 22:54:29 +00:00
Manolo Gouy
b6a46a7099 To fix "C++11 related issues" from fltk.coredev.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10132 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-04-28 09:17:12 +00:00
Manolo Gouy
56ac442c93 Better separate printer-specific code using virtual Fl_GDI_Printer_Graphics_Driver::draw(Fl_Bitmap*...)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10110 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-02-22 14:51:50 +00:00
Manolo Gouy
32d4bc4099 Fix STR#2810: removed all uses of function Fl_Device::class_name().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9293 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-03-18 18:48:29 +00:00
Manolo Gouy
c41d3ac3f3 Fixed error in printed color of Fl_Bitmap
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9284 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-03-14 15:59:02 +00:00
Greg Ercolano
4f4a8fc3c7 Modifications to all LGPL headers for STR #2685.
(to clarify static exception LGPL by changing license references)



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8864 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-07-19 04:49:30 +00:00
Manolo Gouy
18156dfb30 Removed global variable fl_surface that was not very useful because equivalent
to Fl_Surface_Device::surface().

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8360 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-02-02 12:42:47 +00:00
Manolo Gouy
4beb3b88e8 Renamed Fl_Device::type() to Fl_Device::class_name() to avoid conflict or confusion
with Fl_Widget::type(). Added a setter function Fl_Device::class_name(const char *).

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8190 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-01-05 10:21:45 +00:00
Matthias Melcher
e454f97acc Fixed Copyright to 2010.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7903 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-11-28 21:06:39 +00:00
Manolo Gouy
23303736e3 Fl_Bitmap.cxx: fixed error that could create dereferencing of NULL pointer
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7690 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-08-26 08:28:35 +00:00
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
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
024368d722 Removed more Cocoa/Quartz references. Finally moved OS X font down a pixel.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7357 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-03-29 14:10:54 +00:00
Matthias Melcher
941901e273 OS X: removed all Carbon and Quickdraw references. Starting with 1.3, we only support Cocoa and Quartz.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7351 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-03-29 10:35:00 +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