Method: XCB::Connection#poly_fill_arc

Defined in:
ext/xproto.c

#poly_fill_arc(r_drawable, r_gc, r_arcs) ⇒ Object



5678
5679
5680
5681
5682
5683
5684
5685
5686
5687
5688
5689
5690
5691
5692
5693
5694
5695
5696
5697
5698
5699
# File 'ext/xproto.c', line 5678

static VALUE
r_XCB_Connection_poly_fill_arc(VALUE r_self, VALUE r_drawable, VALUE r_gc, VALUE r_arcs)
{
  xcb_connection_t *connection;
  Data_Get_Struct(r_self, xcb_connection_t, connection);
  uint32_t __drawable = FIX2INT(r_drawable);
  uint32_t __gc = FIX2INT(r_gc);
  Check_Type(r_arcs, T_ARRAY);
  int __arcs_len = RARRAY_LEN(r_arcs);
  xcb_arc_t __arcs[__arcs_len];
  int i;
  for (i = 0; i < __arcs_len; i += 1) {
    xcb_arc_t *data;
    VALUE r_data = rb_ary_entry(r_arcs, i);
    if (TYPE(r_data) != T_DATA || RBASIC(r_data)->klass != r_XCB_ARC)
      rb_raise(rb_eTypeError, "expected ARC");
    Data_Get_Struct(r_data, xcb_arc_t, data);
    __arcs[i] = *data;
  }
  xcb_poly_fill_arc(connection, __drawable, __gc, __arcs_len, __arcs);
  return Qnil;
}