GDI Funkcije
GDI Funkcije
GDI Funkcije
1 Device Context
COLORREF CDC::GetTextColor( );
COLORREF CDC::SetTextColor( COLORREF crColor );
COLORREF CDC::GetBkColor( );
COLORREF CDC:: SetBkColor( COLORREF crColor );
int CDC::GetBkMode( );
int CDC::SetBkMode(int iBkMode);
iBkMode:
TRANSPARENT
OPAQUE
int CDC::GetROP2( );
int CDC::SetROP2(int fnDrawMode);
fnDrawMode:
R2_BLACK
R2_COPYPEN
R2_MASKNOTPEN
R2_MASKPEN
R2_MASKPENNOT
R2_MERGENOTPEN
R2_MERGEPEN
R2_MERGEPENNOT
R2_NOP
R2_NOT
R2_NOTCOPYPEN
R2_NOTMASKPEN
R2_NOTMERGEPEN
R2_NOTXORPEN
R2_WHITE
R2_XORPEN
int CDC::GetMapMode( );
int CDC:: SetMapMode(int fnMapMode);
fnMapMode:
MM_TEXT
MM_HIENGLISH
MM_HIMETRIC
MM_LOENGLISH
MM_LOMETRIC
MM_TWIPS
MM_ISOTROPIC
MM_ANISOTROPIC
BOOL CDC::SetWindowExt(
int nXExtentW, // new horizontal window extent
int nYExtentW, // new vertical window extent );
BOOL CDC::SetWindowOrg(
int X, // new logical x-coordinate of window origin
int Y // new logical y-coordinate of window origin );
BOOL CDC::SetViewportOrg(
int X, // new device x-coordinate of viewport origin
int Y // new device y-coordinate of viewport origin );
int CDC::GetStretchBltMode( );
int CDC::SetStretchBltMode( int iStretchMode);
iStretchMode:
BLACKONWHITE
COLORONCOLOR
HALFTONE
STRETCH_ANDSCANS - Same as BLACKONWHITE.
STRETCH_DELETESCANS - Same as COLORONCOLOR.
STRETCH_HALFTONE - Same as HALFTONE.
STRETCH_ORSCANS - Same as WHITEONBLACK.
WHITEONBLACK
2.1 Olovke
CPen::CPen(
int nPenStyle, // PS_GEOMETRIC, PS_COSMETIC , ...
int nWidth, // pen width
const LOGBRUSH *pLogBrush, // pointer to structure for brush attributes
int nStyleCount = 0, // length of array containing custom style bits
const DWORD* lpStyle // optional array of custom style bits
);
dwPenStyle:
PS_GEOMETRIC, PS_COSMETIC
PS_ALTERNATE, PS_SOLID, PS_DASH, ..., PS_USERSTYLE, PS_INSIDEFRAME
PS_ENDCAP_ROUND, PS_ENDCAP_SQUARE, PS_ENDCAP_FLAT
PS_JOIN_BEVEL, PS_JOIN_MITER, PS_JOIN_ROUND
2.2 Četke
2.4 Tačke
2.5 Poligon
BOOL Rectangle(HDC hdc, int nLeftRect, int nTopRect, int nRightRect, int nBottomRect);
BOOL Ellipse(HDC hdc, int nLeftRect, int nTopRect, int nRightRect, int nBottomRect);
BOOL RoundRect( HDC hdc, int nLeftRect, int nTopRect, int nRightRect, int nBottomRect, int
nWidth, int nHeight );
2.8 Pite
BOOL Pie(HDC hdc, int nLeftRect, int nTopRect, int nRightRect, int nBottomRect,
int nXRadial1, int nYRadial1, int nXRadial2, int nYRadial2);
2.9 Lukovi
BOOL Arc(HDC hdc, int nLeftRect, int nTopRect, int nRightRect, int nBottomRect,
int nXStartArc, int nYStartArc, int nXEndArc, int nYEndArc);
int SetArcDirection( HDC hdc, int ArcDirection);
ArcDirection:
AD_COUNTERCLOCKWISE
AD_CLOCKWISE
2.10 Odsečci
BOOL Chord(HDC hdc, int nLeftRect, int nTopRect, int nRightRect, int nBottomRect,
int nXRadial1, int nYRadial1, int nXRadial2, int nYRadial2);
3.2 Metafajlovi
CMetaFileDC::CMetaFileDC();
HENHMETAFILE CMetaFileDC::CloseEnhanced( ) ;
BOOL CDC::DeleteDC();
3.3 Putanje
BOOL CDC::BeginPath( );
BOOL CDC::EndPath( );
BOOL CDC::StrokePath( );
BOOL CDC::FillPath( );
BOOL CDC:: StrokeAndFillPath( );
BOOL CDC::SelectClipPath( int nMode );
nMode: RGN_AND, RGN_COPY, RGN_DIFF, RGN_OR ili RGN_XOR
3.4 Transformacije
FW_DONTCARE 0
FW_THIN 100
FW_EXTRALIGHT 200
FW_ULTRALIGHT 200
FW_LIGHT 300
FW_NORMAL 400
FW_REGULAR 400
FW_MEDIUM 500
FW_SEMIBOLD 600
FW_DEMIBOLD 600
FW_BOLD 700
FW_EXTRABOLD 800
FW_ULTRABOLD 800
FW_HEAVY 900
FW_BLACK 900
4.2 Tipovi karaktera
ANSI_CHARSET
DEFAULT_CHARSET
OEM_CHARSET
SYMBOL_CHARSET
DEFAULT_PITCH
FIXED_PITCH
VARIABLE_PITCH
FF_DECORATIVE
FF_DONTCARE
FF_MODERN
FF_ROMAN
FF_SCRIPT
FF_SWISS
HFONT CreateFont (
int nHeight, // logical height of font
int nWidth, // logical average character width
int nEscapement, // angle of escapement
int nOrientation, // base-line orientation angle
int fnWeight, // font weight
DWORD fdwItalic, // italic attribute flag
DWORD fdwUnderline, // underline attribute flag
DWORD fdwStrikeOut, // strikeout attribute flag
DWORD fdwCharSet, // character set identifier
DWORD fdwOutputPrecision, // output precision
DWORD fdwClipPrecision, // clipping precision
DWORD fdwQuality, // output quality
DWORD fdwPitchAndFamily, // pitch and family
LPCTSTR lpszFace // pointer to typeface name string
);
HFONT CFont::CreateFont (
int nHeight, // logical height of font
int nWidth, // logical average character width
int nEscapement, // angle of escapement
int nOrientation, // base-line orientation angle
int fnWeight, // font weight
DWORD fdwItalic, // italic attribute flag
DWORD fdwUnderline, // underline attribute flag
DWORD fdwStrikeOut, // strikeout attribute flag
DWORD fdwCharSet, // character set identifier
DWORD fdwOutputPrecision, // output precision
DWORD fdwClipPrecision, // clipping precision
DWORD fdwQuality, // output quality
DWORD fdwPitchAndFamily, // pitch and family
LPCTSTR lpszFace // pointer to typeface name string
);
BOOL TextOut( HDC hdc, int nXStart, int nYStart, LPCTSTR lpString, int cbString );
BOOL CDC::TextOut( int x, int y, LPCTSTR lpszString, int nCount );
BOOL CDC::TextOut( int x, int y, const CString& str );
int CDC::DrawText( LPCTSTR lpszString, int nCount, LPRECT lpRect, UINT nFormat );
int CDC::DrawText( const CString& str, LPRECT lpRect, UINT nFormat );
nFormat:
DT_BOTTOM
DT_SINGLELINE
DT_CENTER
DT_LEFT
DT_RIGHT
DT_SINGLELINE
DT_TABSTOP
DT_TOP
DT_VCENTER
5.4 Selekcija u DC
BOOL CDC::BitBlt( int x, int y, int nWidth, int nHeight, CDC* pSrcDC, int xSrc, int ySrc,
DWORD dwRop );
dwRop:
BLACKNESS
DSTINVERT
MERGECOPY
MERGEPAINT
NOTSRCCOPY
NOTSRCERASE
PATCOPY
PATINVERT
PATPAINT
SRCAND
SRCCOPY
SRCERASE
SRCINVERT
SRCPAINT
WHITENESS
BOOL CDC::PlgBlt( POINT lpPoint, CDC* pSrcDC, int xSrc, int ySrc, int nWidth, int nHeight,
CBitmap& maskBitmap, int xMask, int yMask );
CDib::CDib();
CDib::CDib(CBitmap& bitmap);
CDib::CDib(CBitmap* bitmap);
DWORD CDib::Width();
DWORD CDib::Height();
WORD CDib::NumColors();
BOOL CDib::Paint(HDC hDC, CRect rcDC, CRect rcDIB);
DWORD CDib::Save(CFile& file);
DWORD CDib::Save(char* filename);
DWORD CDib::Read(CFile& file);
BOOL CDib::Read(char* filename);
DImage(void);
DImage(CBitmap& bmp);
virtual ~DImage(void);
bool isValid();
// Direktne izmene
unsigned char* GetDIBBits(); // Vraća pointer na prvi bajt sa pikselima
void Update(); // Pozvati nakon direktne izmene bafera.