\hypertarget{classBitmap}{\section{Bitmap Class Reference}
\label{classBitmap}\index{Bitmap@{Bitmap}}
}


Represents an abstract bitmap.  




{\ttfamily \#include $<$Bitmap.\-h$>$}

\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{structBitmap_1_1BitmapColour__s}{Bitmap\-Colour\-\_\-s}
\item 
class \hyperlink{classBitmap_1_1const__iterator}{const\-\_\-iterator}
\begin{DoxyCompactList}\small\item\em Iterator class. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
enum \hyperlink{classBitmap_a1f2c392a8bbafcc178d31262eb8f5783}{Margin} \{ \\*
\hyperlink{classBitmap_a1f2c392a8bbafcc178d31262eb8f5783a86cf91119a0c071a8e5552ead12118c0}{Left} =0, 
\hyperlink{classBitmap_a1f2c392a8bbafcc178d31262eb8f5783a9609fd60ead42f5dc50bf769ad1a1337}{Right} =1, 
\hyperlink{classBitmap_a1f2c392a8bbafcc178d31262eb8f5783ab13c13582a2213d62da67102f3a97de4}{Top} =2, 
\hyperlink{classBitmap_a1f2c392a8bbafcc178d31262eb8f5783a103bc50b44901746001f150b5c1f8fca}{Bottom} =3, 
\\*
\hyperlink{classBitmap_a1f2c392a8bbafcc178d31262eb8f5783af394c7d30130b103bf3bab2c97df1249}{All}
 \}
\item 
typedef struct \\*
\hyperlink{structBitmap_1_1BitmapColour__s}{Bitmap\-::\-Bitmap\-Colour\-\_\-s} \hyperlink{classBitmap_ab6604549161b479f99751d12182979f7}{Bitmap\-Colour}
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classBitmap_a07361d0aabd3074561b89d59124cf2c0}{Bitmap} (const int width, const int height, const int bpp=1, bool expandable=true, const int maxwidth=-\/1, const int maxheight=-\/1)  throw (\-Bitmap\-Error)
\begin{DoxyCompactList}\small\item\em Create a new bitmap with the given parameters. \end{DoxyCompactList}\item 
\hyperlink{classBitmap_a72d2a301ec1eb1c8d0f3d64823659a8e}{$\sim$\-Bitmap} ()
\item 
void \hyperlink{classBitmap_a3de045ee5c08bca1e183639792e2ca44}{paint} (const int x, const int y, const int w, const int h, const \hyperlink{Byte_8h_ae3a497195d617519e5353ea7b417940f}{Byte} $\ast$b)  throw (\-Bitmap\-Error)
\begin{DoxyCompactList}\small\item\em Paint a bitmap onto the master bitmap. \end{DoxyCompactList}\item 
void \hyperlink{classBitmap_a17f904912a6f9405fba8fa82b6150f73}{rule} (const int x, const int y, const int w, const int h)  throw (\-Bitmap\-Error)
\begin{DoxyCompactList}\small\item\em Draws on the master bitmap a block (a `rule' in Te\-X terms) of height h and width w pixels. \end{DoxyCompactList}\item 
void \hyperlink{classBitmap_af6a6a6850f55543d78e36219ec377802}{strut} (const int x, const int y, const int l, const int r, const int t, const int b)  throw (\-Bitmap\-Error)
\begin{DoxyCompactList}\small\item\em Draws a `strut' on the master bitmap. \end{DoxyCompactList}\item 
void \hyperlink{classBitmap_a98a23b42bb75028ce58ee8aff4f140c2}{write} (const string filename, const string format)  throw (\-Bitmap\-Error)
\begin{DoxyCompactList}\small\item\em Writes the bitmap out to the specified file. \end{DoxyCompactList}\item 
void \hyperlink{classBitmap_ad1e130c2efd36a4f852fb2bccabf93e7}{freeze} ()
\begin{DoxyCompactList}\small\item\em Freeze the bitmap and bounding box. \end{DoxyCompactList}\item 
void \hyperlink{classBitmap_ae4e84f856954651ab3bc831685d29f35}{crop} ()
\begin{DoxyCompactList}\small\item\em Crops the bitmap. \end{DoxyCompactList}\item 
void \hyperlink{classBitmap_adb29bdce61dd3450bffe58095ab94b9d}{crop} (\hyperlink{classBitmap_a1f2c392a8bbafcc178d31262eb8f5783}{Margin} spec, int pixels, bool absolute=false)  throw (\-Bitmap\-Error)
\begin{DoxyCompactList}\small\item\em Specifies a crop. \end{DoxyCompactList}\item 
void \hyperlink{classBitmap_a667b0ff761ad180dbd7f5abc96994fa0}{blur} ()
\begin{DoxyCompactList}\small\item\em Makes a very simple-\/minded attempt to antialias the bitmap by blurring it. \end{DoxyCompactList}\item 
void \hyperlink{classBitmap_a7a8b4a30919d7e58bf9081b533d260df}{clear} ()
\begin{DoxyCompactList}\small\item\em Resets the bitmap to its initial state. \end{DoxyCompactList}\item 
void \hyperlink{classBitmap_aeb7f722c938cbdbf4b6c892e9b0d84bf}{set\-Transparent} (const bool sw)
\begin{DoxyCompactList}\small\item\em Sets the current bitmap to be transparent, if possible. \end{DoxyCompactList}\item 
void \hyperlink{classBitmap_a13bff779c50c1d115fee589b7ce52d4f}{set\-R\-G\-B} (const bool fg, const \hyperlink{classBitmap_ab6604549161b479f99751d12182979f7}{Bitmap\-Colour} $\ast$)
\begin{DoxyCompactList}\small\item\em Sets the foreground or background colour. \end{DoxyCompactList}\item 
void \hyperlink{classBitmap_af6d7b466aea5af49027307aa06fc9424}{scale\-Down} (const int factor)  throw (\-Bitmap\-Error)
\begin{DoxyCompactList}\small\item\em Scales down the bitmap by a numerical factor. \end{DoxyCompactList}\item 
bool \hyperlink{classBitmap_ad730498eb3c626cf7b93c737edc1305a}{empty} () const 
\begin{DoxyCompactList}\small\item\em Is the bitmap empty? If nothing has (yet) been written to the bitmap, or if everything that was written was out of bounds, then the bitmap is empty. \end{DoxyCompactList}\item 
bool \hyperlink{classBitmap_a310824467caadf07e54ad2ab56d1ef73}{overlaps} () const 
\begin{DoxyCompactList}\small\item\em Does the bitmap overlap its canvas? This can only be true before a (implicit or explicit) call to \hyperlink{classBitmap_ad1e130c2efd36a4f852fb2bccabf93e7}{freeze}, since that normalizes the bounding box variables. \end{DoxyCompactList}\item 
int $\ast$ \hyperlink{classBitmap_a49de69e462191c7aa2f28c7567d79f61}{bounding\-Box} ()
\begin{DoxyCompactList}\small\item\em Obtain a bounding box for the current bitmap. \end{DoxyCompactList}\item 
int \hyperlink{classBitmap_a279822481e831c280cb5fa147b57f2bd}{get\-Width} () const 
\begin{DoxyCompactList}\small\item\em Returns the total width of the bitmap. \end{DoxyCompactList}\item 
int \hyperlink{classBitmap_ae896d56f53a86dad492c7bc785af8aa1}{get\-Height} () const 
\begin{DoxyCompactList}\small\item\em Returns the total height of the bitmap. \end{DoxyCompactList}\item 
void \hyperlink{classBitmap_abe2eb1c8a0ae476aff6a798a0dc3f5d9}{mark} (\hyperlink{classDviFilePosition}{Dvi\-File\-Position} $\ast$)
\begin{DoxyCompactList}\small\item\em Marks a particular spot in the bitmap. \end{DoxyCompactList}\item 
\hyperlink{classDviFilePosition}{Dvi\-File\-Position} $\ast$ \hyperlink{classBitmap_a5aa7c1fcb9abaf9d6704846bcc389f4e}{get\-Mark} ()
\begin{DoxyCompactList}\small\item\em Obtains the mark for this bitmap. \end{DoxyCompactList}\item 
\hyperlink{classBitmap_1_1const__iterator}{const\-\_\-iterator} \hyperlink{classBitmap_aac12da5be05d287420871f5febf711ff}{begin} ()
\begin{DoxyCompactList}\small\item\em Returns the beginning of a sequence of bitmap rows. \end{DoxyCompactList}\item 
\hyperlink{classBitmap_1_1const__iterator}{const\-\_\-iterator} \hyperlink{classBitmap_ae41ee671efbcfab8e7694503ef38145b}{end} () const 
\begin{DoxyCompactList}\small\item\em Returns the end of a sequence of bitmap rows. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
static void \hyperlink{classBitmap_ac4afeda2bddb93ff87c8fa2eb7a420d6}{crop\-Default} (\hyperlink{classBitmap_a1f2c392a8bbafcc178d31262eb8f5783}{Margin} spec, int pixels, bool absolute=false)  throw (\-Bitmap\-Error)
\begin{DoxyCompactList}\small\item\em Specifies a default crop. \end{DoxyCompactList}\item 
static void \hyperlink{classBitmap_ae271e6037a7339d7cf585cc0ed51b79b}{set\-Default\-R\-G\-B} (const bool fg, const \hyperlink{classBitmap_ab6604549161b479f99751d12182979f7}{Bitmap\-Colour} $\ast$)
\begin{DoxyCompactList}\small\item\em Sets the default foreground or background colours. \end{DoxyCompactList}\item 
static \hyperlink{verbosity_8h_a886df075e73fd6d54e018791f87fa071}{verbosities} \hyperlink{classBitmap_af5910ead222c6a7ff038c239d6781be2}{verbosity} (const \hyperlink{verbosity_8h_a886df075e73fd6d54e018791f87fa071}{verbosities} level)
\begin{DoxyCompactList}\small\item\em Sets the verbosity of the current class. \end{DoxyCompactList}\item 
static void \hyperlink{classBitmap_a95ac994f4849488c217f7e89ec6c8736}{log\-Bitmap\-Info} (const char $\ast$prefix)
\begin{DoxyCompactList}\small\item\em Sets whether bitmap information is logged. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classBitmap_1_1const__iterator}{const\-\_\-iterator} \hyperlink{classBitmap_ae9494add7417fec9f51cf4ea50f3df93}{running\-Iterator\-\_\-}
\end{DoxyCompactItemize}
\subsection*{Static Public Attributes}
\begin{DoxyCompactItemize}
\item 
static \hyperlink{classBitmap_1_1const__iterator}{const\-\_\-iterator} \hyperlink{classBitmap_aa4d616214bcdb4bc34fe31ad4ba2cb5c}{end\-Iterator\-\_\-}
\end{DoxyCompactItemize}


