class AMatrixItem : RTTI_VIRTUAL public ADataItem, RTTI_VIRTUAL public AArray
AMatrix is AList-derived object that contains AArray objects bound to it through ADataItem. A matrix here is a list of arrays.
class AMatrix : RTTI_VIRTUAL protected AList, RTTI_VIRTUAL public ABaseElement
AList-derived object that inherits ability to output to AStreamOutput object from ABaseElement. This objects contains AMatrixItem objects which are derived from ADataItem. This is a list of arrays which is a matrix object that can be dynamically resized.
Method Description
AMatrixItem &operator[]
(
   int iPY
) public
Access operator. This access operator combined with AArray's access operator allows easy indexing of the matrix through matrix[iY][iX] paradigm.

Returns: AMatrixItem at {iPY}, which is AArray for most purposes.
virtual void doOut
(
   AStreamOutput *pasOut
) public
Inherited though ABaseElement, this formats this objects as a matrix of BYTEs and displays it.

Returns: Nothing.
int mGetAt
(
   int iPX,
   int iPY
) public
Access method to the {iPX,iPY} element of the matrix. Which is also matrix[iPY][iPX] using access operator.

Returns: Value of element {iPX, iPY}.
int mSetSize
(
   int iSX,
   int iSY
) public
Dynamically resizes the object to {iSY} AMatrixItems of {iSX} in size.

Returns: Non-zero if resize was successful.
void mBlit
(
   const AArray &aSource,
   int iPX=0x0,
   int iPY=0x0,
   int iSX=-0x1,
   int iSY=-0x1,
   int iMode=BLIT_COPY
) public
Blitting method that accepts AArray-type object and copies it into the matrix, wrapping around to fix the size of the matrix. A 3x3 matrix blitted with a 20 element array will take first 9 elements of the array of fill up the rows sequentially. The blitting with start at {iPX, iPY} on this object and span {iSX, iSY} in size; in essence creating a matrix within a matrix for the blit. The blitting is done using the specified {iMode} logical operation.

Returns: Nothing.
void mBlit
(
const AMatrix &mSource,
int iPX=0x0,
int iPY=0x0,
int iSX=-0x1,
int iSY=-0x1,
int iMode=BLIT_COPY
) public
Performs a boundary safe matrix to matrix blit. {mSource} is blitted into the current object starting at position {iPX, iPY} for {iSX, iSY} in size. {iMode} specifies the logical operation.

Returns: Nothing.
void mSetPlane
(
int iState=0x0,
int iMode=BLIT_COPY,
int iPX=0x0,
int iPY=0x0,
int iSX=-0x1,
int iSY=-0x1
) public
Sets the plane of the matrix at position {iPX, iPY} of size {iSX, iSY} to {iState} using {iMode} as a logical operation. By default this method sets the entire matrix to 0x0.

Returns: Nothing.
int mGetHeight
(
   void
) public
Access method. Returns the height of the matrix as set by user, may not be the physical size.

Returns: This objects current height.
int mGetWidth
(
   void
) public
Access method. Returns the width of the matrix as set by user, may not be the physical size.

Returns: This objects current width.
int mGetWidth
(
   void
) public
Access method. Returns the element count of the matrix as set by user, may not be the physical size. This is the product of height and width.

Returns: This objects current element count.
void mSetFrom
(
   BYTE *pbSource,
   int iArraySize,
   int iSX,
   int iSY
) public
A BYTE array is explicitly specified. Given the source size {iArraySize}, a new matrix of dimensions {iSX, iSY} and populates it with {pbSource} wrapping it around as with array-blitting method.

Returns: Nothing.
class ABitMatrixItem : RTTI_VIRTUAL public ADataItem, RTTI_VIRTUAL public ABitArray
ABitMatrix is AList-derived object that contains ABitArray objects bound to it through ADataItem. A matrix here is a list of arrays.
class ABitMatrix : public AMatrix
Similar parallel between AArray-ABitArray and AMatrix and ABitMatrix exists. This is a bit-wise matrix. Methods were overriden from AMatrix to reflect this bit-wise property.
Method Description
ABitMatrixItem &operator[]
(
   int iPY
) public
Access operator. This access operator combined with ABitArray's access operator allows easy indexing of the matrix through matrix[iY][iX] paradigm.

Returns: ABitMatrixItem at {iPY}, which is most useful as ABitArray.
virtual void doOut
(
   AStreamOutput *pasOut
) public
Inherited though ABaseElement, this formats the bit-matrix as a matrix of BYTEs and displays it.

Returns: Nothing.
void bmDoXBitmap
(
   AStreamOutput *pasOut
) public
Outputs this object to AStreamOutput-derived objects as an X11 bitmap formatted stream with BYTE mirroring.

Returns: Nothing.