1#ifndef __DW_FLTKIMGBUF_HH__
2#define __DW_FLTKIMGBUF_HH__
4#ifndef __INCLUDED_FROM_DW_FLTK_CORE_HH__
5# error Do not include this file directly, use "fltkcore.hh" instead.
39 static lout::container::typed::Vector <GammaCorrectionTable>
61 void setCMap (
int *colors,
int num_colors);
67 int destWidth,
int destHeight,
int bpp,
78 int xSrc,
int ySrc,
int widthSrc,
int heightSrc);
86 void draw (Fl_Widget *target,
int xRoot,
int yRoot,
The platform independent interface for image buffers.
dw::core::Shape implemtation for simple rectangles.
void setCMap(int *colors, int num_colors)
void getRowArea(int row, dw::core::Rectangle *area)
void draw(Fl_Widget *target, int xRoot, int yRoot, int x, int y, int width, int height)
void copyTo(Imgbuf *dest, int xDestRoot, int yDestRoot, int xSrc, int ySrc, int widthSrc, int heightSrc)
static uchar * findGammaCorrectionTable(double gamma)
static bool excessiveImageDimensions(int width, int height)
void copyRow(int row, const core::byte *data)
void setDeleteOnUnref(bool deleteOnUnref)
static void scaleBuffer(const core::byte *src, int srcWidth, int srcHeight, core::byte *dest, int destWidth, int destHeight, int bpp, double gamma)
General method to scale an image buffer.
void scaleRow(int row, const core::byte *data)
core::Imgbuf * createSimilarBuf(int width, int height)
Creates an image buffer with same parameters (type, gamma etc.) except size.
core::Imgbuf * getScaledBuf(int width, int height)
static lout::container::typed::Vector< GammaCorrectionTable > * gammaCorrectionTables
void detachScaledBuf(FltkImgbuf *scaledBuf)
This method is called for the root buffer, when a scaled buffer removed.
lout::container::typed::List< FltkImgbuf > * scaledBuffers
void scaleRowBeautiful(int row, const core::byte *data)
int backscaledY(int yScaled)
void scaleRowSimple(int row, const core::byte *data)
lout::misc::BitSet * copiedRows
void init(Type type, int width, int height, double gamma, FltkImgbuf *root)
A bit set, which automatically reallocates when needed.
This is the base class for many other classes, which defines very common virtual methods.
Dw is in this namespace, or sub namespaces of this one.