wxruby3 0.9.8 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/INSTALL.md +23 -1
- data/README.md +13 -27
- data/ext/mkrf_conf_ext.rb +11 -7
- data/lib/wx/core/app.rb +16 -0
- data/lib/wx/core/colour.rb +36 -28
- data/lib/wx/core/const.rb +19 -0
- data/lib/wx/core/enum.rb +17 -1
- data/lib/wx/core/geometry.rb +121 -0
- data/lib/wx/core/graphics_pen_info.rb +18 -0
- data/lib/wx/core/image.rb +49 -0
- data/lib/wx/core/menu_bar.rb +11 -0
- data/lib/wx/core/paintdc.rb +9 -3
- data/lib/wx/doc/app.rb +97 -41
- data/lib/wx/doc/bitmap.rb +4 -0
- data/lib/wx/doc/client_dc.rb +2 -2
- data/lib/wx/doc/clipboard.rb +1 -1
- data/lib/wx/doc/colour.rb +12 -0
- data/lib/wx/doc/const.rb +16 -0
- data/lib/wx/doc/cursor.rb +4 -0
- data/lib/wx/doc/dc_overlay.rb +34 -0
- data/lib/wx/doc/enum.rb +7 -1
- data/lib/wx/doc/event_blocker.rb +1 -1
- data/lib/wx/doc/evthandler.rb +25 -3
- data/lib/wx/doc/functions.rb +3 -6
- data/lib/wx/doc/gc_dc.rb +13 -4
- data/lib/wx/doc/geometry.rb +136 -0
- data/lib/wx/doc/graphics_context.rb +25 -7
- data/lib/wx/doc/icon.rb +4 -0
- data/lib/wx/doc/image.rb +56 -0
- data/lib/wx/doc/list_ctrl.rb +6 -6
- data/lib/wx/doc/memory_dc.rb +2 -11
- data/lib/wx/doc/mirror_dc.rb +1 -1
- data/lib/wx/doc/pen.rb +26 -0
- data/lib/wx/doc/persistence_manager.rb +1 -1
- data/lib/wx/doc/persistent_object.rb +1 -1
- data/lib/wx/doc/pg/property_grid_interface.rb +3 -3
- data/lib/wx/doc/prt/printer_dc.rb +2 -2
- data/lib/wx/doc/region_iterator.rb +1 -1
- data/lib/wx/doc/scaled_dc.rb +1 -1
- data/lib/wx/doc/screen_dc.rb +1 -1
- data/lib/wx/doc/svg_file_dc.rb +1 -1
- data/lib/wx/doc/textctrl.rb +1 -1
- data/lib/wx/doc/tree_ctrl.rb +2 -2
- data/lib/wx/doc/validator.rb +6 -6
- data/lib/wx/doc/variant.rb +2 -2
- data/lib/wx/doc/window.rb +5 -4
- data/lib/wx/grid/keyword_defs.rb +1 -1
- data/lib/wx/html/keyword_defs.rb +3 -3
- data/lib/wx/keyword_defs.rb +76 -71
- data/lib/wx/pg/keyword_defs.rb +2 -2
- data/lib/wx/pg/pg_property.rb +12 -0
- data/lib/wx/rbn/keyword_defs.rb +1 -1
- data/lib/wx/rtc/keyword_defs.rb +1 -1
- data/lib/wx/stc/keyword_defs.rb +1 -1
- data/lib/wx/version.rb +1 -1
- data/lib/wx/wxruby/cmd/setup.rb +3 -0
- data/rakelib/configure.rb +7 -0
- data/rakelib/gem.rake +3 -2
- data/rakelib/gem.rb +3 -2
- data/rakelib/lib/config/linux.rb +1 -1
- data/rakelib/lib/config/mingw.rb +4 -101
- data/rakelib/lib/config/pkgman/linux.rb +31 -8
- data/rakelib/lib/config/pkgman/mingw.rb +112 -0
- data/rakelib/lib/config/unixish.rb +6 -7
- data/rakelib/lib/config.rb +25 -4
- data/rakelib/lib/core/include/enum.inc +31 -1
- data/rakelib/lib/director/affine_matrix.rb +51 -0
- data/rakelib/lib/director/app.rb +29 -13
- data/rakelib/lib/director/art_provider.rb +4 -0
- data/rakelib/lib/director/cursor.rb +6 -2
- data/rakelib/lib/director/dc.rb +1 -6
- data/rakelib/lib/director/derived_dc.rb +88 -31
- data/rakelib/lib/director/dialog.rb +0 -8
- data/rakelib/lib/director/geometry.rb +142 -0
- data/rakelib/lib/director/graphics_context.rb +3 -2
- data/rakelib/lib/director/graphics_object.rb +18 -25
- data/rakelib/lib/director/image.rb +59 -0
- data/rakelib/lib/director/menu.rb +2 -3
- data/rakelib/lib/director/menu_bar.rb +0 -3
- data/rakelib/lib/director/pen.rb +1 -1
- data/rakelib/lib/director/richtext_ctrl.rb +1 -1
- data/rakelib/lib/director/system_settings.rb +1 -1
- data/rakelib/lib/director/window.rb +9 -3
- data/rakelib/lib/extractor/function.rb +1 -1
- data/rakelib/lib/generate/doc/animation_ctrl.yaml +10 -0
- data/rakelib/lib/generate/doc/banner_window.yaml +35 -0
- data/rakelib/lib/generate/doc/graphics_context.yaml +12 -0
- data/rakelib/lib/generate/doc/graphics_object.yaml +12 -0
- data/rakelib/lib/generate/doc/grid_ctrl.yaml +25 -0
- data/rakelib/lib/generate/doc/header_ctrl.yaml +91 -0
- data/rakelib/lib/generate/doc/icon.yaml +10 -0
- data/rakelib/lib/generate/doc/info_bar.yaml +27 -0
- data/rakelib/lib/generate/doc/log.yaml +1 -1
- data/rakelib/lib/generate/doc/media_ctrl.yaml +27 -0
- data/rakelib/lib/generate/doc/persistent_window.yaml +22 -0
- data/rakelib/lib/generate/doc/pg_editor.yaml +1 -1
- data/rakelib/lib/generate/doc/pg_property.yaml +4 -4
- data/rakelib/lib/generate/doc/rearrange_list.yaml +14 -0
- data/rakelib/lib/generate/doc/ribbon_panel.yaml +15 -0
- data/rakelib/lib/generate/doc/rich_text_formatting_dialog.yaml +26 -0
- data/rakelib/lib/generate/doc/text_ctrl.yaml +1 -1
- data/rakelib/lib/generate/doc/wizard.yaml +27 -0
- data/rakelib/lib/generate/doc.rb +4 -4
- data/rakelib/lib/generate/interface.rb +1 -1
- data/rakelib/lib/specs/interfaces.rb +3 -0
- data/rakelib/lib/swig_runner.rb +24 -3
- data/rakelib/lib/typemap/points_list.rb +8 -2
- data/rakelib/lib/typemap/richtext.rb +17 -0
- data/rakelib/yard/templates/default/fulldoc/html/setup.rb +3 -3
- data/samples/dialogs/wizard.rb +20 -19
- data/samples/drawing/art/drawing/image.bmp +0 -0
- data/samples/drawing/art/drawing/mask.bmp +0 -0
- data/samples/drawing/art/drawing/pat35.bmp +0 -0
- data/samples/drawing/art/drawing/pat36.bmp +0 -0
- data/samples/drawing/art/drawing/pat4.bmp +0 -0
- data/samples/drawing/art/drawing/smile.xpm +42 -0
- data/samples/drawing/drawing.rb +2276 -0
- data/samples/drawing/tn_drawing.png +0 -0
- data/samples/html/html.rb +1 -1
- data/samples/propgrid/propgrid.rb +1 -1
- data/samples/propgrid/propgrid_minimal.rb +1 -1
- data/samples/propgrid/sample_props.rb +1 -1
- data/samples/sampler/editor.rb +13 -11
- data/samples/sampler.rb +14 -10
- data/samples/text/richtext.rb +53 -0
- data/samples/text/scintilla.rb +1 -1
- data/samples/text/unicode.rb +4 -4
- data/tests/test_ext_controls.rb +12 -5
- data/tests/test_gdi_object.rb +2 -2
- data/tests/test_std_controls.rb +12 -12
- metadata +33 -32
- data/lib/wx/doc/extra/00_starting.md +0 -154
- data/lib/wx/doc/extra/01_packages.md +0 -180
- data/lib/wx/doc/extra/02_lifecycles.md +0 -166
- data/lib/wx/doc/extra/03_dialogs.md +0 -57
- data/lib/wx/doc/extra/04_enums.md +0 -143
- data/lib/wx/doc/extra/05_event-handling.md +0 -191
- data/lib/wx/doc/extra/06_geometry.md +0 -62
- data/lib/wx/doc/extra/07_colour_and_font.md +0 -52
- data/lib/wx/doc/extra/08_extensions.md +0 -144
- data/lib/wx/doc/extra/09_exceptions.md +0 -54
- data/lib/wx/doc/extra/10_art.md +0 -111
- data/lib/wx/doc/extra/11_drawing_and_dc.md +0 -62
- data/lib/wx/doc/extra/12_client_data.md +0 -89
- data/lib/wx/doc/extra/13_validators.md +0 -139
- data/lib/wx/doc/extra/14_config.md +0 -101
- data/lib/wx/doc/extra/15_persistence.md +0 -148
- data/samples/sampler/back.xpm +0 -21
- data/samples/sampler/copy.xpm +0 -44
- data/samples/sampler/cut.xpm +0 -46
- data/samples/sampler/filesave.xpm +0 -42
- data/samples/sampler/find.xpm +0 -62
- data/samples/sampler/findrepl.xpm +0 -63
- data/samples/sampler/forward.xpm +0 -21
- data/samples/sampler/paste.xpm +0 -46
- data/samples/sampler/redo.xpm +0 -58
- data/samples/sampler/undo.xpm +0 -58
data/rakelib/gem.rb
CHANGED
|
@@ -93,12 +93,13 @@ module WXRuby3
|
|
|
93
93
|
end
|
|
94
94
|
|
|
95
95
|
def make_bin_name
|
|
96
|
+
basename = "wxruby3#{WXRuby3.config.with_wxhead? ? '-head' : ''}"
|
|
96
97
|
os = WXRuby3.config.sysinfo.os
|
|
97
98
|
case os.id
|
|
98
99
|
when :windows
|
|
99
|
-
"
|
|
100
|
+
"#{basename}_#{os.distro}_ruby#{WXRuby3::Config.rb_ver_major}#{WXRuby3::Config.rb_ver_minor}"
|
|
100
101
|
else
|
|
101
|
-
"
|
|
102
|
+
"#{basename}_#{os.distro}_#{os.release || '0'}_ruby#{WXRuby3::Config.rb_ver_major}#{WXRuby3::Config.rb_ver_minor}"
|
|
102
103
|
end
|
|
103
104
|
end
|
|
104
105
|
private :make_bin_name
|
data/rakelib/lib/config/linux.rb
CHANGED
|
@@ -81,7 +81,7 @@ module WXRuby3
|
|
|
81
81
|
@dll_pfx = 'lib'
|
|
82
82
|
|
|
83
83
|
if @wx_version
|
|
84
|
-
@extra_cflags.concat %w[-Wno-unused-function -Wno-conversion-null -Wno-maybe-uninitialized]
|
|
84
|
+
@extra_cflags.concat %w[-Wno-unused-function -Wno-conversion-null -Wno-maybe-uninitialized -Wno-deprecated-copy]
|
|
85
85
|
@extra_cflags << ' -Wno-deprecated-declarations' unless @no_deprecated
|
|
86
86
|
|
|
87
87
|
@ruby_ldflags << '-s' if @release_build # strip debug symbols for release build
|
data/rakelib/lib/config/mingw.rb
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
###
|
|
8
8
|
|
|
9
9
|
require_relative './unixish'
|
|
10
|
+
require_relative 'pkgman/mingw'
|
|
10
11
|
|
|
11
12
|
require 'uri'
|
|
12
13
|
|
|
@@ -26,13 +27,6 @@ module WXRuby3
|
|
|
26
27
|
|
|
27
28
|
module Platform
|
|
28
29
|
|
|
29
|
-
SWIG_URL = 'https://sourceforge.net/projects/swig/files/swigwin/swigwin-4.2.0/swigwin-4.2.0.zip/download'
|
|
30
|
-
SWIG_ZIP = 'swigwin-4.2.0.zip'
|
|
31
|
-
|
|
32
|
-
DOXYGEN_URL = 'https://www.doxygen.nl/files/doxygen-1.10.0.windows.x64.bin.zip'
|
|
33
|
-
|
|
34
|
-
GIT_URL = 'https://github.com/git-for-windows/git/releases/download/v2.43.0.windows.1/MinGit-2.43.0-64-bit.zip'
|
|
35
|
-
|
|
36
30
|
def self.included(base)
|
|
37
31
|
base.class_eval do
|
|
38
32
|
include Config::UnixLike
|
|
@@ -85,71 +79,10 @@ module WXRuby3
|
|
|
85
79
|
|
|
86
80
|
def install_prerequisites
|
|
87
81
|
pkg_deps = super
|
|
88
|
-
|
|
89
|
-
# autoinstall or not?
|
|
90
|
-
unless wants_autoinstall?
|
|
91
|
-
STDERR.puts <<~__ERROR_TXT
|
|
92
|
-
ERROR: This system lacks installed versions of the following required software packages:
|
|
93
|
-
#{pkg_deps.join(', ')}
|
|
94
|
-
|
|
95
|
-
Install these packages and try again.
|
|
96
|
-
__ERROR_TXT
|
|
97
|
-
exit(1)
|
|
98
|
-
end
|
|
99
|
-
# if SWIG was not found in the PATH
|
|
100
|
-
if pkg_deps.include?('swig')
|
|
101
|
-
$stdout.print 'Installing SWIG...' if run_silent?
|
|
102
|
-
# download and install SWIG
|
|
103
|
-
fname = download_and_install(SWIG_URL, SWIG_ZIP, 'swig.exe')
|
|
104
|
-
$stdout.puts 'done!' if run_silent?
|
|
105
|
-
Config.instance.log_progress("Installed #{fname}")
|
|
106
|
-
set_config('swig', fname)
|
|
107
|
-
Config.save
|
|
108
|
-
end
|
|
109
|
-
# if doxygen was not found in the PATH
|
|
110
|
-
if pkg_deps.include?('doxygen')
|
|
111
|
-
$stdout.print 'Installing Doxygen...' if run_silent?
|
|
112
|
-
# download and install doxygen
|
|
113
|
-
fname = download_and_install(DOXYGEN_URL, File.basename(URI(DOXYGEN_URL).path), 'doxygen.exe', 'doxygen')
|
|
114
|
-
$stdout.puts 'done!' if run_silent?
|
|
115
|
-
Config.instance.log_progress("Installed #{fname}")
|
|
116
|
-
set_config('doxygen', fname)
|
|
117
|
-
Config.save
|
|
118
|
-
end
|
|
119
|
-
# if git was not found in the PATH
|
|
120
|
-
if pkg_deps.include?('git')
|
|
121
|
-
$stdout.print 'Installing Git...' if run_silent?
|
|
122
|
-
# download and install doxygen
|
|
123
|
-
fname = download_and_install(GIT_URL, File.basename(URI(GIT_URL).path), 'git.exe', 'git')
|
|
124
|
-
$stdout.puts 'done!' if run_silent?
|
|
125
|
-
Config.instance.log_progress("Installed #{fname}")
|
|
126
|
-
set_config('git', fname)
|
|
127
|
-
Config.save
|
|
128
|
-
end
|
|
129
|
-
end
|
|
82
|
+
PkgManager.install(pkg_deps)
|
|
130
83
|
[]
|
|
131
84
|
end
|
|
132
85
|
|
|
133
|
-
# only called after src gem build
|
|
134
|
-
def cleanup_prerequisites
|
|
135
|
-
tmp_tool_root = File.join(ENV['HOME'].gsub("\\", '/'), '.wxruby3')
|
|
136
|
-
path = get_cfg_string('swig')
|
|
137
|
-
unless path.empty? || !path.start_with?(tmp_tool_root)
|
|
138
|
-
path = File.dirname(path) while File.dirname(path) != tmp_tool_root
|
|
139
|
-
rm_rf(path)
|
|
140
|
-
end
|
|
141
|
-
path = get_cfg_string('doxygen')
|
|
142
|
-
unless path.empty? || !path.start_with?(tmp_tool_root)
|
|
143
|
-
path = File.dirname(path) while File.dirname(path) != tmp_tool_root
|
|
144
|
-
rm_rf(path)
|
|
145
|
-
end
|
|
146
|
-
path = get_cfg_string('git')
|
|
147
|
-
unless path.empty? || !path.start_with?(tmp_tool_root)
|
|
148
|
-
path = File.dirname(path) while File.dirname(path) != tmp_tool_root
|
|
149
|
-
rm_rf(path)
|
|
150
|
-
end
|
|
151
|
-
end
|
|
152
|
-
|
|
153
86
|
def expand(cmd)
|
|
154
87
|
super("bash -c \"#{cmd}\"")
|
|
155
88
|
end
|
|
@@ -164,38 +97,8 @@ module WXRuby3
|
|
|
164
97
|
|
|
165
98
|
private
|
|
166
99
|
|
|
167
|
-
def
|
|
168
|
-
|
|
169
|
-
tmp_tool_root = File.join(ENV['HOME'].gsub("\\", '/'), '.wxruby3')
|
|
170
|
-
dest = unpack_to ? File.join(tmp_tool_root, unpack_to) : File.join(tmp_tool_root, File.basename(zip, '.*'))
|
|
171
|
-
mkdir(tmp_tool_root) unless File.directory?(tmp_tool_root)
|
|
172
|
-
# download
|
|
173
|
-
chdir(tmp_tool_root) do
|
|
174
|
-
unless download_file(url, zip)
|
|
175
|
-
STDERR.puts "ERROR: Failed to download installation package for #{exe}"
|
|
176
|
-
exit(1)
|
|
177
|
-
end
|
|
178
|
-
# unpack
|
|
179
|
-
unless sh("powershell Expand-Archive -LiteralPath '#{zip}' -DestinationPath #{dest} -Force")
|
|
180
|
-
STDERR.puts "ERROR: Failed to unpack installation package for #{exe}"
|
|
181
|
-
exit(1)
|
|
182
|
-
end
|
|
183
|
-
# cleanup
|
|
184
|
-
rm_f(zip)
|
|
185
|
-
end
|
|
186
|
-
# find executable
|
|
187
|
-
find_exe(dest, exe)
|
|
188
|
-
end
|
|
189
|
-
|
|
190
|
-
def find_exe(path, exe)
|
|
191
|
-
fp = Dir.glob(File.join(path, '*')).find { |p| File.file?(p) && File.basename(p) == exe }
|
|
192
|
-
unless fp
|
|
193
|
-
Dir.glob(File.join(path, '*')).each do |p|
|
|
194
|
-
fp = find_exe(p, exe) if File.directory?(p)
|
|
195
|
-
return fp if fp
|
|
196
|
-
end
|
|
197
|
-
end
|
|
198
|
-
fp
|
|
100
|
+
def wx_configure
|
|
101
|
+
bash('./configure --prefix=`pwd`/install --disable-tests --without-subdirs --without-regex --with-expat=builtin --with-zlib=builtin --disable-debug_info')
|
|
199
102
|
end
|
|
200
103
|
|
|
201
104
|
def wx_make
|
|
@@ -14,11 +14,33 @@ module WXRuby3
|
|
|
14
14
|
|
|
15
15
|
module PkgManager
|
|
16
16
|
|
|
17
|
+
class PlatformDependencies
|
|
18
|
+
def initialize(*defaults)
|
|
19
|
+
@dependencies = ::Hash.new
|
|
20
|
+
@dependencies.default = ::Hash.new(defaults.flatten)
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def add(distro, *deps, release: nil)
|
|
24
|
+
@dependencies[distro] ||= ::Hash.new
|
|
25
|
+
if release
|
|
26
|
+
@dependencies[distro][release] = deps.flatten
|
|
27
|
+
else
|
|
28
|
+
@dependencies[distro].default = deps.flatten
|
|
29
|
+
end
|
|
30
|
+
self
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def get(distro, release: nil)
|
|
34
|
+
@dependencies[distro][release]
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
|
|
17
38
|
PLATFORM_DEPS = {
|
|
18
|
-
debian: %w[libgtk-3-dev libwebkit2gtk-4.0-dev libgspell-1-dev libunwind-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libcurl4-openssl-dev libsecret-1-dev libnotify-dev]
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
39
|
+
debian: PlatformDependencies.new(%w[libgtk-3-dev libwebkit2gtk-4.0-dev libgspell-1-dev libunwind-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libcurl4-openssl-dev libsecret-1-dev libnotify-dev])
|
|
40
|
+
.add('ubuntu', %w[libgtk-3-dev libwebkit2gtk-4.1-dev libgspell-1-dev libunwind-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libcurl4-openssl-dev libsecret-1-dev libnotify-dev], release: '24.04'),
|
|
41
|
+
rhel: PlatformDependencies.new(%w[expat-devel findutils gspell-devel gstreamer1-plugins-base-devel gtk3-devel libcurl-devel libjpeg-devel libnotify-devel libpng-devel libSM-devel libsecret-devel libtiff-devel SDL-devel webkit2gtk4.1-devel zlib-devel]),
|
|
42
|
+
suse: PlatformDependencies.new(%w[gtk3-devel webkit2gtk3-devel gspell-devel gstreamer-devel gstreamer-plugins-base-devel libcurl-devel libsecret-devel libnotify-devel libSDL-devel zlib-devel libjpeg-devel libpng-devel]),
|
|
43
|
+
arch: PlatformDependencies.new(%w[pkg-config gtk3 webkit2gtk gspell libunwind gstreamer curl libsecret libnotify libpng12])
|
|
22
44
|
}
|
|
23
45
|
PLATFORM_ALTS = {
|
|
24
46
|
suse: { 'g++' => 'gcc-c++' },
|
|
@@ -41,7 +63,7 @@ module WXRuby3
|
|
|
41
63
|
|
|
42
64
|
Make sure the following packages (or equivalent) are installed and than try again with `--no-autoinstall`:
|
|
43
65
|
#{pkgs.join(', ')}
|
|
44
|
-
|
|
66
|
+
__ERROR_TXT
|
|
45
67
|
exit(1)
|
|
46
68
|
end
|
|
47
69
|
# can we install?
|
|
@@ -63,7 +85,7 @@ module WXRuby3
|
|
|
63
85
|
#{pkgs.join(', ')}
|
|
64
86
|
|
|
65
87
|
Install these packages and try again.
|
|
66
|
-
|
|
88
|
+
__ERROR_TXT
|
|
67
89
|
exit(1)
|
|
68
90
|
end
|
|
69
91
|
# do the actual install
|
|
@@ -73,7 +95,7 @@ module WXRuby3
|
|
|
73
95
|
#{pkgs.join(', ')}
|
|
74
96
|
|
|
75
97
|
Fix any problems or install these packages yourself and try again.
|
|
76
|
-
|
|
98
|
+
__ERROR_TXT
|
|
77
99
|
if WXRuby3.config.run_silent?
|
|
78
100
|
$stderr.puts "For error details check #{WXRuby3.config.silent_log_name}"
|
|
79
101
|
end
|
|
@@ -90,7 +112,8 @@ module WXRuby3
|
|
|
90
112
|
end
|
|
91
113
|
|
|
92
114
|
def platform_pkgs
|
|
93
|
-
PLATFORM_DEPS[WXRuby3.config.sysinfo.os.variant.to_sym]
|
|
115
|
+
deps = PLATFORM_DEPS[WXRuby3.config.sysinfo.os.variant.to_sym]
|
|
116
|
+
deps ? deps.get(WXRuby3.config.sysinfo.os.distro, release: WXRuby3.config.sysinfo.os.release) : []
|
|
94
117
|
end
|
|
95
118
|
|
|
96
119
|
def add_platform_pkgs(pkgs)
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
# Copyright (c) 2023 M.J.N. Corino, The Netherlands
|
|
2
|
+
#
|
|
3
|
+
# This software is released under the MIT license.
|
|
4
|
+
|
|
5
|
+
###
|
|
6
|
+
# wxRuby3 buildtools platform pkg manager base
|
|
7
|
+
###
|
|
8
|
+
|
|
9
|
+
module WXRuby3
|
|
10
|
+
|
|
11
|
+
module Config
|
|
12
|
+
|
|
13
|
+
module Platform
|
|
14
|
+
|
|
15
|
+
module PkgManager
|
|
16
|
+
|
|
17
|
+
XTRA_PLATFORM_DEPS = %w[python]
|
|
18
|
+
|
|
19
|
+
class << self
|
|
20
|
+
|
|
21
|
+
def install(pkgs)
|
|
22
|
+
# do we need to install anything?
|
|
23
|
+
if !pkgs.empty? || builds_wxwidgets?
|
|
24
|
+
# check windows distro compatibility
|
|
25
|
+
unless no_autoinstall? || pkgman
|
|
26
|
+
# do we need to build wxWidgets?
|
|
27
|
+
pkgs.concat(XTRA_PLATFORM_DEPS) if builds_wxwidgets?
|
|
28
|
+
$stderr.puts <<~__ERROR_TXT
|
|
29
|
+
ERROR: Do not know how to install required packages for distro type '#{WXRuby3.config.sysinfo.os.variant}'.
|
|
30
|
+
|
|
31
|
+
Make sure the following packages (or equivalent) are installed and than try again with `--no-autoinstall`:
|
|
32
|
+
#{pkgs.join(', ')}
|
|
33
|
+
__ERROR_TXT
|
|
34
|
+
exit(1)
|
|
35
|
+
end
|
|
36
|
+
# can we install?
|
|
37
|
+
unless no_autoinstall? || pkgman
|
|
38
|
+
$stderr.puts 'ERROR: Do not know how to check for or install required packages. Please install manually and than try again with `--no-autoinstall`.'
|
|
39
|
+
exit(1)
|
|
40
|
+
end
|
|
41
|
+
# do we need to build wxWidgets?
|
|
42
|
+
if builds_wxwidgets?
|
|
43
|
+
# add platform specific packages for wxWidgets
|
|
44
|
+
pkgs.concat(XTRA_PLATFORM_DEPS)
|
|
45
|
+
end
|
|
46
|
+
# do we actually have any packages to install?
|
|
47
|
+
unless pkgs.empty?
|
|
48
|
+
# autoinstall or not?
|
|
49
|
+
unless wants_autoinstall?
|
|
50
|
+
$stderr.puts <<~__ERROR_TXT
|
|
51
|
+
ERROR: This system may lack installed versions of the following required software packages:
|
|
52
|
+
#{pkgs.join(', ')}
|
|
53
|
+
|
|
54
|
+
Install these packages and try again.
|
|
55
|
+
__ERROR_TXT
|
|
56
|
+
exit(1)
|
|
57
|
+
end
|
|
58
|
+
# do the actual install
|
|
59
|
+
unless run(pkgman.make_install_command(*pkgs))
|
|
60
|
+
$stderr.puts <<~__ERROR_TXT
|
|
61
|
+
ERROR: Failed to install all or some of the following required software packages:
|
|
62
|
+
#{pkgs.join(', ')}
|
|
63
|
+
|
|
64
|
+
Fix any problems or install these packages yourself and try again.
|
|
65
|
+
__ERROR_TXT
|
|
66
|
+
if WXRuby3.config.run_silent?
|
|
67
|
+
$stderr.puts "For error details check #{WXRuby3.config.silent_log_name}"
|
|
68
|
+
end
|
|
69
|
+
exit(1)
|
|
70
|
+
end
|
|
71
|
+
end
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
private
|
|
76
|
+
|
|
77
|
+
def pkgman
|
|
78
|
+
@pkgman ||= WXRuby3.config.sysinfo.os.pkgman
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
def builds_wxwidgets?
|
|
82
|
+
Config.get_config('with-wxwin') && Config.get_cfg_string('wxwin').empty?
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
def no_autoinstall?
|
|
86
|
+
Config.get_config('autoinstall') == false
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
def wants_autoinstall?
|
|
90
|
+
WXRuby3.config.wants_autoinstall?
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
def run(cmd)
|
|
94
|
+
$stdout.print "Running #{cmd}..."
|
|
95
|
+
rc = WXRuby3.config.bash(cmd)
|
|
96
|
+
$stderr.puts(rc ? 'done!' : 'FAILED!')
|
|
97
|
+
rc
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
def expand(cmd)
|
|
101
|
+
`#{is_root? ? '' : 'sudo '}#{cmd}`
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
end
|
|
107
|
+
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
end
|
|
111
|
+
|
|
112
|
+
end
|
|
@@ -92,11 +92,10 @@ module WXRuby3
|
|
|
92
92
|
chdir(ext_path) do
|
|
93
93
|
if (rc = sh("#{get_cfg_string('git')} clone https://github.com/wxWidgets/wxWidgets.git"))
|
|
94
94
|
chdir('wxWidgets') do
|
|
95
|
-
tag =
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
end
|
|
95
|
+
tag = wx_gitref ||
|
|
96
|
+
expand("#{get_cfg_string('git')} tag").split("\n").select do |t|
|
|
97
|
+
(/\Av(\d+)\.(\d+)\.\d+\Z/ =~ t) && (($1.to_i == 3 && $2.to_i >= 2) || $1.to_i > 3)
|
|
98
|
+
end.max
|
|
100
99
|
# checkout the version we are building against
|
|
101
100
|
rc = sh("#{get_cfg_string('git')} checkout #{tag}")
|
|
102
101
|
end
|
|
@@ -220,8 +219,8 @@ module WXRuby3
|
|
|
220
219
|
# add ruby defined shared ruby lib(s); not any other flags
|
|
221
220
|
@ruby_libs.concat RB_CONFIG['LIBRUBYARG_SHARED'].split(' ').select { |s| s.start_with?('-l')}
|
|
222
221
|
|
|
223
|
-
# maintain minimum compatibility with ABI 3.0.
|
|
224
|
-
@wx_abi_version = [ @wx_version, "3.0.
|
|
222
|
+
# maintain minimum compatibility with ABI 3.0.1
|
|
223
|
+
@wx_abi_version = [ @wx_version, "3.0.1" ].min
|
|
225
224
|
@wx_cppflags << "-DwxABI_VERSION=%s" % @wx_abi_version.tr(".", "0")
|
|
226
225
|
end
|
|
227
226
|
end
|
data/rakelib/lib/config.rb
CHANGED
|
@@ -313,7 +313,7 @@ module WXRuby3
|
|
|
313
313
|
private :make_ruby_cmd
|
|
314
314
|
|
|
315
315
|
def execute(*cmd)
|
|
316
|
-
|
|
316
|
+
sh(exec_env.merge({'RUBYLIB'=>rb_lib_path}), cmd.flatten.join(' '), fail_on_error: true)
|
|
317
317
|
end
|
|
318
318
|
|
|
319
319
|
def run(*cmd, capture: nil, verbose: true)
|
|
@@ -720,6 +720,10 @@ module WXRuby3
|
|
|
720
720
|
get_config('with-wxwin')
|
|
721
721
|
end
|
|
722
722
|
|
|
723
|
+
def with_wxhead?
|
|
724
|
+
get_config('with-wxhead')
|
|
725
|
+
end
|
|
726
|
+
|
|
723
727
|
def wx_version
|
|
724
728
|
@wx_version || ''
|
|
725
729
|
end
|
|
@@ -760,6 +764,17 @@ module WXRuby3
|
|
|
760
764
|
[ rake_deps_path, src_path, src_gen_path, obj_path, classes_path, common_path, interface_path ]
|
|
761
765
|
end
|
|
762
766
|
|
|
767
|
+
def wx_gitref
|
|
768
|
+
if @wx_version
|
|
769
|
+
"v#{@wx_version}"
|
|
770
|
+
elsif get_config('with-wxhead')
|
|
771
|
+
'master'
|
|
772
|
+
else
|
|
773
|
+
nil
|
|
774
|
+
end
|
|
775
|
+
end
|
|
776
|
+
private :wx_gitref
|
|
777
|
+
|
|
763
778
|
def do_bootstrap
|
|
764
779
|
install_prerequisites
|
|
765
780
|
# do we have a local wxWidgets tree already?
|
|
@@ -832,9 +847,15 @@ module WXRuby3
|
|
|
832
847
|
features = {}
|
|
833
848
|
|
|
834
849
|
if is_configured? && wxwidgets_setup_h
|
|
835
|
-
File.read(wxwidgets_setup_h).scan(/^\s*#define\s+(wx\w+|__\w+__)\s+([01])/) do | define |
|
|
836
|
-
|
|
837
|
-
|
|
850
|
+
File.read(wxwidgets_setup_h).scan(/^\s*#define\s+(wx\w+|__\w+__)\s+([01]|wx\w+)/) do | define |
|
|
851
|
+
val_str = $2
|
|
852
|
+
feat_str = $1
|
|
853
|
+
if val_str.start_with?('wx')
|
|
854
|
+
feat_val = !!features[val_str.sub(/\Awx/i, '')]
|
|
855
|
+
else
|
|
856
|
+
feat_val = val_str.to_i.zero? ? false : true
|
|
857
|
+
end
|
|
858
|
+
feat_id = feat_str.sub(/\Awx/i, '').gsub(/\A__|__\Z/, '')
|
|
838
859
|
features[feat_id] = feat_val
|
|
839
860
|
end
|
|
840
861
|
# make sure correct platform defines are included as well which will not be the case always
|
|
@@ -177,6 +177,7 @@ static VALUE wx_Enum_sc_create_enum_class(int argc, VALUE *argv, VALUE self)
|
|
|
177
177
|
ID id_to_i = rb_intern("to_i");
|
|
178
178
|
ID id_const_set = rb_intern("const_set");
|
|
179
179
|
VALUE enum_klass = rb_funcall(rb_cClass, id_new, 1, cWxEnum, 0);
|
|
180
|
+
VALUE enum_singleton_klass = rb_funcall(enum_klass, rb_intern("singleton_class"), 0, 0);
|
|
180
181
|
VALUE enum_values = rb_funcall(argv[1], rb_intern("keys"), 0, 0);
|
|
181
182
|
for (int i=0; i<RARRAY_LEN(enum_values) ;++i)
|
|
182
183
|
{
|
|
@@ -184,6 +185,8 @@ static VALUE wx_Enum_sc_create_enum_class(int argc, VALUE *argv, VALUE self)
|
|
|
184
185
|
VALUE enum_value_num = rb_funcall(rb_hash_aref(argv[1], enum_value_name), id_to_i, 0, 0);
|
|
185
186
|
VALUE enum_value = rb_funcall(enum_klass, id_new, 1, enum_value_num, 0);
|
|
186
187
|
rb_funcall(enum_klass, id_const_set, 2, enum_value_name, enum_value, 0);
|
|
188
|
+
rb_hash_aset(rb_iv_get(enum_singleton_klass, __iv_enum_klass_values), enum_value_num, enum_value);
|
|
189
|
+
rb_hash_aset(rb_iv_get(enum_singleton_klass, __iv_enum_klass_values_by_name), rb_to_symbol(enum_value_name), enum_value);
|
|
187
190
|
}
|
|
188
191
|
rb_hash_aset(rb_iv_get(cEnum_Singleton, __iv_Enum_sc_enums), enum_name, enum_klass);
|
|
189
192
|
return enum_klass;
|
|
@@ -230,10 +233,31 @@ static VALUE wx_Enum_sc_get_enum_value(int argc, VALUE *argv, VALUE self)
|
|
|
230
233
|
return rb_hash_aref(rb_iv_get(enum_singleton_klass, __iv_enum_klass_values_by_name), rb_to_symbol(argv[0]));
|
|
231
234
|
}
|
|
232
235
|
|
|
236
|
+
static VALUE wx_Enum_sc_get_enum_values(VALUE self)
|
|
237
|
+
{
|
|
238
|
+
VALUE enum_singleton_klass = rb_funcall(self, rb_intern("singleton_class"), 0, 0);
|
|
239
|
+
return rb_iv_get(enum_singleton_klass, __iv_enum_klass_values);
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
static VALUE wx_Enum_sc_get_enum_values_by_name(VALUE self)
|
|
243
|
+
{
|
|
244
|
+
VALUE enum_singleton_klass = rb_funcall(self, rb_intern("singleton_class"), 0, 0);
|
|
245
|
+
return rb_iv_get(enum_singleton_klass, __iv_enum_klass_values_by_name);
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
static VALUE wx_Enum_sc_get_enum_names_by_value(VALUE self)
|
|
249
|
+
{
|
|
250
|
+
VALUE enum_singleton_klass = rb_funcall(self, rb_intern("singleton_class"), 0, 0);
|
|
251
|
+
return rb_funcall(rb_iv_get(enum_singleton_klass, __iv_enum_klass_values_by_name), rb_intern("invert"), 0);
|
|
252
|
+
}
|
|
253
|
+
|
|
233
254
|
WXRB_EXPORT_FLAG VALUE wxRuby_CreateEnumClass(const char* enum_class_name_cstr)
|
|
234
255
|
{
|
|
235
256
|
VALUE enum_klass = rb_funcall(rb_cClass, rb_intern("new"), 1, cWxEnum, 0);
|
|
236
257
|
rb_define_singleton_method(enum_klass, "[]", VALUEFUNC(wx_Enum_sc_get_enum_value), -1);
|
|
258
|
+
rb_define_singleton_method(enum_klass, "values", VALUEFUNC(wx_Enum_sc_get_enum_values), 0);
|
|
259
|
+
rb_define_singleton_method(enum_klass, "values_by_name", VALUEFUNC(wx_Enum_sc_get_enum_values_by_name), 0);
|
|
260
|
+
rb_define_singleton_method(enum_klass, "names_by_value", VALUEFUNC(wx_Enum_sc_get_enum_names_by_value), 0);
|
|
237
261
|
VALUE enum_singleton_klass = rb_funcall(enum_klass, rb_intern("singleton_class"), 0, 0);
|
|
238
262
|
rb_iv_set(enum_singleton_klass, __iv_enum_klass_values, rb_hash_new());
|
|
239
263
|
rb_iv_set(enum_singleton_klass, __iv_enum_klass_values_by_name, rb_hash_new());
|
|
@@ -266,7 +290,13 @@ WXRB_EXPORT_FLAG VALUE wxRuby_GetEnumValueObject(const char* enum_wx_class_name_
|
|
|
266
290
|
VALUE enum_klass = rb_hash_aref(enum_hash, ID2SYM(rb_intern(enum_class_name)));
|
|
267
291
|
VALUE enum_singleton_klass = rb_funcall(enum_klass, rb_intern("singleton_class"), 0, 0);
|
|
268
292
|
VALUE enum_values_hash = rb_iv_get(enum_singleton_klass, __iv_enum_klass_values);
|
|
269
|
-
|
|
293
|
+
VALUE rc = rb_hash_aref(enum_values_hash, INT2NUM(enum_val));
|
|
294
|
+
if (NIL_P(rc))
|
|
295
|
+
{
|
|
296
|
+
VALUE args[1] = { INT2NUM(enum_val) };
|
|
297
|
+
rc = rb_class_new_instance(1, args, enum_klass);
|
|
298
|
+
}
|
|
299
|
+
return rc;
|
|
270
300
|
}
|
|
271
301
|
return Qnil;
|
|
272
302
|
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# Copyright (c) 2023 M.J.N. Corino, The Netherlands
|
|
2
|
+
#
|
|
3
|
+
# This software is released under the MIT license.
|
|
4
|
+
|
|
5
|
+
###
|
|
6
|
+
# wxRuby3 wxWidgets interface director
|
|
7
|
+
###
|
|
8
|
+
|
|
9
|
+
module WXRuby3
|
|
10
|
+
|
|
11
|
+
class Director
|
|
12
|
+
|
|
13
|
+
class AffineMatrix2D < Director
|
|
14
|
+
|
|
15
|
+
def setup
|
|
16
|
+
spec.items.unshift('wxAffineMatrix2DBase') << 'wxMatrix2D'
|
|
17
|
+
|
|
18
|
+
spec.make_abstract 'wxAffineMatrix2DBase'
|
|
19
|
+
spec.disable_proxies
|
|
20
|
+
|
|
21
|
+
spec.map_apply 'int * OUTPUT' => ['wxDouble *']
|
|
22
|
+
spec.map 'wxPoint2DDouble *' => 'Wx::Point2DDouble' do
|
|
23
|
+
map_in ignore: true, temp: 'wxPoint2DDouble tmp', code: '$1 = &tmp;'
|
|
24
|
+
|
|
25
|
+
map_argout code: <<~__CODE
|
|
26
|
+
$result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(new wxPoint2DDouble(tmp$argnum), SWIGTYPE_p_wxPoint2DDouble, SWIG_POINTER_OWN));
|
|
27
|
+
__CODE
|
|
28
|
+
end
|
|
29
|
+
spec.map 'wxMatrix2D *' => 'Wx::Matrix2D' do
|
|
30
|
+
map_in ignore: true, temp: 'wxMatrix2D tmp', code: '$1 = &tmp;'
|
|
31
|
+
|
|
32
|
+
map_argout code: <<~__CODE
|
|
33
|
+
$result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(new wxMatrix2D(tmp$argnum), SWIGTYPE_p_wxPoint2DDouble, SWIG_POINTER_OWN));
|
|
34
|
+
__CODE
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
spec.ignore 'wxAffineMatrix2D::Mirror',
|
|
38
|
+
'wxAffineMatrix2D::TransformPoint',
|
|
39
|
+
'wxAffineMatrix2D::TransformDistance',
|
|
40
|
+
'wxAffineMatrix2D::IsEqual'
|
|
41
|
+
|
|
42
|
+
spec.regard 'wxMatrix2D::m_11', 'wxMatrix2D::m_12',
|
|
43
|
+
'wxMatrix2D::m_21', 'wxMatrix2D::m_22'
|
|
44
|
+
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
end
|
data/rakelib/lib/director/app.rb
CHANGED
|
@@ -87,31 +87,47 @@ module WXRuby3
|
|
|
87
87
|
}
|
|
88
88
|
__HEREDOC
|
|
89
89
|
if Config.platform == :macosx
|
|
90
|
-
# add accessor methods for the standard OSX menu items
|
|
90
|
+
# add static accessor methods for the standard OSX menu items
|
|
91
91
|
spec.add_extend_code 'wxApp', <<~__HEREDOC
|
|
92
|
-
void set_mac_about_menu_itemid(long menu_itemid)
|
|
92
|
+
static void set_mac_about_menu_itemid(long menu_itemid)
|
|
93
93
|
{
|
|
94
|
-
|
|
94
|
+
wxApp::s_macAboutMenuItemId = menu_itemid;
|
|
95
95
|
}
|
|
96
|
-
long get_mac_about_menu_itemid(long menu_itemid)
|
|
96
|
+
static long get_mac_about_menu_itemid(long menu_itemid)
|
|
97
97
|
{
|
|
98
|
-
return
|
|
98
|
+
return wxApp::s_macAboutMenuItemId;
|
|
99
99
|
}
|
|
100
|
-
void set_mac_preferences_menu_itemid(long menu_itemid)
|
|
100
|
+
static void set_mac_preferences_menu_itemid(long menu_itemid)
|
|
101
101
|
{
|
|
102
|
-
|
|
102
|
+
wxApp::s_macPreferencesMenuItemId = menu_itemid;
|
|
103
103
|
}
|
|
104
|
-
long get_mac_preferences_menu_itemid(long menu_itemid)
|
|
104
|
+
static long get_mac_preferences_menu_itemid(long menu_itemid)
|
|
105
105
|
{
|
|
106
|
-
return
|
|
106
|
+
return wxApp::s_macPreferencesMenuItemId;
|
|
107
107
|
}
|
|
108
|
-
void set_mac_exit_menu_itemid(long menu_itemid)
|
|
108
|
+
static void set_mac_exit_menu_itemid(long menu_itemid)
|
|
109
109
|
{
|
|
110
|
-
|
|
110
|
+
wxApp::s_macExitMenuItemId = menu_itemid;
|
|
111
111
|
}
|
|
112
|
-
long get_mac_exit_menu_itemid(long menu_itemid)
|
|
112
|
+
static long get_mac_exit_menu_itemid(long menu_itemid)
|
|
113
113
|
{
|
|
114
|
-
return
|
|
114
|
+
return wxApp::s_macExitMenuItemId;
|
|
115
|
+
}
|
|
116
|
+
static void set_mac_help_menu_title(const wxString& title)
|
|
117
|
+
{
|
|
118
|
+
wxApp::s_macHelpMenuTitleName = title;
|
|
119
|
+
}
|
|
120
|
+
static const wxString& get_mac_help_menu_title()
|
|
121
|
+
{
|
|
122
|
+
return wxApp::s_macHelpMenuTitleName;
|
|
123
|
+
}
|
|
124
|
+
static void set_mac_window_menu_title(const wxString& title)
|
|
125
|
+
{
|
|
126
|
+
wxApp::s_macWindowMenuTitleName = title;
|
|
127
|
+
}
|
|
128
|
+
static const wxString& get_mac_window_menu_title()
|
|
129
|
+
{
|
|
130
|
+
return wxApp::s_macWindowMenuTitleName;
|
|
115
131
|
}
|
|
116
132
|
__HEREDOC
|
|
117
133
|
end
|
|
@@ -28,6 +28,10 @@ module WXRuby3
|
|
|
28
28
|
// ArtId and ArtClient are basically just strings ...
|
|
29
29
|
typedef wxString wxArtID;
|
|
30
30
|
typedef wxString wxArtClient;
|
|
31
|
+
|
|
32
|
+
// Missing from docs
|
|
33
|
+
%constant const char* wxART_STOP = wxART_STOP;
|
|
34
|
+
%constant const char* wxART_REFRESH = wxART_REFRESH;
|
|
31
35
|
__HEREDOC
|
|
32
36
|
spec.map *%w[wxArtID wxArtClient], as: 'String', swig: false do
|
|
33
37
|
map_in
|
|
@@ -20,8 +20,12 @@ module WXRuby3
|
|
|
20
20
|
'wxCursor::wxCursor(const wxImage &)',
|
|
21
21
|
'wxCursor::wxCursor(const char *const *)',
|
|
22
22
|
'wxCursor::wxCursor(const wxCursor &)'
|
|
23
|
-
spec.ignore 'wxCursor::wxCursor(const char
|
|
24
|
-
|
|
23
|
+
spec.ignore 'wxCursor::wxCursor(const char *const *)'
|
|
24
|
+
if Config.instance.wx_version >= '3.3.0'
|
|
25
|
+
spec.ignore 'wxCursor::wxCursor(const char[],int,int,int,int,const char[], const wxColour*, const wxColour*)'
|
|
26
|
+
else
|
|
27
|
+
spec.ignore 'wxCursor::wxCursor(const char[],int,int,int,int,const char[])'
|
|
28
|
+
end
|
|
25
29
|
# ignore stock object (see RubyStockObjects.i)
|
|
26
30
|
spec.ignore %w[wxSTANDARD_CURSOR wxHOURGLASS_CURSOR wxCROSS_CURSOR]
|
|
27
31
|
super
|
data/rakelib/lib/director/dc.rb
CHANGED
|
@@ -36,13 +36,8 @@ module WXRuby3
|
|
|
36
36
|
'wxDC::GetLogicalOrigin(wxCoord *,wxCoord *) const',
|
|
37
37
|
'wxDC::GetHandle'
|
|
38
38
|
]
|
|
39
|
-
# ignore Matrix Transformation methods until someone asks for them
|
|
40
|
-
# TODO : possibly wrap at a later time
|
|
41
|
-
spec.ignore 'wxDC::SetTransformMatrix',
|
|
42
|
-
'wxDC::GetTransformMatrix',
|
|
43
|
-
'wxDC::ResetTransformMatrix',
|
|
44
|
-
'wxDC::CanUseTransformMatrix'
|
|
45
39
|
spec.disable_proxies
|
|
40
|
+
spec.disown 'wxGraphicsContext *ctx'
|
|
46
41
|
spec.rename_for_ruby({
|
|
47
42
|
'GetDimensions' => 'wxDC::GetSize(wxCoord *, wxCoord *) const',
|
|
48
43
|
'GetDimensionsMM' => 'wxDC::GetSizeMM(wxCoord *, wxCoord *) const',
|