Class: Processing::App
- Inherits:
-
PApplet
- Object
- PApplet
- Processing::App
show all
- Includes:
- Math, MathTool, HelperMethods
- Defined in:
- lib/jruby_art/app.rb
Overview
All sketches extend this class
Class Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
#blend_color, #buffer, #color, #dist, #find_method, #frame_rate, #grid, #java_self, #kamera, #key, #key_pressed?, #lerp_color, #load_strings, #max, #min, #mouse_pressed?, #proxy_java_fields, #save_strings, #sketch_path, #thread
Constructor Details
#initialize(options = {}) ⇒ App
Since processing-3.0 you should prefer setting the sketch width and height and renderer using the size method in the settings loop of the sketch (as with vanilla processing) but is hidden see created java. Options are no longer relevant, define post_initialize method to use custom options (see Sandi Metz POODR)
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
|
# File 'lib/jruby_art/app.rb', line 99
def initialize(options = {})
super()
post_initialize(options)
$app = self
proxy_java_fields
mix_proxy_into_inner_classes
java.lang.Thread.default_uncaught_exception_handler = proc do |_thread_, exception|
puts(exception.class.to_s)
puts(exception.message)
puts(exception.backtrace.map { |trace| "\t#{trace}" })
close
end
run_sketch
end
|
Class Attribute Details
.library_loader ⇒ Object
Handy getters and setters on the class go here:
61
62
63
|
# File 'lib/jruby_art/app.rb', line 61
def library_loader
@library_loader
end
|
.sketch_class ⇒ Object
Handy getters and setters on the class go here:
61
62
63
|
# File 'lib/jruby_art/app.rb', line 61
def sketch_class
@sketch_class
end
|
Class Method Details
.inherited(subclass) ⇒ Object
Keep track of what inherits from the Processing::App, because we’re going to want to instantiate one.
54
55
56
57
|
# File 'lib/jruby_art/app.rb', line 54
def self.inherited(subclass)
super(subclass)
@sketch_class = subclass
end
|
.library_loaded?(library_name) ⇒ Boolean
69
70
71
|
# File 'lib/jruby_art/app.rb', line 69
def library_loaded?(library_name)
library_loader.library_loaded?(library_name)
end
|
.load_java_library(*args) ⇒ Object
77
78
79
|
# File 'lib/jruby_art/app.rb', line 77
def load_java_library(*args)
library_loader.load_java_library(*args)
end
|
.load_libraries(*args) ⇒ Object
Also known as:
load_library
63
64
65
66
|
# File 'lib/jruby_art/app.rb', line 63
def load_libraries(*args)
library_loader ||= LibraryLoader.new
library_loader.load_library(*args)
end
|
.load_ruby_library(*args) ⇒ Object
73
74
75
|
# File 'lib/jruby_art/app.rb', line 73
def load_ruby_library(*args)
library_loader.load_ruby_library(*args)
end
|
.method_added(method_name) ⇒ Object
When certain special methods get added to the sketch, we need to let Processing call them by their expected Java names.
83
84
85
86
|
# File 'lib/jruby_art/app.rb', line 83
def method_added(method_name)
return unless METHODS_TO_ALIAS.key?(method_name)
alias_method METHODS_TO_ALIAS[method_name], method_name
end
|
Instance Method Details
#close ⇒ Object
Close and shutter a running sketch. But don’t exit. way of disposing of sketch window…
147
148
149
150
151
152
|
# File 'lib/jruby_art/app.rb', line 147
def close
control_panel.remove if respond_to?(:control_panel)
surface.stopThread
surface.setVisible(false) if surface.isStopped()
dispose
end
|
#exit ⇒ Object
154
155
156
157
|
# File 'lib/jruby_art/app.rb', line 154
def exit
control_panel.remove if respond_to?(:control_panel)
super()
end
|
#library_loaded?(library_name) ⇒ Boolean
89
90
91
|
# File 'lib/jruby_art/app.rb', line 89
def library_loaded?(library_name)
self.class.library_loaded?(library_name)
end
|
#on_top(arg = true) ⇒ Object
136
137
138
|
# File 'lib/jruby_art/app.rb', line 136
def on_top(arg = true)
surface.set_always_on_top(arg)
end
|
#post_initialize(_args) ⇒ Object
140
141
142
|
# File 'lib/jruby_art/app.rb', line 140
def post_initialize(_args)
nil
end
|
#resizable(arg = true) ⇒ Object
132
133
134
|
# File 'lib/jruby_art/app.rb', line 132
def resizable(arg = true)
surface.set_resizable(arg)
end
|
#size(*args) ⇒ Object
115
116
117
118
119
120
121
122
|
# File 'lib/jruby_art/app.rb', line 115
def size(*args)
w, h, mode = *args
@width ||= w
@height ||= h
@render_mode ||= mode
import_opengl if /opengl/ =~ mode
super(*args)
end
|
#sketch_class ⇒ Object
48
49
50
|
# File 'lib/jruby_art/app.rb', line 48
def sketch_class
self.class.sketch_class
end
|
#sketch_size(x, y) ⇒ Object
128
129
130
|
# File 'lib/jruby_art/app.rb', line 128
def sketch_size(x, y)
surface.set_size(x, y)
end
|
#sketch_title(title) ⇒ Object
124
125
126
|
# File 'lib/jruby_art/app.rb', line 124
def sketch_title(title)
surface.set_title(title)
end
|