Sha256: 41e66297f8b110cc24fd84722df13f9c321256244fd66438576ec8a9aff03f00

Contents?: true

Size: 1.31 KB

Versions: 15

Compression:

Stored size: 1.31 KB

Contents

# Copyright (c) 2023 M.J.N. Corino, The Netherlands
#
# This software is released under the MIT license.

###
# wxRuby3 Common typemap definitions
###

require_relative '../core/mapping'

module WXRuby3

  module Typemap

    # Deals with GetAllFormats
    module ConfigBase

      include Typemap::Module

      define do

        map 'wxConfigBase*' => 'Wx::ConfigBase' do

          map_in code: <<~__CODE
            $1 = nullptr;
            if (!NIL_P($input))
            {
              $1 = wxRuby_Ruby2ConfigBase($input);
              if ($1 == nullptr)
              {
                VALUE msg = rb_inspect($input);
                rb_raise(rb_eArgError, "Expected Wx::ConfigBase or Hash for %d but got %s",
                                        $argnum-1, StringValuePtr(msg));
              }
            }
            __CODE

          map_typecheck precedence: 'POINTER', code: <<~__CODE
            $1 = wxRuby_IsRubyConfig($input);
            __CODE


          map_directorin code: <<~__CODE
            $input = wxRuby_ConfigBase2Ruby($1);
            __CODE

          map_out code: <<~__CODE
            $result = wxRuby_ConfigBase2Ruby($1);
            __CODE

          map_directorout code: <<~__CODE
            $result = wxRuby_Ruby2ConfigBase($1); 
            __CODE

        end

      end

    end

  end

end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
wxruby3-1.4.2 rakelib/lib/typemap/config.rb
wxruby3-1.4.1 rakelib/lib/typemap/config.rb
wxruby3-1.4.0 rakelib/lib/typemap/config.rb
wxruby3-1.3.1 rakelib/lib/typemap/config.rb
wxruby3-1.3.0 rakelib/lib/typemap/config.rb
wxruby3-1.2.1 rakelib/lib/typemap/config.rb
wxruby3-1.2.0 rakelib/lib/typemap/config.rb
wxruby3-1.1.2 rakelib/lib/typemap/config.rb
wxruby3-1.1.1 rakelib/lib/typemap/config.rb
wxruby3-1.1.0 rakelib/lib/typemap/config.rb
wxruby3-1.0.1 rakelib/lib/typemap/config.rb
wxruby3-0.9.8 rakelib/lib/typemap/config.rb
wxruby3-0.9.7 rakelib/lib/typemap/config.rb
wxruby3-0.9.5 rakelib/lib/typemap/config.rb
wxruby3-0.9.4 rakelib/lib/typemap/config.rb