IoObject *IoCairoSVGSurface_create(IoCairoSVGSurface *self, IoObject *locals, IoMessage *m) { char *filename = CSTRING(IoMessage_locals_symbolArgAt_(m, locals, 0)); double w = IoMessage_locals_doubleArgAt_(m, locals, 1); double h = IoMessage_locals_doubleArgAt_(m, locals, 2); return IoCairoSurface_newWithRawSurface_(IOSTATE, m, cairo_svg_surface_create(filename, w, h)); }
IoObject *IoCairoSurface_createSimilar(IoCairoSurface *self, IoObject *locals, IoMessage *m) { cairo_content_t content = IoMessage_locals_intArgAt_(m, locals, 0); int w = IoMessage_locals_intArgAt_(m, locals, 1); int h = IoMessage_locals_intArgAt_(m, locals, 2); cairo_surface_t *surface = cairo_surface_create_similar(SURFACE(self), content, w, h); return IoCairoSurface_newWithRawSurface_(IOSTATE, m, surface); }
IoObject *IoCairoSurfacePattern_getSurface(IoCairoSurfacePattern *self, IoObject *locals, IoMessage *m) { cairo_surface_t *surface = 0; cairo_pattern_get_surface(PATTERN(self), &surface); return IoCairoSurface_newWithRawSurface_(IOSTATE, m, cairo_surface_reference(surface)); }
IoObject *IoCairoContext_getGroupTarget(IoCairoContext *self, IoObject *locals, IoMessage *m) { cairo_surface_t *target = cairo_get_group_target(CONTEXT(self)); return IoCairoSurface_newWithRawSurface_(IOSTATE, m, cairo_surface_reference(target)); }