GR_Win32Graphics Class Reference

#include <gr_Win32Graphics.h>

Inheritance diagram for GR_Win32Graphics:

GR_Graphics GR_Win32PrintPreviewGraphics GR_Win32USPGraphics

List of all members.

Public Member Functions

virtual ~GR_Win32Graphics ()
virtual UT_uint32 getClassId ()
virtual GR_Capability getCapability ()
virtual void drawGlyph (UT_uint32 glyph_idx, UT_sint32 xoff, UT_sint32 yoff)
virtual void drawChar (UT_UCSChar Char, UT_sint32 xoff, UT_sint32 yoff)
virtual void drawChars (const UT_UCSChar *pChars, int iCharOffset, int iLength, UT_sint32 xoff, UT_sint32 yoff, int *pCharWidth)
virtual void setFont (const GR_Font *pFont)
virtual void clearFont (void)
virtual UT_uint32 getFontHeight ()
virtual UT_sint32 measureUnRemappedChar (const UT_UCSChar c, UT_uint32 *height=0)
virtual void setColor (const UT_RGBColor &clr)
virtual void getColor (UT_RGBColor &clr)
virtual GR_FontgetGUIFont ()
virtual UT_uint32 getFontAscent ()
virtual UT_uint32 getFontDescent ()
virtual void getCoverage (UT_NumberVector &coverage)
virtual void drawLine (UT_sint32, UT_sint32, UT_sint32, UT_sint32)
virtual void xorLine (UT_sint32, UT_sint32, UT_sint32, UT_sint32)
virtual void setLineWidth (UT_sint32)
virtual void setLineProperties (double inWidthPixels, JoinStyle inJoinStyle=JOIN_MITER, CapStyle inCapStyle=CAP_BUTT, LineStyle inLineStyle=LINE_SOLID)
virtual void polyLine (UT_Point *pts, UT_uint32 nPoints)
virtual void fillRect (const UT_RGBColor &c, UT_sint32 x, UT_sint32 y, UT_sint32 w, UT_sint32 h)
virtual void invertRect (const UT_Rect *pRect)
virtual void setClipRect (const UT_Rect *pRect)
virtual void scroll (UT_sint32 dx, UT_sint32 dy)
 The View calls this when it receives a SetX/YScrollOffset call.
virtual void scroll (UT_sint32 x_dest, UT_sint32 y_dest, UT_sint32 x_src, UT_sint32 y_src, UT_sint32 width, UT_sint32 height)
virtual void clearArea (UT_sint32, UT_sint32, UT_sint32, UT_sint32)
virtual void drawImage (GR_Image *pImg, UT_sint32 xDest, UT_sint32 yDest)
virtual GR_ImagecreateNewImage (const char *pszName, const UT_ByteBuf *pBB, UT_sint32 iDisplayWidth, UT_sint32 iDisplayHeight, GR_Image::GRType iType=GR_Image::GRT_Raster)
virtual bool queryProperties (GR_Graphics::Properties gp) const
virtual bool startPrint (void)
virtual bool startPage (const char *szPageLabel, UT_uint32 pageNumber, bool bPortrait, UT_uint32 iWidth, UT_uint32 iHeight)
virtual bool endPrint (void)
virtual HWND getHwnd (void) const
virtual void setColorSpace (GR_Graphics::ColorSpace c)
virtual GR_Graphics::ColorSpace getColorSpace (void) const
virtual void setCursor (GR_Graphics::Cursor c)
virtual GR_Graphics::Cursor getCursor (void) const
virtual void handleSetCursorMessage (void)
virtual void setColor3D (GR_Color3D c)
void init3dColors (void)
virtual void fillRect (GR_Color3D c, UT_sint32 x, UT_sint32 y, UT_sint32 w, UT_sint32 h)
virtual void fillRect (GR_Color3D c, UT_Rect &r)
virtual void polygon (UT_RGBColor &c, UT_Point *pts, UT_uint32 nPoints)
virtual UT_uint32 getFontAscent (const GR_Font *)
virtual UT_uint32 getFontDescent (const GR_Font *)
virtual UT_uint32 getFontHeight (const GR_Font *)
virtual GR_ImagegenImageFromRectangle (const UT_Rect &r)
virtual void saveRectangle (UT_Rect &r, UT_uint32 iIndx)
virtual void restoreRectangle (UT_uint32 iIndx)
virtual void flush (void)
void setBrush (HBRUSH hBrush)
virtual void setPrintDC (HDC dc)
HDC getPrintDC () const
HDC getPrimaryDC () const
void setPrintDCFontAllocNo (UT_uint32 i)
void setDCFontAllocNo (UT_uint32 i)
double getXYRatio () const
double getXYRatioPrint () const

