\section{hpgs\_\-paint\_\-device\_\-st Struct Reference}
\label{structhpgs__paint__device__st}\index{hpgs\_\-paint\_\-device\_\-st@{hpgs\_\-paint\_\-device\_\-st}}
The pixel rendering vector graphics device.  


{\tt \#include $<$hpgspaint.h$>$}

\subsection*{Data Fields}
\begin{CompactItemize}
\item 
{\bf hpgs\_\-device} {\bf inherited}
\item 
{\bf hpgs\_\-image} $\ast$ {\bf image}
\item 
char $\ast$ {\bf filename}
\item 
{\bf hpgs\_\-bbox} \textbf{page\_\-bb}\label{structhpgs__paint__device__st_04170cbb3fbd8c6664587aafcbf897b3}

\item 
double {\bf xres}
\item 
double {\bf yres}
\item 
hpgs\_\-bool {\bf overscan}
\item 
double {\bf thin\_\-alpha}
\item 
{\bf hpgs\_\-paint\_\-path} $\ast$ {\bf path}
\item 
{\bf hpgs\_\-paint\_\-clipper} $\ast$ {\bf path\_\-clipper}
\item 
{\bf hpgs\_\-paint\_\-clipper} $\ast$ {\bf clippers} [HPGS\_\-PAINT\_\-MAX\_\-CLIP\_\-DEPTH]
\item 
int {\bf current\_\-clipper}
\item 
int {\bf clip\_\-depth}
\item 
{\bf hpgs\_\-gstate} $\ast$ {\bf gstate}
\item 
{\bf hpgs\_\-paint\_\-color} {\bf color}
\item 
{\bf hpgs\_\-palette\_\-color} {\bf patcol}
\item 
int {\bf image\_\-interpolation}
\end{CompactItemize}


\subsection{Detailed Description}
The pixel rendering vector graphics device. 

This structure has a public alias {\tt hpgs\_\-paint\_\-device} and represents a {\tt hpgs\_\-device} which draws to a given {\tt hpgs\_\-image}. It is capable of drawing polgonal data with optional antialiasing. Image may be drawn using a linear interpolation of the pixel values or uninterpolated.

The following figure outlines the coordinate setup of a paint device.

 \begin{Image}
\begin{center}
\includegraphics{clipper}\caption{Coordinate setup of hpgs\_\-paint\_\-device}
\end{center}
\end{Image}
 Further details on antialiasing and scanline setup are described in the documentation of {\tt \doxyref{hpgs\_\-paint\_\-clipper\_\-st}{p.}{structhpgs__paint__clipper__st}}. 

\subsection{Field Documentation}
\index{hpgs\_\-paint\_\-device\_\-st@{hpgs\_\-paint\_\-device\_\-st}!inherited@{inherited}}
\index{inherited@{inherited}!hpgs_paint_device_st@{hpgs\_\-paint\_\-device\_\-st}}
\subsubsection[inherited]{\setlength{\rightskip}{0pt plus 5cm}{\bf hpgs\_\-device} {\bf hpgs\_\-paint\_\-device\_\-st::inherited}}\label{structhpgs__paint__device__st_dce61d0854ddf04e4d9f3829b675c62c}


The base device structure. 

Referenced by hpgs\_\-new\_\-paint\_\-device().\index{hpgs\_\-paint\_\-device\_\-st@{hpgs\_\-paint\_\-device\_\-st}!image@{image}}
\index{image@{image}!hpgs_paint_device_st@{hpgs\_\-paint\_\-device\_\-st}}
\subsubsection[image]{\setlength{\rightskip}{0pt plus 5cm}{\bf hpgs\_\-image}$\ast$ {\bf hpgs\_\-paint\_\-device\_\-st::image}}\label{structhpgs__paint__device__st_84d585ae19d5bf9e2361533b887746dd}


The image to which we draw. 

Referenced by hpgs\_\-new\_\-paint\_\-device(), hpgs\_\-paint\_\-device\_\-drawimage(), and hpgs\_\-paint\_\-device\_\-fill().\index{hpgs\_\-paint\_\-device\_\-st@{hpgs\_\-paint\_\-device\_\-st}!filename@{filename}}
\index{filename@{filename}!hpgs_paint_device_st@{hpgs\_\-paint\_\-device\_\-st}}
\subsubsection[filename]{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ {\bf hpgs\_\-paint\_\-device\_\-st::filename}}\label{structhpgs__paint__device__st_44bde06df9facc892568c83c6ecc2589}


The image filename without an eventual extension. 

Referenced by hpgs\_\-new\_\-paint\_\-device().\index{hpgs\_\-paint\_\-device\_\-st@{hpgs\_\-paint\_\-device\_\-st}!xres@{xres}}
\index{xres@{xres}!hpgs_paint_device_st@{hpgs\_\-paint\_\-device\_\-st}}
\subsubsection[xres]{\setlength{\rightskip}{0pt plus 5cm}double {\bf hpgs\_\-paint\_\-device\_\-st::xres}}\label{structhpgs__paint__device__st_a93dd6cdbfad32c8b5cf5d1e8d2a85d5}


The bounding box in world coordinates, which is mapped onto the image. The resolution of the image in x direction. 

Referenced by hpgs\_\-new\_\-paint\_\-device().\index{hpgs\_\-paint\_\-device\_\-st@{hpgs\_\-paint\_\-device\_\-st}!yres@{yres}}
\index{yres@{yres}!hpgs_paint_device_st@{hpgs\_\-paint\_\-device\_\-st}}
\subsubsection[yres]{\setlength{\rightskip}{0pt plus 5cm}double {\bf hpgs\_\-paint\_\-device\_\-st::yres}}\label{structhpgs__paint__device__st_cc5bcb2f4ff2e9ae558a59bf70588f7b}


The resolution of the image in y direction. 

Referenced by hpgs\_\-new\_\-paint\_\-device().\index{hpgs\_\-paint\_\-device\_\-st@{hpgs\_\-paint\_\-device\_\-st}!overscan@{overscan}}
\index{overscan@{overscan}!hpgs_paint_device_st@{hpgs\_\-paint\_\-device\_\-st}}
\subsubsection[overscan]{\setlength{\rightskip}{0pt plus 5cm}hpgs\_\-bool {\bf hpgs\_\-paint\_\-device\_\-st::overscan}}\label{structhpgs__paint__device__st_233bef1702634fd2639856ba39c50794}


Specifies, whether we use antialiasing for rendering the image. 

Referenced by hpgs\_\-new\_\-paint\_\-device(), and hpgs\_\-paint\_\-device\_\-drawimage().\index{hpgs\_\-paint\_\-device\_\-st@{hpgs\_\-paint\_\-device\_\-st}!thin\_\-alpha@{thin\_\-alpha}}
\index{thin\_\-alpha@{thin\_\-alpha}!hpgs_paint_device_st@{hpgs\_\-paint\_\-device\_\-st}}
\subsubsection[thin\_\-alpha]{\setlength{\rightskip}{0pt plus 5cm}double {\bf hpgs\_\-paint\_\-device\_\-st::thin\_\-alpha}}\label{structhpgs__paint__device__st_f969769ac0f47742723bfe31f17ea3e1}


The minimal alpha value for antialiased thin lines. 

Referenced by hpgs\_\-new\_\-paint\_\-device(), and hpgs\_\-paint\_\-device\_\-set\_\-thin\_\-alpha().\index{hpgs\_\-paint\_\-device\_\-st@{hpgs\_\-paint\_\-device\_\-st}!path@{path}}
\index{path@{path}!hpgs_paint_device_st@{hpgs\_\-paint\_\-device\_\-st}}
\subsubsection[path]{\setlength{\rightskip}{0pt plus 5cm}{\bf hpgs\_\-paint\_\-path}$\ast$ {\bf hpgs\_\-paint\_\-device\_\-st::path}}\label{structhpgs__paint__device__st_474f2a7513da961e63a256b8d54b369f}


The current path, which is under contruction. 

Referenced by hpgs\_\-new\_\-paint\_\-device().\index{hpgs\_\-paint\_\-device\_\-st@{hpgs\_\-paint\_\-device\_\-st}!path\_\-clipper@{path\_\-clipper}}
\index{path\_\-clipper@{path\_\-clipper}!hpgs_paint_device_st@{hpgs\_\-paint\_\-device\_\-st}}
\subsubsection[path\_\-clipper]{\setlength{\rightskip}{0pt plus 5cm}{\bf hpgs\_\-paint\_\-clipper}$\ast$ {\bf hpgs\_\-paint\_\-device\_\-st::path\_\-clipper}}\label{structhpgs__paint__device__st_e85a15e0017fe8fe7d4d70febd262143}


The mapping of the current path onto the defined scanlines. 

Referenced by hpgs\_\-new\_\-paint\_\-device(), hpgs\_\-paint\_\-device\_\-clip(), and hpgs\_\-paint\_\-device\_\-fill().\index{hpgs\_\-paint\_\-device\_\-st@{hpgs\_\-paint\_\-device\_\-st}!clippers@{clippers}}
\index{clippers@{clippers}!hpgs_paint_device_st@{hpgs\_\-paint\_\-device\_\-st}}
\subsubsection[clippers]{\setlength{\rightskip}{0pt plus 5cm}{\bf hpgs\_\-paint\_\-clipper}$\ast$ {\bf hpgs\_\-paint\_\-device\_\-st::clippers}[HPGS\_\-PAINT\_\-MAX\_\-CLIP\_\-DEPTH]}\label{structhpgs__paint__device__st_a98e8324dee571ed20f107483847e366}


A stack of mappings of the clip path' of onto the defined scanlines. 

Referenced by hpgs\_\-new\_\-paint\_\-device(), hpgs\_\-paint\_\-device\_\-clip(), hpgs\_\-paint\_\-device\_\-drawimage(), and hpgs\_\-paint\_\-device\_\-fill().\index{hpgs\_\-paint\_\-device\_\-st@{hpgs\_\-paint\_\-device\_\-st}!current\_\-clipper@{current\_\-clipper}}
\index{current\_\-clipper@{current\_\-clipper}!hpgs_paint_device_st@{hpgs\_\-paint\_\-device\_\-st}}
\subsubsection[current\_\-clipper]{\setlength{\rightskip}{0pt plus 5cm}int {\bf hpgs\_\-paint\_\-device\_\-st::current\_\-clipper}}\label{structhpgs__paint__device__st_f3cd0db225d18d3195dbf86942f17e0a}


The position of the current clip path in {\tt clippers}. 

Referenced by hpgs\_\-new\_\-paint\_\-device(), hpgs\_\-paint\_\-device\_\-clip(), hpgs\_\-paint\_\-device\_\-drawimage(), and hpgs\_\-paint\_\-device\_\-fill().\index{hpgs\_\-paint\_\-device\_\-st@{hpgs\_\-paint\_\-device\_\-st}!clip\_\-depth@{clip\_\-depth}}
\index{clip\_\-depth@{clip\_\-depth}!hpgs_paint_device_st@{hpgs\_\-paint\_\-device\_\-st}}
\subsubsection[clip\_\-depth]{\setlength{\rightskip}{0pt plus 5cm}int {\bf hpgs\_\-paint\_\-device\_\-st::clip\_\-depth}}\label{structhpgs__paint__device__st_9ecd7529554b6249290b533218539ad6}


The current depth of the clip stack, i.e. the number of time {\tt hpgs\_\-clip} or {\tt hpgs\_\-eoclip} has been called. 

Referenced by hpgs\_\-new\_\-paint\_\-device(), and hpgs\_\-paint\_\-device\_\-clip().\index{hpgs\_\-paint\_\-device\_\-st@{hpgs\_\-paint\_\-device\_\-st}!gstate@{gstate}}
\index{gstate@{gstate}!hpgs_paint_device_st@{hpgs\_\-paint\_\-device\_\-st}}
\subsubsection[gstate]{\setlength{\rightskip}{0pt plus 5cm}{\bf hpgs\_\-gstate}$\ast$ {\bf hpgs\_\-paint\_\-device\_\-st::gstate}}\label{structhpgs__paint__device__st_35c2a8bdca8f5af3647b3f467f6c18fc}


The graphics state. 

Referenced by hpgs\_\-new\_\-paint\_\-device().\index{hpgs\_\-paint\_\-device\_\-st@{hpgs\_\-paint\_\-device\_\-st}!color@{color}}
\index{color@{color}!hpgs_paint_device_st@{hpgs\_\-paint\_\-device\_\-st}}
\subsubsection[color]{\setlength{\rightskip}{0pt plus 5cm}{\bf hpgs\_\-paint\_\-color} {\bf hpgs\_\-paint\_\-device\_\-st::color}}\label{structhpgs__paint__device__st_4416f203bdb3593dd972ef27a44e8f68}


The current color transformed to a device color. 

Referenced by hpgs\_\-new\_\-paint\_\-device(), and hpgs\_\-paint\_\-device\_\-fill().\index{hpgs\_\-paint\_\-device\_\-st@{hpgs\_\-paint\_\-device\_\-st}!patcol@{patcol}}
\index{patcol@{patcol}!hpgs_paint_device_st@{hpgs\_\-paint\_\-device\_\-st}}
\subsubsection[patcol]{\setlength{\rightskip}{0pt plus 5cm}{\bf hpgs\_\-palette\_\-color} {\bf hpgs\_\-paint\_\-device\_\-st::patcol}}\label{structhpgs__paint__device__st_cf74cf935da979569aa6774d55e9cb10}


The current pattern color transformed to a device color. 

Referenced by hpgs\_\-new\_\-paint\_\-device().\index{hpgs\_\-paint\_\-device\_\-st@{hpgs\_\-paint\_\-device\_\-st}!image\_\-interpolation@{image\_\-interpolation}}
\index{image\_\-interpolation@{image\_\-interpolation}!hpgs_paint_device_st@{hpgs\_\-paint\_\-device\_\-st}}
\subsubsection[image\_\-interpolation]{\setlength{\rightskip}{0pt plus 5cm}int {\bf hpgs\_\-paint\_\-device\_\-st::image\_\-interpolation}}\label{structhpgs__paint__device__st_b0bf0ff09e650c45c9d3d6d9db182fd6}


A flag holding whether we do image interpolation. 

Referenced by hpgs\_\-new\_\-paint\_\-device(), hpgs\_\-paint\_\-device\_\-drawimage(), and hpgs\_\-paint\_\-device\_\-set\_\-image\_\-interpolation().

The documentation for this struct was generated from the following file:\begin{CompactItemize}
\item 
{\bf hpgspaint.h}\end{CompactItemize}
