class Cairo::Device
Public Class Methods
new(*args)
click to toggle source
static VALUE
cr_device_initialize (int argc, VALUE *argv, VALUE self)
{
rb_raise(rb_eNotImpError,
"%s class creation isn't supported on this cairo installation",
rb_obj_classname(self));
return Qnil;
}
script_supported?()
click to toggle source
static VALUE
cr_device_script_supported_p (VALUE klass)
{
#ifdef CAIRO_HAS_SCRIPT_SURFACE
return Qtrue;
#else
return Qfalse;
#endif
}
supported?(type)
click to toggle source
# File lib/cairo/device.rb, line 5 def supported?(type) supported_predicate = "#{type.to_s.downcase}_supported?" return false unless respond_to?(supported_predicate) send(supported_predicate) end
xml_supported?()
click to toggle source
static VALUE
cr_device_xml_supported_p (VALUE klass)
{
#ifdef CAIRO_HAS_XML_SURFACE
return Qtrue;
#else
return Qfalse;
#endif
}
Public Instance Methods
acquire()
click to toggle source
static VALUE
cr_device_acquire (VALUE self)
{
cairo_device_acquire (_SELF);
cr_device_check_status (_SELF);
if (rb_block_given_p ())
return rb_ensure (rb_yield, self, cr_device_release, self);
else
return self;
}
destroy()
click to toggle source
Backend device manipulation
static VALUE
cr_device_destroy (VALUE self)
{
cairo_device_t *device;
device = _SELF;
cairo_device_destroy (device);
DATA_PTR (self) = NULL;
return self;
}
finish()
click to toggle source
static VALUE
cr_device_finish (VALUE self)
{
cairo_device_t *device;
rb_cairo__io_callback_closure_t *closure;
device = _SELF;
closure = cairo_device_get_user_data (device, &cr_closure_key);
cairo_device_finish (device);
cairo_device_set_user_data (device, &cr_finished_key, (void *)CR_TRUE, NULL);
cairo_device_set_user_data (device, &cr_object_holder_key, NULL, NULL);
if (closure && !NIL_P (closure->error))
rb_exc_raise (closure->error);
cr_device_check_status (device);
return self;
}
flush()
click to toggle source
static VALUE
cr_device_flush (VALUE self)
{
cairo_device_flush (_SELF);
cr_device_check_status (_SELF);
return self;
}
release()
click to toggle source
static VALUE
cr_device_release (VALUE self)
{
cairo_device_release (_SELF);
cr_device_check_status (_SELF);
return self;
}