Static Public Member Functions

static UT_uint32 s_getClassId ()
static const char * graphicsDescriptor ()
static GR_GraphicsgraphicsAllocator (GR_AllocInfo &)
static GR_GraphicsgetPrinterGraphics (const char *pPrinterName, const char *pDocName)
static bool fixDevMode (HGLOBAL hModDev)
static DOCINFO * getDocInfo ()
static HDC createbestmetafilehdc ()

Protected Member Functions

 GR_Win32Graphics (HDC, HWND)
 GR_Win32Graphics (HDC, const DOCINFO *, HGLOBAL hDevMode=NULL)
BITMAPINFOConvertDDBToDIB (HBITMAP bitmap, HPALETTE hPal, DWORD dwCompression)
virtual GR_Font_findFont (const char *pszFontFamily, const char *pszFontStyle, const char *pszFontVariant, const char *pszFontWeight, const char *pszFontStretch, const char *pszFontSize, const char *pszLang)
virtual UT_uint32 getDeviceResolution (void) const
void _setColor (DWORD clrRef)

Protected Attributes

UT_uint32 m_iDCFontAllocNo
UT_uint32 m_iPrintDCFontAllocNo
HDC m_hdc
HDC m_printHDC
HWND m_hwnd
const DOCINFO * m_pDocInfo
bool m_bPrint
bool m_bStartPrint
bool m_bStartPage
GR_Win32Fontm_pFont
GR_Win32Fontm_pFontGUI
UT_sint32 m_iLineWidth
JoinStyle m_eJoinStyle
CapStyle m_eCapStyle
LineStyle m_eLineStyle
GR_Graphics::ColorSpace m_cs
GR_Graphics::Cursor m_cursor
DWORD m_clrCurrent
DWORD m_3dColors [COUNT_3D_COLORS]
int m_nPrintLogPixelsY
double m_fXYRatio
double m_fXYRatioPrint

Static Protected Attributes

static HDC m_defPrintHDC = NULL
static UT_uint32 s_iInstanceCount = 0

Private Member Functions

virtual GR_Win32Font_newFont (LOGFONT &lf, double fPointSize, HDC hdc, HDC printDC)
void _constructorCommonCode (HDC)
UT_uint16_remapGlyphs (const UT_UCSChar *pChars, int iCharOffset, int &iLength)
virtual bool _setTransform (const GR_Transform &tr)

Private Attributes

DWORD m_clrXorPen
HPEN m_hXorPen
UT_UCS2Charm_remapBuffer
UT_uint32 m_remapBufferSize
UT_UCS2Charm_remapIndices
UT_RGBColor m_curColor
UT_Vector m_vSaveRect
UT_Vector m_vSaveRectBuf
HBRUSH m_hClearBrush
int m_nLogPixelsY
HGLOBAL m_hDevMode
CACHE_PENm_pArPens
int m_nArPenPos
bool m_bIsPreview

Classes

struct  CACHE_PEN


Constructor & Destructor Documentation

GR_Win32Graphics::~GR_Win32Graphics (  )  [virtual]

GR_Win32Graphics::GR_Win32Graphics ( HDC  hdc,
HWND  hwnd 
) [protected]