\subsection{Detailed Description}
Represents an abstract bitmap. 

The bitmaps written to file are subclasses of the class \hyperlink{classBitmapImage}{Bitmap\-Image}. 

\subsection{Member Typedef Documentation}
\hypertarget{classBitmap_ab6604549161b479f99751d12182979f7}{\index{Bitmap@{Bitmap}!Bitmap\-Colour@{Bitmap\-Colour}}
\index{Bitmap\-Colour@{Bitmap\-Colour}!Bitmap@{Bitmap}}
\subsubsection[{Bitmap\-Colour}]{\setlength{\rightskip}{0pt plus 5cm}typedef struct {\bf Bitmap\-::\-Bitmap\-Colour\-\_\-s}  {\bf Bitmap\-::\-Bitmap\-Colour}}}\label{classBitmap_ab6604549161b479f99751d12182979f7}


\subsection{Member Enumeration Documentation}
\hypertarget{classBitmap_a1f2c392a8bbafcc178d31262eb8f5783}{\index{Bitmap@{Bitmap}!Margin@{Margin}}
\index{Margin@{Margin}!Bitmap@{Bitmap}}
\subsubsection[{Margin}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf Bitmap\-::\-Margin}}}\label{classBitmap_a1f2c392a8bbafcc178d31262eb8f5783}
\begin{Desc}
\item[Enumerator]\par
\begin{description}
\index{Left@{Left}!Bitmap@{Bitmap}}\index{Bitmap@{Bitmap}!Left@{Left}}\item[{\em 
\hypertarget{classBitmap_a1f2c392a8bbafcc178d31262eb8f5783a86cf91119a0c071a8e5552ead12118c0}{Left}\label{classBitmap_a1f2c392a8bbafcc178d31262eb8f5783a86cf91119a0c071a8e5552ead12118c0}
}]\index{Right@{Right}!Bitmap@{Bitmap}}\index{Bitmap@{Bitmap}!Right@{Right}}\item[{\em 
\hypertarget{classBitmap_a1f2c392a8bbafcc178d31262eb8f5783a9609fd60ead42f5dc50bf769ad1a1337}{Right}\label{classBitmap_a1f2c392a8bbafcc178d31262eb8f5783a9609fd60ead42f5dc50bf769ad1a1337}
}]\index{Top@{Top}!Bitmap@{Bitmap}}\index{Bitmap@{Bitmap}!Top@{Top}}\item[{\em 
\hypertarget{classBitmap_a1f2c392a8bbafcc178d31262eb8f5783ab13c13582a2213d62da67102f3a97de4}{Top}\label{classBitmap_a1f2c392a8bbafcc178d31262eb8f5783ab13c13582a2213d62da67102f3a97de4}
}]\index{Bottom@{Bottom}!Bitmap@{Bitmap}}\index{Bitmap@{Bitmap}!Bottom@{Bottom}}\item[{\em 
\hypertarget{classBitmap_a1f2c392a8bbafcc178d31262eb8f5783a103bc50b44901746001f150b5c1f8fca}{Bottom}\label{classBitmap_a1f2c392a8bbafcc178d31262eb8f5783a103bc50b44901746001f150b5c1f8fca}
}]\index{All@{All}!Bitmap@{Bitmap}}\index{Bitmap@{Bitmap}!All@{All}}\item[{\em 
\hypertarget{classBitmap_a1f2c392a8bbafcc178d31262eb8f5783af394c7d30130b103bf3bab2c97df1249}{All}\label{classBitmap_a1f2c392a8bbafcc178d31262eb8f5783af394c7d30130b103bf3bab2c97df1249}
}]\end{description}
\end{Desc}


