Sha256: f517f23335b41f91b232eb766f7b82a9cdf41084409bdf826e787d33307817a9
Contents?: true
Size: 1.47 KB
Versions: 21
Compression:
Stored size: 1.47 KB
Contents
# Copyright (c) 2023 M.J.N. Corino, The Netherlands # # This software is released under the MIT license. ### # wxRuby3 wxWidgets interface director ### require_relative './richtext_object' module WXRuby3 class Director class RichTextImage < RichTextObject include Typemap::RichText include Typemap::IOStreams def setup super spec.items << 'wxRichTextImageBlock' spec.no_proxy 'wxRichTextImageBlock' spec.ignore 'wxRichTextImageBlock::ReadBlock', 'wxRichTextImageBlock::WriteBlock' # for SetData & GetData spec.map 'unsigned char *' => 'String' do map_in temp: 'std::unique_ptr<unsigned char[]> buf', code: <<~__CODE if (TYPE($input) == T_STRING) { int data_len = RSTRING_LEN($input); buf = std::make_unique<unsigned char[]> (data_len); memcpy(buf.get(), StringValuePtr($input), data_len); $1 = buf.release(); } else { rb_raise(rb_eArgError, "Expected a String for %d", $argnum-1); } __CODE map_out code: <<~__CODE size_t data_len = arg1->GetDataSize(); $result = rb_str_new( (const char*)$1, data_len); __CODE end spec.map_apply 'bool * OUTPUT' => 'bool & changed' spec.do_not_generate(:typedefs, :variables, :enums, :defines, :functions) end end end end
Version data entries
21 entries across 21 versions & 1 rubygems