GR_Win32Graphics::GR_Win32Graphics ( HDC  hdc,
const DOCINFO *  pDocInfo,
HGLOBAL  hDevMode = NULL 
) [protected]


Member Function Documentation

static UT_uint32 GR_Win32Graphics::s_getClassId (  )  [inline, static]

virtual UT_uint32 GR_Win32Graphics::getClassId (  )  [inline, virtual]

Reimplemented from GR_Graphics.

Reimplemented in GR_Win32USPGraphics, and GR_Win32PrintPreviewGraphics.

References GR_Graphics::s_getClassId().

virtual GR_Capability GR_Win32Graphics::getCapability (  )  [inline, virtual]

Reimplemented from GR_Graphics.

Reimplemented in GR_Win32USPGraphics, and GR_Win32PrintPreviewGraphics.

References GRCAP_SCREEN_AND_PRINTER.

static const char* GR_Win32Graphics::graphicsDescriptor ( void   )  [inline, static]

GR_Graphics * GR_Win32Graphics::graphicsAllocator ( GR_AllocInfo info  )  [static]

GR_Graphics * GR_Win32Graphics::getPrinterGraphics ( const char *  pPrinterName,
const char *  pDocName 
) [static]

void GR_Win32Graphics::drawGlyph ( UT_uint32  glyph_idx,
UT_sint32  xoff,
UT_sint32  yoff 
) [virtual]

Implements GR_Graphics.

Reimplemented in GR_Win32PrintPreviewGraphics.

References UT_ASSERT_HARMLESS, and UT_TODO.

void GR_Win32Graphics::drawChar ( UT_UCSChar  Char,
UT_sint32  xoff,
UT_sint32  yoff 
) [virtual]

void GR_Win32Graphics::drawChars ( const UT_UCSChar pChars,
int  iCharOffset,
int  iLength,
UT_sint32  xoff,
UT_sint32  yoff,
int *  pCharWidth 
) [virtual]

void GR_Win32Graphics::setFont ( const GR_Font pFont  )  [virtual]

virtual void GR_Win32Graphics::clearFont ( void   )  [inline, virtual]

UT_uint32 GR_Win32Graphics::getFontHeight (  )  [virtual]

UT_sint32 GR_Win32Graphics::measureUnRemappedChar ( const UT_UCSChar  c,
UT_uint32 height = 0 
) [virtual]

void GR_Win32Graphics::setColor ( const UT_RGBColor clr  )  [virtual]

void GR_Win32Graphics::getColor ( UT_RGBColor clr  )  [virtual]

Implements GR_Graphics.

Reimplemented in GR_Win32PrintPreviewGraphics.

References m_curColor.

GR_Font * GR_Win32Graphics::getGUIFont ( void   )  [virtual]

UT_uint32 GR_Win32Graphics::getFontAscent (  )  [virtual]

UT_uint32 GR_Win32Graphics::getFontDescent (  )  [virtual]

void GR_Win32Graphics::getCoverage ( UT_NumberVector coverage  )  [virtual]

void GR_Win32Graphics::drawLine ( UT_sint32  x1,
UT_sint32  y1,
UT_sint32  x2,
UT_sint32  y2 
) [virtual]

void GR_Win32Graphics::xorLine ( UT_sint32  x1,
UT_sint32  y1,
UT_sint32  x2,
UT_sint32  y2 
) [virtual]

void GR_Win32Graphics::setLineWidth ( UT_sint32  iLineWidth  )  [virtual]

Implements GR_Graphics.

Reimplemented in GR_Win32PrintPreviewGraphics.

References m_iLineWidth.

void GR_Win32Graphics::setLineProperties ( double  inWidthPixels,
JoinStyle  inJoinStyle = JOIN_MITER,
CapStyle  inCapStyle = CAP_BUTT,
LineStyle  inLineStyle = LINE_SOLID 
) [virtual]

