#ifndef MXRASTER_INCLUDED // -*- C++ -*- #define MXRASTER_INCLUDED #if !defined(__GNUC__) # pragma once #endif /************************************************************************ MxRaster Copyright (C) 1998 Michael Garland. See "COPYING.txt" for details. $Id: MxRaster.h,v 1.10 1998/10/26 21:09:23 garland Exp $ ************************************************************************/ #include "MxBlock.h" class MxRaster : private MxBlock { private: uint W, H, nchan; public: MxRaster(uint w, uint h, uint c) : MxBlock(w*h*c) { W=w; H=h; nchan=c; } uint width() const { return W; } uint height() const { return H; } uint channels() const { return nchan; } uint length() const { return MxBlock::length(); } #ifdef __GNUC__ unsigned char& operator[](uint i) { return raw(i); } unsigned char operator[](uint i) const { return raw(i); } #endif operator unsigned char *() { return MxBlock::operator unsigned char*(); } operator const unsigned char *() const { return MxBlock::operator const unsigned char*(); } unsigned char *pixel(uint i, uint j) { AssertBound(i