diff options
Diffstat (limited to 'assets/viz/1/quil/middleware.cljc')
-rw-r--r-- | assets/viz/1/quil/middleware.cljc | 144 |
1 files changed, 0 insertions, 144 deletions
diff --git a/assets/viz/1/quil/middleware.cljc b/assets/viz/1/quil/middleware.cljc deleted file mode 100644 index a8f5672..0000000 --- a/assets/viz/1/quil/middleware.cljc +++ /dev/null @@ -1,144 +0,0 @@ -(ns ^{:doc "Quil middleware."} - quil.middleware - (:require [quil.middlewares.fun-mode :as fun-mode] - #?(:clj [quil.middlewares.pause-on-error :as pause-on-error]) - [quil.middlewares.navigation-3d :as navigation-3d] - [quil.middlewares.navigation-2d :as navigation-2d] - )) - -(defn ^{:requires-bindings false - :category "Middleware" - :subcategory nil - :ns "quil.middleware" - :added "2.1.0"} - fun-mode - "Introduces function mode. Adds 'update' function which takes current - state and returns new state. Makes all other functions (setup, draw, - mouse-click, etc) state-aware. See wiki for more details." - [options] - (fun-mode/fun-mode options)) - -#?(:clj -(defn ^{:requires-bindings false - :category "Middleware" - :subcategory nil - :ns "quil.middleware" - :added "2.2.0"} - pause-on-error - "Pauses sketch if any of user-provided handlers throws error. - It allows to fix the error on the fly and continue sketch. - May be good alternative to default '500ms pause if exception' - behaviour." - [options] - (pause-on-error/pause-on-error options))) - -(defn ^{:requires-bindings false - :category "Middleware" - :subcategory nil - :ns "quil.middleware" - :added "2.2.0"} - navigation-3d - "Enables navigation in 3D space. Similar to how it is done in - shooters: WASD navigation, space is go up, drag mouse to look around. - This middleware requires fun-mode. - - - Navigation - - * Drag mouse to look around. You can change settings to bind - mouse-moved instead of mouse-dragged to look around. See - customization info below. - - * Keyboard: - * w - go forward - * s - go backward - * a - strafe left - * d - strafe right - * space - go up - * z - go down, can't bind to ctrl, limitation of Processing - - - Customization - - You can customize this middleware by providing map as - :navigation-3d option in defsketch/sketch. Map can have following - optional keys: - - :position - vector of 3 numbers, initial camera position. Default - is the same as in 'camera' function. - - :straight - vector of 3 numbers, direction you'll be looking at. - Default is [0 0 -1] (looking down). - - :up - vector of 3 numbers, 'up' direction. Default is [0 1 0]. - - :pixels-in-360 - number, mouse sensitivity. Defines how many pixels - you need to move/drag you mouse to rotate 360 degrees. - The less the number the more sensitive is mouse. - Default is 1000. - - :step-size - number, number of pixels you move on each key event (wasd). - Default is 20. - - :rotate-on - keyword, either :mouse-dragged or :mouse-moved. Specifies - on which mouse event camera should rotate. Default is - :mouse-dragged. - - - Accessing position information from sketch - - navigation-3d uses fun-mode under the hood so all position-related - information is stored in the state map. It means that you can access in - draw/update/any handler and modify it if you need to. Position - information is a map which is stored under :navigation-3d key in the - state map. Position consists of 3 values: :position, :straight and :up. - See \"Customization\" section above for more details. - - Usage example: - - (q/defsketch my-sketch - ... - :middleware [m/fun-mode m/navigation-3d]) - - See wiki article for more(?) details: - https://github.com/quil/quil/wiki/Navigation-3D" - [options] - (navigation-3d/navigation-3d options)) - -(defn ^{:requires-bindings false - :category "Middleware" - :subcategory nil - :ns "quil.middleware" - :added "2.2.6"} - navigation-2d - "Enables navigation over 2D sketch. Drag mouse to change the center of the - sketch and mouse wheel controls zoom. This middleware requires fun-mode. - - Customization - - You can customize this middleware by providing map as - :navigation-2d option in defsketch/sketch. Map can have following - optional keys: - - :position - vector of 2 numbers, x and y - center of the screen. - Default is width/2, height/2. - - :zoom - number indicating current zoom level. Default is 1. - - Accessing position information from sketch - - navigation-2d uses fun-mode under the hood so all position-related - information is stored in the state map. It means that you can access in - draw/update/any handler and modify it if you need to. Position - information is a map which is stored under :navigation-2d key in the - state map. Position consists of 2 values: :position and :zoom. - See \"Customization\" section above for more details. - - Usage example: - - (q/defsketch my-sketch - ... - :middleware [m/fun-mode m/navigation-2d]) -" - [options] - (navigation-2d/navigation-2d options)) |