|
CBitmap * | getBitmap () const |
|
| COffscreenContext (const PlatformGraphicsDeviceContextPtr device, const CRect &surfaceRect, const PlatformBitmapPtr &platformBitmap) |
|
|
void | copyFrom (CDrawContext *pContext, CRect destRect, CPoint srcOffset=CPoint(0, 0)) |
| copy from offscreen to pContext
|
|
CCoord | getWidth () const |
|
CCoord | getHeight () const |
|
void | beginDraw () |
|
void | endDraw () |
|
const CRect & | getSurfaceRect () const |
|
| CDrawContext (const PlatformGraphicsDeviceContextPtr device, const CRect &surfaceRect, double scaleFactor) |
|
| ~CDrawContext () noexceptoverride |
|
const
PlatformGraphicsDeviceContextPtr & | getPlatformDeviceContext () const |
|
void | setBitmapInterpolationQuality (BitmapInterpolationQuality quality) |
| set the current bitmap interpolation quality
|
|
BitmapInterpolationQuality | getBitmapInterpolationQuality () const |
| get the current bitmap interpolation quality
|
|
void | setLineStyle (const CLineStyle &style) |
| set the current line style
|
|
const CLineStyle & | getLineStyle () const |
| get the current line style
|
|
void | setLineWidth (CCoord width) |
| set the current line width
|
|
CCoord | getLineWidth () const |
| get the current line width
|
|
void | setDrawMode (CDrawMode mode) |
| set the current draw mode, see CDrawMode
|
|
CDrawMode | getDrawMode () const |
| get the current draw mode, see CDrawMode
|
|
void | setClipRect (const CRect &clip) |
| set the current clip
|
|
CRect & | getClipRect (CRect &clip) const |
| get the current clip
|
|
void | resetClipRect () |
| reset the clip to the default state
|
|
void | setFillColor (const CColor &color) |
| set current fill color
|
|
CColor | getFillColor () const |
| get current fill color
|
|
void | setFrameColor (const CColor &color) |
| set current stroke color
|
|
CColor | getFrameColor () const |
| get current stroke color
|
|
void | setFontColor (const CColor &color) |
| set current font color
|
|
CColor | getFontColor () const |
| get current font color
|
|
void | setFont (const CFontRef font, const CCoord &size=0, const int32_t &style=-1) |
| set current font
|
|
const CFontRef | getFont () const |
| get current font
|
|
CCoord | getStringWidth (UTF8StringPtr pStr) |
| get the width of an UTF-8 encoded string
|
|
void | drawString (UTF8StringPtr string, const CRect &_rect, const CHoriTxtAlign hAlign=kCenterText, bool antialias=true) |
| draw an UTF-8 encoded string
|
|
void | drawString (UTF8StringPtr string, const CPoint &_point, bool antialias=true) |
| draw an UTF-8 encoded string
|
|
CCoord | getStringWidth (IPlatformString *pStr) |
| get the width of a platform string
|
|
void | drawString (IPlatformString *string, const CRect &_rect, const CHoriTxtAlign hAlign=kCenterText, bool antialias=true) |
| draw a platform string
|
|
void | drawString (IPlatformString *string, const CPoint &_point, bool antialias=true) |
| draw a platform string
|
|
void | setGlobalAlpha (float newAlpha) |
| sets the global alpha value[0..1]
|
|
float | getGlobalAlpha () const |
| get current global alpha value
|
|
void | saveGlobalState () |
|
void | restoreGlobalState () |
|
const CGraphicsTransform & | getCurrentTransform () const |
|
const CRect & | getAbsoluteClipRect () const |
|
double | getScaleFactor () const |
| returns the backend scale factor.
|
|
CCoord | getHairlineSize () const |
| returns the current line size which corresponds to one pixel on screen.
|
|
void | drawLine (const CPoint &start, const CPoint &end) |
|
void | drawLine (const LinePair &line) |
| draw a line
|
|
void | drawLines (const LineList &lines) |
| draw multiple lines at once
|
|
void | drawPolygon (const PointList &polygonPointList, const CDrawStyle drawStyle=kDrawStroked) |
| draw a polygon
|
|
void | drawRect (const CRect &rect, const CDrawStyle drawStyle=kDrawStroked) |
| draw a rect
|
|
void | drawArc (const CRect &rect, const float startAngle1, const float endAngle2, const CDrawStyle drawStyle=kDrawStroked) |
| draw an arc, angles are in degree
|
|
void | drawEllipse (const CRect &rect, const CDrawStyle drawStyle=kDrawStroked) |
| draw an ellipse
|
|
void | drawPoint (const CPoint &point, const CColor &color) |
| draw a point
|
|
void | drawBitmap (CBitmap *bitmap, const CRect &dest, const CPoint &offset=CPoint(0, 0), float alpha=1.f) |
| don't call directly, please use CBitmap::draw instead
|
|
void | drawBitmapNinePartTiled (CBitmap *bitmap, const CRect &dest, const CNinePartTiledDescription &desc, float alpha=1.f) |
|
void | fillRectWithBitmap (CBitmap *bitmap, const CRect &srcRect, const CRect &dstRect, float alpha) |
|
void | clearRect (const CRect &rect) |
| clears the rect (makes r = 0, g = 0, b = 0, a = 0)
|
|
CGraphicsPath * | createGraphicsPath () |
| create a graphics path object, you need to forget it after usage
|
|
CGraphicsPath * | createTextPath (const CFontRef font, UTF8StringPtr text) |
| create a graphics path from a text
|
|
CGraphicsPath * | createRoundRectGraphicsPath (const CRect &size, CCoord radius) |
| create a rect with round corners as graphics path, you need to forget it after usage
|
|
void | drawGraphicsPath (CGraphicsPath *path, PathDrawMode mode=kPathFilled, CGraphicsTransform *transformation=nullptr) |
|
void | fillLinearGradient (CGraphicsPath *path, const CGradient &gradient, const CPoint &startPoint, const CPoint &endPoint, bool evenOdd=false, CGraphicsTransform *transformation=nullptr) |
|
void | fillRadialGradient (CGraphicsPath *path, const CGradient &gradient, const CPoint ¢er, CCoord radius, const CPoint &originOffset=CPoint(0, 0), bool evenOdd=false, CGraphicsTransform *transformation=nullptr) |
|
| ReferenceCounted ()=default |
|
virtual | ~ReferenceCounted () noexcept=default |
|
| ReferenceCounted (const ReferenceCounted &) |
|
ReferenceCounted & | operator= (const ReferenceCounted &) |
|
void | forget () override |
| decrease refcount and delete object if refcount == 0
|
|
void | remember () override |
| increase refcount
|
|
virtual int32_t | getNbReference () const |
| get refcount
|
|
A draw context using a bitmap as it's back buffer.
There are two usage scenarios :
Drawing into a bitmap and then push the contents into another draw context
{
offscreen->beginDraw ();
offscreen->endDraw ();
offscreen->copyFrom (otherContext, destRect);
}
Drawing static content into a bitmap and reuse the bitmap for drawing
if (cachedBitmap == 0)
{
{
offscreen->beginDraw ();
offscreen->endDraw ();
cachedBitmap = offscreen->getBitmap ();
if (cachedBitmap)
cachedBitmap->remember ();
}
}
if (cachedBitmap)
{
}