class Cairo::RasterSourcePattern
Public Class Methods
new(*args)
click to toggle source
static VALUE cr_raster_source_pattern_initialize (int argc, VALUE *argv, VALUE self) { cairo_pattern_t *pattern; cairo_content_t content; int width, height; VALUE arg1, arg2, arg3; rb_scan_args (argc, argv, "21", &arg1, &arg2, &arg3); if (argc == 2) { content = CAIRO_CONTENT_COLOR_ALPHA; width = NUM2INT (arg1); height = NUM2INT (arg2); } else { content = RVAL2CRCONTENT (arg1); width = NUM2INT (arg2); height = NUM2INT (arg3); } pattern = cairo_pattern_create_raster_source (RVAL2POINTER (self), content, width, height); cr_pattern_check_status (pattern); DATA_PTR (self) = pattern; rb_iv_set (self, "@acquire", Qnil); rb_iv_set (self, "@release", Qnil); rb_iv_set (self, "@snapshot", Qnil); rb_iv_set (self, "@copy", Qnil); rb_iv_set (self, "@finish", Qnil); cairo_raster_source_pattern_set_acquire (pattern, cr_raster_source_acquire_callback, cr_raster_source_release_callback); cairo_raster_source_pattern_set_snapshot (pattern, cr_raster_source_snapshot_callback); cairo_raster_source_pattern_set_copy (pattern, cr_raster_source_copy_callback); cairo_raster_source_pattern_set_finish (pattern, cr_raster_source_finish_callback); return Qnil; }
Public Instance Methods
acquire()
click to toggle source
static VALUE cr_raster_source_pattern_acquire (VALUE self) { if (!rb_block_given_p ()) { VALUE inspected; inspected = rb_funcall (self, id_inspect, 0); rb_raise (rb_eArgError, "acquire block is missing: %s", RVAL2CSTR (inspected)); } rb_iv_set (self, "@acquire", rb_block_proc ()); return self; }
copy()
click to toggle source
static VALUE cr_raster_source_pattern_copy (VALUE self) { if (!rb_block_given_p ()) { VALUE inspected; inspected = rb_funcall (self, id_inspect, 0); rb_raise (rb_eArgError, "copy block is missing: %s", RVAL2CSTR (inspected)); } rb_iv_set (self, "@copy", rb_block_proc ()); return self; }
finish()
click to toggle source
static VALUE cr_raster_source_pattern_finish (VALUE self) { if (!rb_block_given_p ()) { VALUE inspected; inspected = rb_funcall (self, id_inspect, 0); rb_raise (rb_eArgError, "finish block is missing: %s", RVAL2CSTR (inspected)); } rb_iv_set (self, "@finish", rb_block_proc ()); return self; }
release()
click to toggle source
static VALUE cr_raster_source_pattern_release (VALUE self) { if (!rb_block_given_p ()) { VALUE inspected; inspected = rb_funcall (self, id_inspect, 0); rb_raise (rb_eArgError, "release block is missing: %s", RVAL2CSTR (inspected)); } rb_iv_set (self, "@release", rb_block_proc ()); return self; }
snapshot()
click to toggle source
static VALUE cr_raster_source_pattern_snapshot (VALUE self) { if (!rb_block_given_p ()) { VALUE inspected; inspected = rb_funcall (self, id_inspect, 0); rb_raise (rb_eArgError, "snapshot block is missing: %s", RVAL2CSTR (inspected)); } rb_iv_set (self, "@snapshot", rb_block_proc ()); return self; }