#include <fltkimgbuf.hh>
Public Member Functions | |
| FltkImgbuf (Type type, int width, int height) | |
| void | setCMap (int *colors, int num_colors) |
| void | scaleRow (int row, const core::byte *data) |
| void | newScan () |
| void | copyRow (int row, const core::byte *data) |
| core::Imgbuf * | getScaledBuf (int width, int height) |
| void | getRowArea (int row, dw::core::Rectangle *area) |
| int | getRootWidth () |
| int | getRootHeight () |
| void | ref () |
| void | unref () |
| bool | lastReference () |
| void | setDeleteOnUnref (bool deleteOnUnref) |
| bool | isReferred () |
| void | draw (Fl_Widget *target, int xRoot, int yRoot, int x, int y, int width, int height) |
Protected Member Functions | |
| ~FltkImgbuf () | |
Private Member Functions | |
| FltkImgbuf (Type type, int width, int height, FltkImgbuf *root) | |
| void | init (Type type, int width, int height, FltkImgbuf *root) |
| int | scaledY (int ySrc) |
| int | isRoot () |
| void | detachScaledBuf (FltkImgbuf *scaledBuf) |
| This method is called for the root buffer, when a scaled buffer removed. | |
Private Attributes | |
| FltkImgbuf * | root |
| int | refCount |
| bool | deleteOnUnref |
| lout::container::typed::List < FltkImgbuf > * | scaledBuffers |
| int | width |
| int | height |
| Type | type |
| int | bpp |
| uchar * | rawdata |
| lout::misc::BitSet * | copiedRows |
| dw::fltk::FltkImgbuf::FltkImgbuf | ( | Type | type, | |
| int | width, | |||
| int | height, | |||
| FltkImgbuf * | root | |||
| ) | [private] |
| dw::fltk::FltkImgbuf::~FltkImgbuf | ( | ) | [protected] |
References copiedRows, detachScaledBuf(), isRoot(), rawdata, root, and scaledBuffers.
| void dw::fltk::FltkImgbuf::copyRow | ( | int | row, | |
| const core::byte * | data | |||
| ) | [virtual] |
Implements dw::core::Imgbuf.
References bpp, copiedRows, isRoot(), lout::container::typed::Collection< T >::iterator(), rawdata, scaledBuffers, scaleRow(), lout::misc::BitSet::set(), and width.
| void dw::fltk::FltkImgbuf::detachScaledBuf | ( | FltkImgbuf * | scaledBuf | ) | [private] |
This method is called for the root buffer, when a scaled buffer removed.
References deleteOnUnref, lout::container::typed::List< T >::detachRef(), lout::container::typed::List< T >::isEmpty(), refCount, scaledBuffers, and lout::container::typed::List< T >::size().
Referenced by ~FltkImgbuf().
| void dw::fltk::FltkImgbuf::draw | ( | Fl_Widget * | target, | |
| int | xRoot, | |||
| int | yRoot, | |||
| int | x, | |||
| int | y, | |||
| int | width, | |||
| int | height | |||
| ) |
| int dw::fltk::FltkImgbuf::getRootHeight | ( | ) | [virtual] |
| int dw::fltk::FltkImgbuf::getRootWidth | ( | ) | [virtual] |
| void dw::fltk::FltkImgbuf::getRowArea | ( | int | row, | |
| dw::core::Rectangle * | area | |||
| ) | [virtual] |
Implements dw::core::Imgbuf.
References dw::core::Rectangle::height, isRoot(), scaledY(), width, dw::core::Rectangle::width, dw::core::Rectangle::x, and dw::core::Rectangle::y.
| core::Imgbuf * dw::fltk::FltkImgbuf::getScaledBuf | ( | int | width, | |
| int | height | |||
| ) | [virtual] |
Implements dw::core::Imgbuf.
References lout::container::typed::List< T >::append(), FltkImgbuf(), getScaledBuf(), height, IMAGE_MAX_AREA, isRoot(), lout::container::typed::Collection< T >::iterator(), ref(), root, scaledBuffers, type, and width.
Referenced by getScaledBuf().
| void dw::fltk::FltkImgbuf::init | ( | Type | type, | |
| int | width, | |||
| int | height, | |||
| FltkImgbuf * | root | |||
| ) | [private] |
References bpp, copiedRows, deleteOnUnref, lout::misc::BitSet::get(), height, isRoot(), rawdata, refCount, dw::core::Imgbuf::RGB, dw::core::Imgbuf::RGBA, scaledBuffers, scaleRow(), and width.
Referenced by FltkImgbuf().
| bool dw::fltk::FltkImgbuf::isReferred | ( | ) | [virtual] |
Implements dw::core::Imgbuf.
References lout::container::typed::List< T >::isEmpty(), refCount, and scaledBuffers.
| int dw::fltk::FltkImgbuf::isRoot | ( | ) | [inline, private] |
References root.
Referenced by copyRow(), getRowArea(), getScaledBuf(), init(), newScan(), setDeleteOnUnref(), unref(), and ~FltkImgbuf().
| bool dw::fltk::FltkImgbuf::lastReference | ( | ) | [virtual] |
Implements dw::core::Imgbuf.
References lout::container::typed::List< T >::isEmpty(), refCount, and scaledBuffers.
| void dw::fltk::FltkImgbuf::newScan | ( | ) | [virtual] |
Implements dw::core::Imgbuf.
References lout::misc::BitSet::clear(), copiedRows, isRoot(), lout::container::typed::Collection< T >::iterator(), and scaledBuffers.
| void dw::fltk::FltkImgbuf::ref | ( | ) | [virtual] |
| int dw::fltk::FltkImgbuf::scaledY | ( | int | ySrc | ) | [private] |
| void dw::fltk::FltkImgbuf::scaleRow | ( | int | row, | |
| const core::byte * | data | |||
| ) | [inline] |
References bpp, copiedRows, lout::misc::BitSet::get(), rawdata, root, scaledY(), lout::misc::BitSet::set(), and width.
| void dw::fltk::FltkImgbuf::setCMap | ( | int * | colors, | |
| int | num_colors | |||
| ) | [virtual] |
Implements dw::core::Imgbuf.
| void dw::fltk::FltkImgbuf::setDeleteOnUnref | ( | bool | deleteOnUnref | ) | [virtual] |
| void dw::fltk::FltkImgbuf::unref | ( | ) | [virtual] |
Implements dw::core::Imgbuf.
References deleteOnUnref, lout::container::typed::List< T >::isEmpty(), isRoot(), refCount, scaledBuffers, and lout::container::typed::List< T >::size().
int dw::fltk::FltkImgbuf::bpp [private] |
Referenced by copyRow(), draw(), init(), and scaleRow().
Referenced by copyRow(), init(), newScan(), scaleRow(), and ~FltkImgbuf().
bool dw::fltk::FltkImgbuf::deleteOnUnref [private] |
Referenced by detachScaledBuf(), init(), and unref().
int dw::fltk::FltkImgbuf::height [private] |
Referenced by getRootHeight(), getScaledBuf(), init(), and scaledY().
uchar* dw::fltk::FltkImgbuf::rawdata [private] |
Referenced by copyRow(), draw(), init(), scaleRow(), and ~FltkImgbuf().
int dw::fltk::FltkImgbuf::refCount [private] |
Referenced by detachScaledBuf(), init(), isReferred(), lastReference(), ref(), and unref().
FltkImgbuf* dw::fltk::FltkImgbuf::root [private] |
Referenced by getRootHeight(), getRootWidth(), getScaledBuf(), isRoot(), scaledY(), scaleRow(), and ~FltkImgbuf().
Referenced by copyRow(), detachScaledBuf(), getScaledBuf(), init(), isReferred(), lastReference(), newScan(), unref(), and ~FltkImgbuf().
Type dw::fltk::FltkImgbuf::type [private] |
Referenced by getScaledBuf().
int dw::fltk::FltkImgbuf::width [private] |
Referenced by copyRow(), getRootWidth(), getRowArea(), getScaledBuf(), init(), and scaleRow().
1.5.9