\subsection{Constructor \& Destructor Documentation}
\hypertarget{classBitmap_a07361d0aabd3074561b89d59124cf2c0}{\index{Bitmap@{Bitmap}!Bitmap@{Bitmap}}
\index{Bitmap@{Bitmap}!Bitmap@{Bitmap}}
\subsubsection[{Bitmap}]{\setlength{\rightskip}{0pt plus 5cm}Bitmap\-::\-Bitmap (
\begin{DoxyParamCaption}
\item[{const int}]{w, }
\item[{const int}]{h, }
\item[{const int}]{bpp = {\ttfamily 1}, }
\item[{bool}]{expandable = {\ttfamily true}, }
\item[{const int}]{maxwidth = {\ttfamily -\/1}, }
\item[{const int}]{maxheight = {\ttfamily -\/1}}
\end{DoxyParamCaption}
) throw  {\bf Bitmap\-Error}) }}\label{classBitmap_a07361d0aabd3074561b89d59124cf2c0}


Create a new bitmap with the given parameters. 

Coordinates on the bitmap run from 0 to W-\/1, and 0 to H-\/1, with point (0,0) in the top-\/left corner, the {\itshape x}-\/axis increasing to the right, and the {\itshape y}-\/axis increasing downwards.


\begin{DoxyParams}{Parameters}
{\em w} & the width of the bitmap, in pixels\\
\hline
{\em h} & the height of the bitmap, in pixels\\
\hline
{\em bpp} & the number of bits-\/per-\/pixel (default is 1)\\
\hline
{\em expandable} & if true (the default), the bitmap is expandable; if false, the bitmap is fixed at the specified size\\
\hline
{\em maxwidth} & if {\ttfamily expandable} is true, and {\ttfamily maxwidth} is greater than or equal to {\ttfamily w}, this is the maximum horizontal size the bitmap will expand to; if it is less than {\ttfamily w} (which includes negative, the default), the maximum width is set to a default multiplier of the width {\ttfamily w}\\
\hline
{\em maxheight} & if {\ttfamily expandable} is true, and {\ttfamily maxheight} is greater than or equal to {\ttfamily h}, this is the maximum vertical size the bitmap will expand to; if {\ttfamily maxheight} is less than {\ttfamily h} (which includes negative, the default), the maximum vertical size will be such that {\ttfamily maxheight/h==maxwidth/w}\\
\hline
\end{DoxyParams}

\begin{DoxyExceptions}{Exceptions}
{\em \hyperlink{classBitmapError}{Bitmap\-Error}} & if the arguments are inconsistent \\
\hline
\end{DoxyExceptions}


References normal, and Util\-::verbosity\-\_\-.