void GR_Win32Graphics::polyLine ( UT_Point pts,
UT_uint32  nPoints 
) [virtual]

void GR_Win32Graphics::fillRect ( const UT_RGBColor c,
UT_sint32  x,
UT_sint32  y,
UT_sint32  w,
UT_sint32  h 
) [virtual]

void GR_Win32Graphics::invertRect ( const UT_Rect pRect  )  [virtual]

void GR_Win32Graphics::setClipRect ( const UT_Rect pRect  )  [virtual]

void GR_Win32Graphics::scroll ( UT_sint32  dx,
UT_sint32  dy 
) [virtual]

The View calls this when it receives a SetX/YScrollOffset call.

Move the contents of the window appropriately. View will draw after you exit from this call. View will only draw into the "exposed" area.

dx & dy are the change in x/y from the current scrolled position negative values indcate left/up movement, positive right/down movement

Implements GR_Graphics.

References GR_Graphics::getPrevXOffset(), GR_Graphics::getPrevYOffset(), m_fXYRatio, m_hwnd, GR_Graphics::setExposePending(), GR_Graphics::setPrevXOffset(), GR_Graphics::setPrevYOffset(), and GR_Graphics::tdu().

void GR_Win32Graphics::scroll ( UT_sint32  x_dest,
UT_sint32  y_dest,
UT_sint32  x_src,
UT_sint32  y_src,
UT_sint32  width,
UT_sint32  height 
) [virtual]

void GR_Win32Graphics::clearArea ( UT_sint32  x,
UT_sint32  y,
UT_sint32  width,
UT_sint32  height 
) [virtual]

void GR_Win32Graphics::drawImage ( GR_Image pImg,
UT_sint32  xDest,
UT_sint32  yDest 
) [virtual]

GR_Image * GR_Win32Graphics::createNewImage ( const char *  pszName,
const UT_ByteBuf pBB,
UT_sint32  iDisplayWidth,
UT_sint32  iDisplayHeight,
GR_Image::GRType  iType = GR_Image::GRT_Raster 
) [virtual]

bool GR_Win32Graphics::queryProperties ( GR_Graphics::Properties  gp  )  const [virtual]

bool GR_Win32Graphics::startPrint ( void   )  [virtual]

bool GR_Win32Graphics::startPage ( const char *  szPageLabel,
UT_uint32  pageNumber,
bool  bPortrait,
UT_uint32  iWidth,
UT_uint32  iHeight 
) [virtual]

bool GR_Win32Graphics::endPrint ( void   )  [virtual]

Implements GR_Graphics.

Reimplemented in GR_Win32PrintPreviewGraphics.

References m_bIsPreview, m_bStartPage, and m_hdc.

HWND GR_Win32Graphics::getHwnd ( void   )  const [virtual]

References m_hwnd.

void GR_Win32Graphics::setColorSpace ( GR_Graphics::ColorSpace  c  )  [virtual]

Implements GR_Graphics.

References UT_ASSERT_HARMLESS, and UT_SHOULD_NOT_HAPPEN.

GR_Graphics::ColorSpace GR_Win32Graphics::getColorSpace ( void   )  const [virtual]

Implements GR_Graphics.

References m_cs.

void GR_Win32Graphics::setCursor ( GR_Graphics::Cursor  c  )  [virtual]

Implements GR_Graphics.

References m_cursor.

Referenced by _constructorCommonCode().

GR_Graphics::Cursor GR_Win32Graphics::getCursor ( void   )  const [virtual]

Implements GR_Graphics.

References m_cursor.

void GR_Win32Graphics::handleSetCursorMessage ( void   )  [virtual]

void GR_Win32Graphics::setColor3D ( GR_Color3D  c  )  [virtual]

void GR_Win32Graphics::init3dColors ( void   ) 

void GR_Win32Graphics::fillRect ( GR_Color3D  c,
UT_sint32  x,
UT_sint32  y,
UT_sint32  w,
UT_sint32  h 
) [virtual]