mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-07-11 22:03:01 -06:00
Minor ImageBufferRaster extension
git-svn-id: svn://ultimatepp.org/upp/trunk@1680 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
parent
ed6dcd1842
commit
a66c2b2e24
2 changed files with 20 additions and 6 deletions
|
|
@ -53,9 +53,21 @@ void ImageWriter::WriteLineRaw(const byte *s)
|
|||
}
|
||||
}
|
||||
|
||||
ImageBufferRaster::ImageBufferRaster(const ImageBuffer& buffer_)
|
||||
: buffer(buffer_)
|
||||
{
|
||||
crop = buffer.GetSize();
|
||||
}
|
||||
|
||||
ImageBufferRaster::ImageBufferRaster(const ImageBuffer& buffer_, const Rect& crop_)
|
||||
: buffer(buffer_)
|
||||
{
|
||||
crop = crop_ & Rect(buffer.GetSize());
|
||||
}
|
||||
|
||||
Size ImageBufferRaster::GetSize()
|
||||
{
|
||||
return buffer.GetSize();
|
||||
return crop.Size();
|
||||
}
|
||||
|
||||
Raster::Info ImageBufferRaster::GetInfo()
|
||||
|
|
@ -71,7 +83,7 @@ Raster::Info ImageBufferRaster::GetInfo()
|
|||
|
||||
Raster::Line ImageBufferRaster::GetLine(int line)
|
||||
{
|
||||
return Line(buffer[line], false);
|
||||
return Line(buffer[line + crop.top] + crop.left, false);
|
||||
}
|
||||
|
||||
inline Stream& operator % (Stream& strm, Color& color)
|
||||
|
|
|
|||
|
|
@ -31,14 +31,16 @@ private:
|
|||
|
||||
class ImageBufferRaster : public Raster {
|
||||
public:
|
||||
ImageBufferRaster(const ImageBuffer& buffer) : buffer(buffer) {}
|
||||
ImageBufferRaster(const ImageBuffer& buffer);
|
||||
ImageBufferRaster(const ImageBuffer& buffer, const Rect& crop);
|
||||
|
||||
virtual Size GetSize();
|
||||
virtual Info GetInfo();
|
||||
virtual Line GetLine(int line);
|
||||
virtual Size GetSize();
|
||||
virtual Info GetInfo();
|
||||
virtual Line GetLine(int line);
|
||||
|
||||
private:
|
||||
const ImageBuffer& buffer;
|
||||
Rect crop;
|
||||
};
|
||||
|
||||
class HRRInfo
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue