fltk/FL/Fl_Tiled_Image.H
Albrecht Schlosser 4d1e372e09 Improve Fl_Tiled_Image drawing, scheme background setup, and documentation.
Fl::scheme("plastic") now correctly sets the background image width and
height to 0, which causes the background image to fill the whole window.

Fl_Tiled_Image drawing was partly broken. Offsets (cx, cy) were not used
correctly, and some other inconsistencies with arguments were possible.

Drawing has been optimized to draw only those tiles that are not clipped.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10598 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-03-01 20:16:56 +00:00

60 lines
1.4 KiB
C++

//
// "$Id$"
//
// Tiled image header file for the Fast Light Tool Kit (FLTK).
//
// Copyright 1998-2015 by Bill Spitzak and others.
//
// This library is free software. Distribution and use rights are outlined in
// the file "COPYING" which should have been included with this file. If this
// file is missing or damaged, see the license at:
//
// http://www.fltk.org/COPYING.php
//
// Please report all bugs and problems on the following page:
//
// http://www.fltk.org/str.php
//
/* \file
Fl_Tiled_Image widget . */
#ifndef Fl_Tiled_Image_H
# define Fl_Tiled_Image_H
# include "Fl_Image.H"
/**
This class supports tiling of images over a specified area.
The source (tile) image is \b not copied unless you call the
color_average(), desaturate(), or inactive() methods.
*/
class FL_EXPORT Fl_Tiled_Image : public Fl_Image {
protected:
Fl_Image *image_; // The image that is tiled
int alloc_image_; // Did we allocate this image?
public:
Fl_Tiled_Image(Fl_Image *i, int W = 0, int H = 0);
virtual ~Fl_Tiled_Image();
virtual Fl_Image *copy(int W, int H);
Fl_Image *copy() { return copy(w(), h()); }
virtual void color_average(Fl_Color c, float i);
virtual void desaturate();
virtual void draw(int X, int Y, int W, int H, int cx, int cy);
void draw(int X, int Y) { draw(X, Y, w(), h(), 0, 0); }
/** Gets The image that is tiled */
Fl_Image *image() { return image_; }
};
#endif // !Fl_Tiled_Image_H
//
// End of "$Id$"
//