Class: Propane::App
- Inherits:
-
PApplet
- Object
- PApplet
- Propane::App
- Includes:
- FastNoise, Math, MathTool, HelperMethods
- 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:.
-
.surface ⇒ Object
readonly
Returns the value of attribute surface.
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, #proxy_java_fields, #save_strings, #thread, #web_to_color_array
Constructor Details
#initialize(options = {}, arguments = []) ⇒ App
Returns a new instance of App.
117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 |
# File 'lib/propane/app.rb', line 117 def initialize( = {}, arguments = []) # Guard against invalid input. proxy_java_fields # see helper_methods 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 = @surface = get_surface run_propane end |
Class Attribute Details
.arguments ⇒ Object
Handy getters and setters on the class go here:
84 85 86 |
# File 'lib/propane/app.rb', line 84 def arguments @arguments end |
.library_loader ⇒ Object
Handy getters and setters on the class go here:
84 85 86 |
# File 'lib/propane/app.rb', line 84 def library_loader @library_loader end |
.options ⇒ Object
Handy getters and setters on the class go here:
84 85 86 |
# File 'lib/propane/app.rb', line 84 def @options end |
.sketch_class ⇒ Object
Handy getters and setters on the class go here:
84 85 86 |
# File 'lib/propane/app.rb', line 84 def sketch_class @sketch_class end |
.surface ⇒ Object (readonly)
Returns the value of attribute surface.
85 86 87 |
# File 'lib/propane/app.rb', line 85 def surface @surface 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.
72 73 74 75 |
# File 'lib/propane/app.rb', line 72 def self.inherited(subclass) super(subclass) @sketch_class = subclass end |
.library_loaded?(library_name) ⇒ Boolean
92 93 94 |
# File 'lib/propane/app.rb', line 92 def library_loaded?(library_name) library_loader.library_loaded?(library_name) end |
.load_java_library(*args) ⇒ Object
100 101 102 |
# File 'lib/propane/app.rb', line 100 def load_java_library(*args) library_loader.load_java_library(*args) end |
.load_libraries(*args) ⇒ Object Also known as: load_library
86 87 88 89 |
# File 'lib/propane/app.rb', line 86 def load_libraries(*args) library_loader ||= LibraryLoader.new library_loader.load_library(*args) end |
.load_ruby_library(*args) ⇒ Object
96 97 98 |
# File 'lib/propane/app.rb', line 96 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.
106 107 108 109 110 |
# File 'lib/propane/app.rb', line 106 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
148 149 150 151 152 |
# File 'lib/propane/app.rb', line 148 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
113 114 115 |
# File 'lib/propane/app.rb', line 113 def library_loaded?(library_name) self.class.library_loaded?(library_name) end |
#post_initialize(_args) ⇒ Object
142 |
# File 'lib/propane/app.rb', line 142 def post_initialize(_args); end |
#size(*args) ⇒ Object
133 134 135 136 137 138 139 140 |
# File 'lib/propane/app.rb', line 133 def size(*args) w, h, mode = *args @width ||= w @height ||= h @render_mode ||= mode import_opengl if /opengl/.match?(mode) super(*args) end |
#sketch_class ⇒ Object
66 67 68 |
# File 'lib/propane/app.rb', line 66 def sketch_class self.class.sketch_class end |
#sketch_title(title) ⇒ Object
144 145 146 |
# File 'lib/propane/app.rb', line 144 def sketch_title(title) surface.set_title(title) end |