Cairo for Symbian OSSymbian绘图库
Cairo for Symbian OS 是绘图库 Cairo 在 Symbian 操作系统上的移植版本。
示例代码:
// CMyAppView derives from CCoeControl
//
void CMyAppView::ConstrucL(const TRect& aRect)
{
CreateWindowL();
SetRect(aRect);
ActivateL();
iSurface = cairo_symbian_surface_create(&Window());
iContext = cairo_create(iSurface);
}
// implement CCoeControl::Draw method
//
void CMyAppView::Draw(const TRect&) const
{
// start drawing using Cairo here
// please note that mixing Cairo and native rendering i.e. using CWindowGc API
// is not supported and will produce undefined result
...
cairo_t* cr = Context(); // shortcut to iContext
cairo_set_source_rgb(cr, 1, 1, 1);
cairo_paint(cr);
...
}
// cleanup
//
CMyAppView::~CMyAppView()
{
...
cairo_destroy(iContext);
cairo_surface_destroy(iSurface);
}