From 9e7d08a2f0f93ad4748caec6ac191daa2fedd98c Mon Sep 17 00:00:00 2001 From: x37v Date: Tue, 16 Dec 2008 02:41:33 -0800 Subject: [PATCH] exposed "screen.h" (ViewPort) in the swig interface, ignored some of the defines in there, updated the list classes to be a little more clean, but added another one that actually lists a lot more data, i figure we should ditch list_classes.sh but... haven't done it yet. --- bindings/freej.i | 11 +++++++++++ bindings/ruby/list_classes.rb | 35 +++++++++++++++++++++++++++++++++++ bindings/ruby/list_classes.sh | 5 +---- 3 files changed, 47 insertions(+), 4 deletions(-) create mode 100755 bindings/ruby/list_classes.rb diff --git a/bindings/freej.i b/bindings/freej.i index 2b3c4707..f48b90d5 100644 --- a/bindings/freej.i +++ b/bindings/freej.i @@ -13,6 +13,7 @@ #include "mouse_ctrl.h" #include "wiimote_ctrl.h" #include "osc_ctrl.h" +#include "screen.h" %} //ditch some of the defines we have that don't need to be exposed to the user @@ -21,6 +22,15 @@ %ignore MAX_COMPLETION; %ignore MAX_HEIGHT; %ignore MAX_WIDTH; +//from screen.h +%ignore rchan; +%ignore red_bitmask; +%ignore bchan; +%ignore blue_bitmask; +%ignore gchan; +%ignore green_bitmask; +%ignore achan; +%ignore alpha_bitmask; %immutable layers_description; %immutable Parameter::description; @@ -67,6 +77,7 @@ freej_entry_typemap_in(Encoder); %include "freej.h" %include "jutils.h" %include "context.h" +%include "screen.h" %include "linklist.h" %template(EntryLinkList) Linklist; diff --git a/bindings/ruby/list_classes.rb b/bindings/ruby/list_classes.rb new file mode 100755 index 00000000..93455c71 --- /dev/null +++ b/bindings/ruby/list_classes.rb @@ -0,0 +1,35 @@ +#!/usr/bin/ruby1.9 +require '.libs/Freej' + +puts "Freej class methods:" +Freej.methods(false).sort.each do |m| + puts "\t#{m.to_s}" +end + +defines = Freej.constants.select{|x| Freej.const_get(x).kind_of? Fixnum}.sort +if defines.size > 0 + puts "Freej Defines:" + defines.each do |c| + puts "\t #{c.to_s}" + end +end + +puts "Freej Classes:" +Freej.constants.select{|x| Freej.const_get(x).kind_of? Class}.sort.each do |c| + sc = Freej.const_get(c) + puts "\t #{sc.to_s}" + m = sc.methods(false) + if m.size > 0 + puts "\t\t class methods:" + m.sort.each do |im| + puts "\t\t\t #{im.to_s}" + end + end + m = sc.instance_methods(false) + if m.size > 0 + puts "\t\t instance methods:" + m.sort.each do |im| + puts "\t\t\t #{im.to_s}" + end + end +end diff --git a/bindings/ruby/list_classes.sh b/bindings/ruby/list_classes.sh index 9d16740b..a84ae834 100755 --- a/bindings/ruby/list_classes.sh +++ b/bindings/ruby/list_classes.sh @@ -1,5 +1,2 @@ #!/bin/sh -cd .libs -ruby1.9 -e "require 'Freej'; puts Freej::constants.sort.join(\"\n\")" -cd - - +ruby1.9 -I.libs -e "require 'Freej'; puts Freej::constants.sort.join(\"\n\")"