Cairo for Symbian OS 介绍
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);
}