Class: Propane::App
- Inherits:
-
PApplet
- Object
- PApplet
- Propane::App
- Includes:
- Math, MathTool, HelperMethods, Render
- Defined in:
- lib/propane/app.rb
Overview
All sketches extend this class
Class Attribute Summary collapse
-
.arguments ⇒ Object
Handy getters and setters on the class go here:.
-
.library_loader ⇒ Object
Handy getters and setters on the class go here:.
-
.options ⇒ Object
Handy getters and setters on the class go here:.
-
.sketch_class ⇒ Object
Handy getters and setters on the class go here:.
-
.title ⇒ Object
Handy getters and setters on the class go here:.
Class Method Summary collapse
-
.inherited(subclass) ⇒ Object
Keep track of what inherits from the Processing::App, because we're going to want to instantiate one.
- .library_loaded?(library_name) ⇒ Boolean
- .load_java_library(*args) ⇒ Object
- .load_libraries(*args) ⇒ Object (also: load_library)
- .load_ruby_library(*args) ⇒ Object
-
.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.
Instance Method Summary collapse
- #data_path(dat) ⇒ Object
-
#initialize(options = {}, arguments = []) ⇒ App
constructor
A new instance of App.
- #library_loaded?(library_name) ⇒ Boolean
- #post_initialize(_args) ⇒ Object
- #size(*args) ⇒ Object
- #sketch_class ⇒ Object
- #sketch_title(title) ⇒ Object
Methods included from HelperMethods
#blend_color, #buffer, #color, #dist, #find_method, #frame_rate, #hsb_color, #int_to_ruby_colors, #java_self, #kamera, #key, #key_pressed?, #lerp_color, #load_strings, #max, #min, #mouse_pressed?, #perspektiv, #save_strings, #thread, #web_to_color_array
Constructor Details
#initialize(options = {}, arguments = []) ⇒ App
Returns a new instance of App.
110 111 112 113 114 115 116 117 118 119 120 121 122 |
# File 'lib/propane/app.rb', line 110 def initialize( = {}, arguments = []) # Guard against invalid input. proxy_java_fields raise TypeError unless .is_a? Hash raise TypeError unless arguments.is_a? Array # Set up the sketch. super() post_initialize() Propane.app = self @arguments = arguments @options = run_propane end |
Class Attribute Details
.arguments ⇒ Object
Handy getters and setters on the class go here:
78 79 80 |
# File 'lib/propane/app.rb', line 78 def arguments @arguments end |
.library_loader ⇒ Object
Handy getters and setters on the class go here:
78 79 80 |
# File 'lib/propane/app.rb', line 78 def library_loader @library_loader end |
.options ⇒ Object
Handy getters and setters on the class go here:
78 79 80 |
# File 'lib/propane/app.rb', line 78 def @options end |
.sketch_class ⇒ Object
Handy getters and setters on the class go here:
78 79 80 |
# File 'lib/propane/app.rb', line 78 def sketch_class @sketch_class end |
.title ⇒ Object
Handy getters and setters on the class go here:
78 79 80 |
# File 'lib/propane/app.rb', line 78 def title @title 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.
66 67 68 69 |
# File 'lib/propane/app.rb', line 66 def self.inherited(subclass) super(subclass) @sketch_class = subclass end |
.library_loaded?(library_name) ⇒ Boolean
86 87 88 |
# File 'lib/propane/app.rb', line 86 def library_loaded?(library_name) library_loader.library_loaded?(library_name) end |
.load_java_library(*args) ⇒ Object
94 95 96 |
# File 'lib/propane/app.rb', line 94 def load_java_library(*args) library_loader.load_java_library(*args) end |
.load_libraries(*args) ⇒ Object Also known as: load_library
80 81 82 83 |
# File 'lib/propane/app.rb', line 80 def load_libraries(*args) library_loader ||= LibraryLoader.new library_loader.load_library(*args) end |
.load_ruby_library(*args) ⇒ Object
90 91 92 |
# File 'lib/propane/app.rb', line 90 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.
100 101 102 103 |
# File 'lib/propane/app.rb', line 100 def method_added(method_name) #:nodoc: return unless METHODS_TO_ALIAS.key?(method_name) alias_method METHODS_TO_ALIAS[method_name], method_name end |
Instance Method Details
#data_path(dat) ⇒ Object
140 141 142 143 144 |
# File 'lib/propane/app.rb', line 140 def data_path(dat) dat_root = File.join(SKETCH_ROOT, 'data') Dir.mkdir(dat_root) unless File.exist?(dat_root) File.join(dat_root, dat) end |
#library_loaded?(library_name) ⇒ Boolean
106 107 108 |
# File 'lib/propane/app.rb', line 106 def library_loaded?(library_name) self.class.library_loaded?(library_name) end |
#post_initialize(_args) ⇒ Object
133 134 |
# File 'lib/propane/app.rb', line 133 def post_initialize(_args) end |
#size(*args) ⇒ Object
124 125 126 127 128 129 130 131 |
# File 'lib/propane/app.rb', line 124 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
60 61 62 |
# File 'lib/propane/app.rb', line 60 def sketch_class self.class.sketch_class end |
#sketch_title(title) ⇒ Object
136 137 138 |
# File 'lib/propane/app.rb', line 136 def sketch_title(title) surface.set_title(title) end |