\hypertarget{classBitmap_a72d2a301ec1eb1c8d0f3d64823659a8e}{\index{Bitmap@{Bitmap}!$\sim$\-Bitmap@{$\sim$\-Bitmap}}
\index{$\sim$\-Bitmap@{$\sim$\-Bitmap}!Bitmap@{Bitmap}}
\subsubsection[{$\sim$\-Bitmap}]{\setlength{\rightskip}{0pt plus 5cm}Bitmap\-::$\sim$\-Bitmap (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{classBitmap_a72d2a301ec1eb1c8d0f3d64823659a8e}


\subsection{Member Function Documentation}
\hypertarget{classBitmap_aac12da5be05d287420871f5febf711ff}{\index{Bitmap@{Bitmap}!begin@{begin}}
\index{begin@{begin}!Bitmap@{Bitmap}}
\subsubsection[{begin}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Bitmap\-::const\-\_\-iterator} Bitmap\-::begin (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{classBitmap_aac12da5be05d287420871f5febf711ff}


Returns the beginning of a sequence of bitmap rows. 

Freezes the bitmap as a side-\/effect. 

References freeze(), and running\-Iterator\-\_\-.

\hypertarget{classBitmap_a667b0ff761ad180dbd7f5abc96994fa0}{\index{Bitmap@{Bitmap}!blur@{blur}}
\index{blur@{blur}!Bitmap@{Bitmap}}
\subsubsection[{blur}]{\setlength{\rightskip}{0pt plus 5cm}void Bitmap\-::blur (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{classBitmap_a667b0ff761ad180dbd7f5abc96994fa0}


Makes a very simple-\/minded attempt to antialias the bitmap by blurring it. 

Opening the D\-V\-I file with a magnification setting, and then calling \hyperlink{classBitmap_af6d7b466aea5af49027307aa06fc9424}{scale\-Down} will generally produce a much better effect.

Freezes the bitmap as a side-\/effect. 

References empty(), and freeze().



Referenced by main().

\hypertarget{classBitmap_a49de69e462191c7aa2f28c7567d79f61}{\index{Bitmap@{Bitmap}!bounding\-Box@{bounding\-Box}}
\index{bounding\-Box@{bounding\-Box}!Bitmap@{Bitmap}}
\subsubsection[{bounding\-Box}]{\setlength{\rightskip}{0pt plus 5cm}int $\ast$ Bitmap\-::bounding\-Box (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{classBitmap_a49de69e462191c7aa2f28c7567d79f61}


Obtain a bounding box for the current bitmap. 

This returns a four-\/element array consisting of, in order, 
\begin{DoxyItemize}
\item \mbox{[}0\mbox{]} = the coordinate of the leftmost blackened pixel, 
\item \mbox{[}1\mbox{]} = the coordinate of the topmost blackened pixel, 
\item \mbox{[}2\mbox{]} = one more than the coordinate of the rightmost blackened pixel, and 
\item \mbox{[}3\mbox{]} = one more than the coordinate of the bottommost blackened pixel. 
\end{DoxyItemize}Thus {\ttfamily \mbox{[}2\mbox{]}-\/\mbox{[}0\mbox{]}} is the number of pixels which the blackened area occupies in the horizontal direction. Note that `blackened pixels' here includes those notionally blackened by the {\ttfamily \hyperlink{classBitmap_af6a6a6850f55543d78e36219ec377802}{strut}()} method. If the bitmap has been cropped, this bounding box reflects the crop margins.

The returned array occupies static storage, and is always current as of the last time this method was called.

The methods {\ttfamily \hyperlink{classBitmap_a279822481e831c280cb5fa147b57f2bd}{get\-Width}()} and {\ttfamily \hyperlink{classBitmap_ae896d56f53a86dad492c7bc785af8aa1}{get\-Height}()} return the size of the bitmap irrespective of the bounding box and any cropping.

It is possible for the bounding-\/box to be bigger than the bitmap, if rules or bitmaps have been painted on the bitmap in such a way that they overlap the boundaries of the bitmap, {\itshape and} if it is called before an explicit or implicit call to {\ttfamily \hyperlink{classBitmap_ad1e130c2efd36a4f852fb2bccabf93e7}{freeze}()}. This can also be detected by a call to {\ttfamily \hyperlink{classBitmap_a310824467caadf07e54ad2ab56d1ef73}{overlaps}()} before any call to {\ttfamily \hyperlink{classBitmap_ad1e130c2efd36a4f852fb2bccabf93e7}{freeze()}}. It is never bigger than the bitmap after the bitmap is frozen.

Note that the order of the four dimensions is {\itshape not} that of the Postscript Bounding\-Box, which is (llx, lly, urx, ury) rather than here, effectively, (ulx, uly, lrx, lry). This is because the position of the upper-\/left corner (ulx, uly) is the natural Te\-X reference point.

\begin{DoxyReturn}{Returns}
the position of the bitmap bounding-\/box, in the order (ulx, uly, lrx, lry) 
\end{DoxyReturn}


Referenced by main().

\hypertarget{classBitmap_a7a8b4a30919d7e58bf9081b533d260df}{\index{Bitmap@{Bitmap}!clear@{clear}}
\index{clear@{clear}!Bitmap@{Bitmap}}
\subsubsection[{clear}]{\setlength{\rightskip}{0pt plus 5cm}void Bitmap\-::clear (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{classBitmap_a7a8b4a30919d7e58bf9081b533d260df}


Resets the bitmap to its initial state. 

This clears the bitmap by setting all the pixels to white, unfreezing it, and resetting the bounding box and crops to their initial states. It does not deallocate any memory, however, so if the bitmap has expanded in the past, the reset bitmap is the same size.

It does not reset the transparency flag or adjust the colour setting, or reset the pixel depth. This latter behaviour {\itshape may} change in future. 

References Bottom, Left, normal, Right, and Top.



Referenced by main().

\hypertarget{classBitmap_ae4e84f856954651ab3bc831685d29f35}{\index{Bitmap@{Bitmap}!crop@{crop}}
\index{crop@{crop}!Bitmap@{Bitmap}}
\subsubsection[{crop}]{\setlength{\rightskip}{0pt plus 5cm}void Bitmap\-::crop (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{classBitmap_ae4e84f856954651ab3bc831685d29f35}


Crops the bitmap. 

This applies the cropping specified in methods \hyperlink{classBitmap_adb29bdce61dd3450bffe58095ab94b9d}{crop(\-Margin,int,bool)} and \hyperlink{classBitmap_ac4afeda2bddb93ff87c8fa2eb7a420d6}{crop\-Default}.

Freezes the bitmap as a side-\/effect. 

References Bottom, freeze(), Left, normal, Right, and Top.



Referenced by main().

\hypertarget{classBitmap_adb29bdce61dd3450bffe58095ab94b9d}{\index{Bitmap@{Bitmap}!crop@{crop}}
\index{crop@{crop}!Bitmap@{Bitmap}}
\subsubsection[{crop}]{\setlength{\rightskip}{0pt plus 5cm}void Bitmap\-::crop (
\begin{DoxyParamCaption}
\item[{{\bf Margin}}]{spec, }
\item[{int}]{pixels, }
\item[{bool}]{absolute = {\ttfamily false}}
\end{DoxyParamCaption}
) throw  {\bf Bitmap\-Error}) }}\label{classBitmap_adb29bdce61dd3450bffe58095ab94b9d}


Specifies a crop. 

If the {\ttfamily absolute} flag is true, then set up a crop for the margin specified in {\ttfamily spec}\-: for the left and right margins, the crop in {\ttfamily pixels} is a distance from the {\itshape left} margin; for the top and bottom crops, it is from the {\itshape top} margin. If the {\ttfamily absolute} flag is false, then the distance in the {\ttfamily pixels} parameter is the distance `outward' of the eventual bounding-\/box, or at the edge of the bitmap, whichever comes first.

Since the implication of this is that a call 
\begin{DoxyPre}
  .crop(All, x, true);
\end{DoxyPre}
 would set the crop box to be zero size, this combination is forbidden.


\begin{DoxyParams}{Parameters}
{\em spec} & the margin the crop is being specified for \\
\hline
{\em pixels} & the size of the margin, or the position when {\ttfamily absolute} is true \\
\hline
{\em absolute} & if true, then the margin specified is an absolute position relative to the left or top margin as appropriate; if false, then it is relative to the eventual size and position of the bounding box \\
\hline
\end{DoxyParams}

\begin{DoxyExceptions}{Exceptions}
{\em \hyperlink{classBitmapError}{Bitmap\-Error}} & if {\ttfamily spec=All} when {\ttfamily absolute} is true \\
\hline
\end{DoxyExceptions}
\hypertarget{classBitmap_ac4afeda2bddb93ff87c8fa2eb7a420d6}{\index{Bitmap@{Bitmap}!crop\-Default@{crop\-Default}}
\index{crop\-Default@{crop\-Default}!Bitmap@{Bitmap}}
\subsubsection[{crop\-Default}]{\setlength{\rightskip}{0pt plus 5cm}void Bitmap\-::crop\-Default (
\begin{DoxyParamCaption}
\item[{{\bf Margin}}]{spec, }
\item[{int}]{pixels, }
\item[{bool}]{absolute = {\ttfamily false}}
\end{DoxyParamCaption}
) throw  {\bf Bitmap\-Error}) \hspace{0.3cm}{\ttfamily [static]}}}\label{classBitmap_ac4afeda2bddb93ff87c8fa2eb7a420d6}


Specifies a default crop. 

This is exactly the same as \hyperlink{classBitmap_adb29bdce61dd3450bffe58095ab94b9d}{crop(\-Margin,int,bool)}, except that it specifies this for all the bitmaps subsequently created by this class.


\begin{DoxyParams}{Parameters}
{\em spec} & the margin the crop is being specified for \\
\hline
{\em pixels} & the size of the margin, or the position when {\ttfamily absolute} is true \\
\hline
{\em absolute} & if true, then the margin specified is an absolute position relative to the left or top margin as appropriate; if false, then it is relative to the eventual size and position of the bounding box \\
\hline
\end{DoxyParams}

\begin{DoxyExceptions}{Exceptions}
{\em \hyperlink{classBitmapError}{Bitmap\-Error}} & if {\ttfamily spec=All} when {\ttfamily absolute} is true \\
\hline
\end{DoxyExceptions}
\begin{DoxySeeAlso}{See Also}
\hyperlink{classBitmap_adb29bdce61dd3450bffe58095ab94b9d}{crop(\-Margin,int,bool)} 
\end{DoxySeeAlso}


Referenced by main().

\hypertarget{classBitmap_ad730498eb3c626cf7b93c737edc1305a}{\index{Bitmap@{Bitmap}!empty@{empty}}
\index{empty@{empty}!Bitmap@{Bitmap}}
\subsubsection[{empty}]{\setlength{\rightskip}{0pt plus 5cm}bool Bitmap\-::empty (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classBitmap_ad730498eb3c626cf7b93c737edc1305a}


Is the bitmap empty? If nothing has (yet) been written to the bitmap, or if everything that was written was out of bounds, then the bitmap is empty. 

\begin{DoxyReturn}{Returns}
true if the bitmap is empty 
\end{DoxyReturn}


Referenced by blur(), and main().

\hypertarget{classBitmap_ae41ee671efbcfab8e7694503ef38145b}{\index{Bitmap@{Bitmap}!end@{end}}
\index{end@{end}!Bitmap@{Bitmap}}
\subsubsection[{end}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Bitmap\-::const\-\_\-iterator} Bitmap\-::end (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}}\label{classBitmap_ae41ee671efbcfab8e7694503ef38145b}


Returns the end of a sequence of bitmap rows. 



References end\-Iterator\-\_\-.

\hypertarget{classBitmap_ad1e130c2efd36a4f852fb2bccabf93e7}{\index{Bitmap@{Bitmap}!freeze@{freeze}}
\index{freeze@{freeze}!Bitmap@{Bitmap}}
\subsubsection[{freeze}]{\setlength{\rightskip}{0pt plus 5cm}void Bitmap\-::freeze (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{classBitmap_ad1e130c2efd36a4f852fb2bccabf93e7}


Freeze the bitmap and bounding box. 

This prevents any further changes to the bitmap by the methods {\ttfamily \hyperlink{classBitmap_a3de045ee5c08bca1e183639792e2ca44}{paint()}}, {\ttfamily \hyperlink{classBitmap_a17f904912a6f9405fba8fa82b6150f73}{rule()}} and {\ttfamily \hyperlink{classBitmap_af6a6a6850f55543d78e36219ec377802}{strut()}}. Other methods in this class such as {\ttfamily \hyperlink{classBitmap_ae4e84f856954651ab3bc831685d29f35}{crop()}} and {\ttfamily \hyperlink{classBitmap_a667b0ff761ad180dbd7f5abc96994fa0}{blur()}} call this method implicitly.

If method {\ttfamily \hyperlink{classBitmap_a49de69e462191c7aa2f28c7567d79f61}{bounding\-Box()}} is called before this method, it is possible for it to report a size larger than the bitmap, if rules or bitmaps have been placed so that they overlap the bitmap's boundaries. The call to {\ttfamily freeze} normalises the bounding box so that this is no longer the case. 

Referenced by begin(), blur(), and crop().

\hypertarget{classBitmap_ae896d56f53a86dad492c7bc785af8aa1}{\index{Bitmap@{Bitmap}!get\-Height@{get\-Height}}
\index{get\-Height@{get\-Height}!Bitmap@{Bitmap}}
\subsubsection[{get\-Height}]{\setlength{\rightskip}{0pt plus 5cm}int Bitmap\-::get\-Height (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classBitmap_ae896d56f53a86dad492c7bc785af8aa1}


Returns the total height of the bitmap. 

This may not the the initial size of the bitmap, if it has expanded since then. \begin{DoxyReturn}{Returns}
height of bitmap 
\end{DoxyReturn}
\hypertarget{classBitmap_a5aa7c1fcb9abaf9d6704846bcc389f4e}{\index{Bitmap@{Bitmap}!get\-Mark@{get\-Mark}}
\index{get\-Mark@{get\-Mark}!Bitmap@{Bitmap}}
\subsubsection[{get\-Mark}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Dvi\-File\-Position} $\ast$ Bitmap\-::get\-Mark (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{classBitmap_a5aa7c1fcb9abaf9d6704846bcc389f4e}


Obtains the mark for this bitmap. 

\begin{DoxyReturn}{Returns}
a pointer to the mark information, or 0 if no mark has been registered. This points to static storage, which should not be deleted, and which may be overwritten. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See Also}
\hyperlink{classBitmap_abe2eb1c8a0ae476aff6a798a0dc3f5d9}{mark} 
\end{DoxySeeAlso}


References Dvi\-File\-Position\-::copy(), Dvi\-File\-Position\-::shift(), and Dvi\-File\-::unit\-\_\-pixels.

\hypertarget{classBitmap_a279822481e831c280cb5fa147b57f2bd}{\index{Bitmap@{Bitmap}!get\-Width@{get\-Width}}
\index{get\-Width@{get\-Width}!Bitmap@{Bitmap}}
\subsubsection[{get\-Width}]{\setlength{\rightskip}{0pt plus 5cm}int Bitmap\-::get\-Width (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classBitmap_a279822481e831c280cb5fa147b57f2bd}


Returns the total width of the bitmap. 

This may not the the initial size of the bitmap, if it has expanded since then. \begin{DoxyReturn}{Returns}
width of bitmap 
\end{DoxyReturn}
\hypertarget{classBitmap_a95ac994f4849488c217f7e89ec6c8736}{\index{Bitmap@{Bitmap}!log\-Bitmap\-Info@{log\-Bitmap\-Info}}
\index{log\-Bitmap\-Info@{log\-Bitmap\-Info}!Bitmap@{Bitmap}}
\subsubsection[{log\-Bitmap\-Info}]{\setlength{\rightskip}{0pt plus 5cm}static void Bitmap\-::log\-Bitmap\-Info (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{prefix}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}}\label{classBitmap_a95ac994f4849488c217f7e89ec6c8736}


Sets whether bitmap information is logged. 

If logging is enabled, then the details of the bitmaps are sent to the {\ttfamily stdout} prefixed by the given string.


\begin{DoxyParams}{Parameters}
{\em prefix} & if non-\/null, then bitmap activity is logged on stdout with this prefix; if null, such logging is turned off \\
\hline
\end{DoxyParams}


Referenced by main().

\hypertarget{classBitmap_abe2eb1c8a0ae476aff6a798a0dc3f5d9}{\index{Bitmap@{Bitmap}!mark@{mark}}
\index{mark@{mark}!Bitmap@{Bitmap}}
\subsubsection[{mark}]{\setlength{\rightskip}{0pt plus 5cm}void Bitmap\-::mark (
\begin{DoxyParamCaption}
\item[{{\bf Dvi\-File\-Position} $\ast$}]{p}
\end{DoxyParamCaption}
)}}\label{classBitmap_abe2eb1c8a0ae476aff6a798a0dc3f5d9}


Marks a particular spot in the bitmap. 

This spot can be retrieved later using \hyperlink{classBitmap_a5aa7c1fcb9abaf9d6704846bcc389f4e}{get\-Mark}. The top-\/left pixel in the bitmap has mark coordinates (0,0). The input coordinates are not restricted to be on the bitmap.


\begin{DoxyParams}{Parameters}
{\em p} & a \hyperlink{classDviFilePosition}{Dvi\-File\-Position} representing the marked position \\
\hline
\end{DoxyParams}


References Dvi\-File\-Position\-::get\-X(), Dvi\-File\-Position\-::get\-Y(), normal, and Dvi\-File\-::unit\-\_\-pixels.



Referenced by main().

\hypertarget{classBitmap_a310824467caadf07e54ad2ab56d1ef73}{\index{Bitmap@{Bitmap}!overlaps@{overlaps}}
\index{overlaps@{overlaps}!Bitmap@{Bitmap}}
\subsubsection[{overlaps}]{\setlength{\rightskip}{0pt plus 5cm}bool Bitmap\-::overlaps (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}}\label{classBitmap_a310824467caadf07e54ad2ab56d1ef73}


Does the bitmap overlap its canvas? This can only be true before a (implicit or explicit) call to \hyperlink{classBitmap_ad1e130c2efd36a4f852fb2bccabf93e7}{freeze}, since that normalizes the bounding box variables. 

\begin{DoxyReturn}{Returns}
true if the bitmap overlaps its canvas; always false after any call to {\ttfamily \hyperlink{classBitmap_ad1e130c2efd36a4f852fb2bccabf93e7}{freeze()}} 
\end{DoxyReturn}


References normal.



Referenced by main().

\hypertarget{classBitmap_a3de045ee5c08bca1e183639792e2ca44}{\index{Bitmap@{Bitmap}!paint@{paint}}
\index{paint@{paint}!Bitmap@{Bitmap}}
\subsubsection[{paint}]{\setlength{\rightskip}{0pt plus 5cm}void Bitmap\-::paint (
\begin{DoxyParamCaption}
\item[{const int}]{x, }
\item[{const int}]{y, }
\item[{const int}]{w, }
\item[{const int}]{h, }
\item[{const {\bf Byte} $\ast$}]{b}
\end{DoxyParamCaption}
) throw  {\bf Bitmap\-Error}) }}\label{classBitmap_a3de045ee5c08bca1e183639792e2ca44}


Paint a bitmap onto the master bitmap. 

The bitmap to be added is given in a one-\/dimensional array {\ttfamily b}, which is {\ttfamily w} pixels wide and {\ttfamily h} high. Like the master bitmap, the {\itshape x} axis runs horizontally and the {\itshape y} axis vertically downwards.

The pixel at position {\itshape (x,y)} on the new bitmap is at position {\ttfamily b\mbox{[}y$\ast$w+x\mbox{]}} in the input bitmap array. This new bitmap is painted onto the master bitmap with its top left corner pixel (namely position {\itshape (0,0)}) occupying pixel {\itshape (x,y)} on the master bitmap, and pixel {\itshape (a,b)} occupying pixel {\itshape (x+a,y+b)} unless this would be off the master bitmap.

Any parts of the new bitmap falling outside the boundary of the master are cropped.


\begin{DoxyParams}{Parameters}
{\em x} & the pixel in the top-\/left corner of the new bitmap (coordinate {\itshape (0,0)}) is located at position {\itshape (x,y)} of the master bitmap \\
\hline
{\em y} & (see parameter {\itshape x}) \\
\hline
{\em w} & the width of the new bitmap, in pixels \\
\hline
{\em h} & the height of the new bitmap, in pixels \\
\hline
{\em b} & the new bitmap, as a one-\/dimensional array \\
\hline
\end{DoxyParams}

\begin{DoxyExceptions}{Exceptions}
{\em \hyperlink{classBitmapError}{Bitmap\-Error}} & if this is called after method {\ttfamily \hyperlink{classBitmap_ad1e130c2efd36a4f852fb2bccabf93e7}{freeze()}} \\
\hline
\end{DoxyExceptions}


References debug, and Util\-::verbosity\-\_\-.



Referenced by main().

\hypertarget{classBitmap_a17f904912a6f9405fba8fa82b6150f73}{\index{Bitmap@{Bitmap}!rule@{rule}}
\index{rule@{rule}!Bitmap@{Bitmap}}
\subsubsection[{rule}]{\setlength{\rightskip}{0pt plus 5cm}void Bitmap\-::rule (
\begin{DoxyParamCaption}
\item[{const int}]{x, }
\item[{const int}]{y, }
\item[{const int}]{w, }
\item[{const int}]{h}
\end{DoxyParamCaption}
) throw  {\bf Bitmap\-Error}) }}\label{classBitmap_a17f904912a6f9405fba8fa82b6150f73}


Draws on the master bitmap a block (a `rule' in Te\-X terms) of height h and width w pixels. 

The bottom left corner of the rule occupies pixel (x,y) on the master bitmap.


\begin{DoxyParams}{Parameters}
{\em x} & the (pixel in the) bottom-\/left corner of the rule is located at position {\itshape (x,y)} of the master bitmap \\
\hline
{\em y} & (see parameter {\itshape x}) \\
\hline
{\em w} & the width of the new rule, in pixels \\
\hline
{\em h} & the height of the new rule, in pixels \\
\hline
\end{DoxyParams}

\begin{DoxyExceptions}{Exceptions}
{\em \hyperlink{classBitmapError}{Bitmap\-Error}} & if this is called after method {\ttfamily \hyperlink{classBitmap_ad1e130c2efd36a4f852fb2bccabf93e7}{freeze()}} \\
\hline
\end{DoxyExceptions}


References normal, and Util\-::verbosity\-\_\-.



Referenced by main().

\hypertarget{classBitmap_af6d7b466aea5af49027307aa06fc9424}{\index{Bitmap@{Bitmap}!scale\-Down@{scale\-Down}}
\index{scale\-Down@{scale\-Down}!Bitmap@{Bitmap}}
\subsubsection[{scale\-Down}]{\setlength{\rightskip}{0pt plus 5cm}void Bitmap\-::scale\-Down (
\begin{DoxyParamCaption}
\item[{const int}]{factor}
\end{DoxyParamCaption}
) throw  {\bf Bitmap\-Error}) }}\label{classBitmap_af6d7b466aea5af49027307aa06fc9424}


Scales down the bitmap by a numerical factor. 

The resulting bitmap has a linear dimension smaller than the original by the given factor. The pixels in the resulting bitmap are resampled so that this gives a basic anti-\/aliasing effect.

We throw an exception if you try to scale down an empty bitmap, simply on the grounds that this is probably an error, and you want to know about it.

Freezes the bitmap as a side-\/effect.


\begin{DoxyParams}{Parameters}
{\em factor} & the scaling factor, in the range 2..8 \\
\hline
\end{DoxyParams}

\begin{DoxyExceptions}{Exceptions}
{\em \hyperlink{classBitmapError}{Bitmap\-Error}} & if the scaling factor is outside the range 2..8, or if the bitmap is empty \\
\hline
\end{DoxyExceptions}


References normal, Dvi\-File\-::unit\-\_\-pixels, and Util\-::verbosity\-\_\-.



Referenced by main().

\hypertarget{classBitmap_ae271e6037a7339d7cf585cc0ed51b79b}{\index{Bitmap@{Bitmap}!set\-Default\-R\-G\-B@{set\-Default\-R\-G\-B}}
\index{set\-Default\-R\-G\-B@{set\-Default\-R\-G\-B}!Bitmap@{Bitmap}}
\subsubsection[{set\-Default\-R\-G\-B}]{\setlength{\rightskip}{0pt plus 5cm}void Bitmap\-::set\-Default\-R\-G\-B (
\begin{DoxyParamCaption}
\item[{const bool}]{fg, }
\item[{const {\bf Bitmap\-Colour} $\ast$}]{rgb}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [static]}}}\label{classBitmap_ae271e6037a7339d7cf585cc0ed51b79b}


Sets the default foreground or background colours. 

This is just like {\ttfamily set\-R\-G\-B}, except that it applies to all bitmaps subsequently created by this class.


\begin{DoxyParams}{Parameters}
{\em fg} & if true, sets the foreground colour; if false, the background \\
\hline
{\em rgb} & the colour the ground is set to \\
\hline
\end{DoxyParams}


References Bitmap\-::\-Bitmap\-Colour\-\_\-s\-::blue, Bitmap\-::\-Bitmap\-Colour\-\_\-s\-::green, normal, and Bitmap\-::\-Bitmap\-Colour\-\_\-s\-::red.



Referenced by main().

\hypertarget{classBitmap_a13bff779c50c1d115fee589b7ce52d4f}{\index{Bitmap@{Bitmap}!set\-R\-G\-B@{set\-R\-G\-B}}
\index{set\-R\-G\-B@{set\-R\-G\-B}!Bitmap@{Bitmap}}
\subsubsection[{set\-R\-G\-B}]{\setlength{\rightskip}{0pt plus 5cm}void Bitmap\-::set\-R\-G\-B (
\begin{DoxyParamCaption}
\item[{const bool}]{fg, }
\item[{const {\bf Bitmap\-Colour} $\ast$}]{rgb}
\end{DoxyParamCaption}
)}}\label{classBitmap_a13bff779c50c1d115fee589b7ce52d4f}


Sets the foreground or background colour. 


\begin{DoxyParams}{Parameters}
{\em fg} & if true, sets the foreground colour; if false, the background \\
\hline
{\em rgb} & the colour the ground is set to \\
\hline
\end{DoxyParams}


References Bitmap\-::\-Bitmap\-Colour\-\_\-s\-::blue, Bitmap\-::\-Bitmap\-Colour\-\_\-s\-::green, normal, and Bitmap\-::\-Bitmap\-Colour\-\_\-s\-::red.



Referenced by main().

\hypertarget{classBitmap_aeb7f722c938cbdbf4b6c892e9b0d84bf}{\index{Bitmap@{Bitmap}!set\-Transparent@{set\-Transparent}}
\index{set\-Transparent@{set\-Transparent}!Bitmap@{Bitmap}}
\subsubsection[{set\-Transparent}]{\setlength{\rightskip}{0pt plus 5cm}void Bitmap\-::set\-Transparent (
\begin{DoxyParamCaption}
\item[{const bool}]{sw}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classBitmap_aeb7f722c938cbdbf4b6c892e9b0d84bf}


Sets the current bitmap to be transparent, if possible. 


\begin{DoxyParams}{Parameters}
{\em sw} & if true, the current bitmap is set to be transparent \\
\hline
\end{DoxyParams}


Referenced by main().

\hypertarget{classBitmap_af6a6a6850f55543d78e36219ec377802}{\index{Bitmap@{Bitmap}!strut@{strut}}
\index{strut@{strut}!Bitmap@{Bitmap}}
\subsubsection[{strut}]{\setlength{\rightskip}{0pt plus 5cm}void Bitmap\-::strut (
\begin{DoxyParamCaption}
\item[{const int}]{x, }
\item[{const int}]{y, }
\item[{const int}]{l, }
\item[{const int}]{r, }
\item[{const int}]{t, }
\item[{const int}]{b}
\end{DoxyParamCaption}
) throw  {\bf Bitmap\-Error}) }}\label{classBitmap_af6a6a6850f55543d78e36219ec377802}


Draws a `strut' on the master bitmap. 

This is essentially the same as the {\ttfamily \hyperlink{classBitmap_a17f904912a6f9405fba8fa82b6150f73}{rule()}} method, except that it doesn't draw in any pixels. Its only effect is to make sure that the boundingbox includes at least the {\itshape x}-\/values {\itshape \mbox{[}x-\/l,x+r-\/1\mbox{]}}, and the {\itshape y}-\/values {\itshape \mbox{[}y-\/t+1,y+b\mbox{]}}. That is, the area indicated by the strut is {\ttfamily l+r} pixels wide by {\ttfamily t+b} pixels deep. The parameters l, r, t, and b must all be non-\/negative. This implies that the call {\ttfamily rule(x, y, w, h)} has the same effect on the bounding box as {\ttfamily rule(x, y, 0, w, h, 0)}.


\begin{DoxyParams}{Parameters}
{\em x} & the x-\/coordinate of the reference point of the strut \\
\hline
{\em y} & the y-\/coordinate of the reference point of the strut \\
\hline
{\em l} & bounding box must be leftwards of {\ttfamily x-\/l} \\
\hline
{\em r} & bounding box must be rightwards of {\ttfamily x+r} \\
\hline
{\em t} & bounding box must be above {\ttfamily y-\/t} \\
\hline
{\em b} & bounding box must be below {\ttfamily y+b} \\
\hline
\end{DoxyParams}

\begin{DoxyExceptions}{Exceptions}
{\em \hyperlink{classBitmapError}{Bitmap\-Error}} & if this is called after method {\ttfamily \hyperlink{classBitmap_ad1e130c2efd36a4f852fb2bccabf93e7}{freeze()}}, or if one of l, r, t, b is negative \\
\hline
\end{DoxyExceptions}


References normal, and Util\-::verbosity\-\_\-.



Referenced by main().

\hypertarget{classBitmap_af5910ead222c6a7ff038c239d6781be2}{\index{Bitmap@{Bitmap}!verbosity@{verbosity}}
\index{verbosity@{verbosity}!Bitmap@{Bitmap}}
\subsubsection[{verbosity}]{\setlength{\rightskip}{0pt plus 5cm}static {\bf verbosities} Bitmap\-::verbosity (
\begin{DoxyParamCaption}
\item[{const {\bf verbosities}}]{level}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}}\label{classBitmap_af5910ead222c6a7ff038c239d6781be2}


Sets the verbosity of the current class. 


\begin{DoxyParams}{Parameters}
{\em level} & the required verbosity \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the previous verbosity level 
\end{DoxyReturn}


Referenced by main().

\hypertarget{classBitmap_a98a23b42bb75028ce58ee8aff4f140c2}{\index{Bitmap@{Bitmap}!write@{write}}
\index{write@{write}!Bitmap@{Bitmap}}
\subsubsection[{write}]{\setlength{\rightskip}{0pt plus 5cm}void Bitmap\-::write (
\begin{DoxyParamCaption}
\item[{const string}]{filename, }
\item[{const string}]{format}
\end{DoxyParamCaption}
) throw  {\bf Bitmap\-Error}) }}\label{classBitmap_a98a23b42bb75028ce58ee8aff4f140c2}


Writes the bitmap out to the specified file. 

The {\ttfamily format} parameter specifies the format of this file, and should be one of the bitmap types listed in the sequence starting with \hyperlink{classBitmapImage_ac0e0d167693117b3686610b79908f123}{Bitmap\-Image\#first\-Bitmap\-Image\-Format}; if this is not available, we try writing out in the default format, and if that fails in turn (something is clearly badly wrong) we throw an error.

Freezes the bitmap as a side-\/effect.


\begin{DoxyParams}{Parameters}
{\em filename} & the name of the output filename \\
\hline
{\em format} & one of the format names known to class {\ttfamily \hyperlink{classBitmapImage}{Bitmap\-Image}} \\
\hline
\end{DoxyParams}

\begin{DoxyExceptions}{Exceptions}
{\em \hyperlink{classBitmapError}{Bitmap\-Error}} & if we cannot write out a bitmap even in the default format \\
\hline
\end{DoxyExceptions}
\begin{DoxySeeAlso}{See Also}
\hyperlink{classBitmapImage}{Bitmap\-Image} 
\end{DoxySeeAlso}


References Bitmap\-Image\-::file\-Extension(), Bitmap\-Image\-::first\-Bitmap\-Image\-Format(), Dvi\-File\-Position\-::get\-X(), Dvi\-File\-Position\-::get\-Y(), Bitmap\-Image\-::new\-Bitmap\-Image(), normal, Bitmap\-Image\-::set\-Bitmap(), Bitmap\-Image\-::set\-Bitmap\-Row(), Bitmap\-Image\-::set\-R\-G\-B(), Bitmap\-Image\-::set\-Transparent(), Dvi\-File\-::unit\-\_\-pixels, Util\-::verbosity\-\_\-, and Bitmap\-Image\-::write().



Referenced by main().



\subsection{Member Data Documentation}
\hypertarget{classBitmap_aa4d616214bcdb4bc34fe31ad4ba2cb5c}{\index{Bitmap@{Bitmap}!end\-Iterator\-\_\-@{end\-Iterator\-\_\-}}
\index{end\-Iterator\-\_\-@{end\-Iterator\-\_\-}!Bitmap@{Bitmap}}
\subsubsection[{end\-Iterator\-\_\-}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Bitmap\-::const\-\_\-iterator} Bitmap\-::end\-Iterator\-\_\-\hspace{0.3cm}{\ttfamily [static]}}}\label{classBitmap_aa4d616214bcdb4bc34fe31ad4ba2cb5c}


Referenced by end().

\hypertarget{classBitmap_ae9494add7417fec9f51cf4ea50f3df93}{\index{Bitmap@{Bitmap}!running\-Iterator\-\_\-@{running\-Iterator\-\_\-}}
\index{running\-Iterator\-\_\-@{running\-Iterator\-\_\-}!Bitmap@{Bitmap}}
\subsubsection[{running\-Iterator\-\_\-}]{\setlength{\rightskip}{0pt plus 5cm}{\bf const\-\_\-iterator} Bitmap\-::running\-Iterator\-\_\-}}\label{classBitmap_ae9494add7417fec9f51cf4ea50f3df93}


Referenced by begin().



The documentation for this class was generated from the following files\-:\begin{DoxyCompactItemize}
\item 
\hyperlink{Bitmap_8h}{Bitmap.\-h}\item 
\hyperlink{Bitmap_8cc}{Bitmap.\-cc}\end{DoxyCompactItemize}
