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); }