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

Version Path
wxruby3-1.5.1 rakelib/lib/director/richtext_image.rb
wxruby3-1.5.0 rakelib/lib/director/richtext_image.rb
wxruby3-1.4.2 rakelib/lib/director/richtext_image.rb
wxruby3-1.4.1 rakelib/lib/director/richtext_image.rb
wxruby3-1.4.0 rakelib/lib/director/richtext_image.rb
wxruby3-1.3.1 rakelib/lib/director/richtext_image.rb
wxruby3-1.3.0 rakelib/lib/director/richtext_image.rb
wxruby3-1.2.1 rakelib/lib/director/richtext_image.rb
wxruby3-1.2.0 rakelib/lib/director/richtext_image.rb
wxruby3-1.1.2 rakelib/lib/director/richtext_image.rb
wxruby3-1.1.1 rakelib/lib/director/richtext_image.rb
wxruby3-1.1.0 rakelib/lib/director/richtext_image.rb
wxruby3-1.0.1 rakelib/lib/director/richtext_image.rb
wxruby3-0.9.8 rakelib/lib/director/richtext_image.rb
wxruby3-0.9.7 rakelib/lib/director/richtext_image.rb
wxruby3-0.9.5 rakelib/lib/director/richtext_image.rb
wxruby3-0.9.4 rakelib/lib/director/richtext_image.rb
wxruby3-0.9.3 rakelib/lib/director/richtext_image.rb
wxruby3-0.9.2 rakelib/lib/director/richtext_image.rb
wxruby3-0.9.1 rakelib/lib/director/richtext_image.rb