Moire¶
The official GUI for Artipixoids! project.
It is integrating natively with Xentica framework, but you may also use it to visualize your own step-by-step simulations.
The engine is dealing nothing with rendering, it’s relying fully on frames rendered with your simulation. So, you should manually implement the stuff like zooming or scrolling, and bind the actions to keyboard/mouse/etc events.
The only thing Moire doing right now, is keeping the rate of your rendered frames, speeding simulation up/down as necessary. Also, system info dialog is included, showing current timestep, frames/steps per second and simulation speed.
Main App (moire.main)¶
Main module containing the base class for Moire GUI.
All Moire apps should be ran using GUI
class. See the example below.
-
class
moire.main.
GUI
(**kwargs)¶ Bases:
object
Main class for moire GUI.
Moire apps should be ran with it in following way:
runnable = YourRunnable() gui = moire.GUI(runnable=runnable) gui.run()
The engine is fully relying on your custom runnable class. It should implement a number of features like perform a simulation step, render frame etc. See the detailed example in the official NoiseTV example.
Parameters: runnable – Runnable class, implementing all necessary features. -
build
()¶ Prepare GUI for running.
-
-
class
moire.main.
MainEngine
(app, *args, **kwargs)¶ Bases:
object
Class incapsulating main Moire engine functionality.
Parameters: app – GUI
class instance.-
background
= <ObjectProperty object>¶ Kivy property containing
Rectangle
with rendered frames.
-
exit_app
()¶ Exit the app in convenient way.
-
key_down
(key)¶ Emulate key down.
-
prepare
()¶ Do main preparations before app run.
-
runnable
= <ObjectProperty object>¶ Kivy property containing runnable class.
-
update
(_dt)¶ Update the whole app, while keeping the frame rate.
-
update_sysinfo
()¶ Update System Info widget with actual data.
-
viewport
= <ObjectProperty object>¶ Kivy property containing rendered frames as
Texture
.
-
-
class
moire.main.
ObjectProperty
¶ Bases:
object