/** * Listens for mouse release and controls aspects of the renderer. A release in the upper left * corner toggles {@link Renderer#tableMode}. A release in the upper right corner toggle * visibility of the {@link Material#table}display. When true, the current material table is * displayed in the upper left corner of the window. Position of the mouse determines current * material. A release in the lower right toggles {@link Renderer#showMesh} * * @param event Event * @param x current x coordinate * @param y current y coordinate * @return true */ public boolean mouseUp(int x, int y) { Renderer.setDragging(false); if (x < 35 && y < 35) { Renderer.tableMode = !Renderer.tableMode; } if (x > W - 35 && y < 35) { seeMaterial = !seeMaterial; renderer.bufferg = !renderer.bufferg; damage(); } if (x > W - 35 && y > H - 35) { renderer.showMesh = !renderer.showMesh; damage(); } return true; }
/** * Handles commands received (generally for unicode commands from the KeyListener, but also for * commands from any other sources, like buttons from webpages) : various default control keys to * modify render style (Use CTRL + key). * * <p>'e' - toggles {@link Renderer#showMesh}, that just displays the shapes as mesh wireframes * <br> * 'l' - toggles {@link Renderer#getOutline()}which produces a sketch-line drawing rendition of * the scene <br> * 'm' - toggles {@link Renderer#seeMesh}which determines mesh visibility <br> * 't' - toggles global texture manipulation method (MIP on/off) (@link Texture#useMIP) * * <p> * * @param event Event * @param key value of the key released * @return true if one of the above keys was just released, false otherwise. */ public boolean processCommand(int key) { switch (key) { case 'e' - ('a' - 1): renderer.showMesh = !renderer.showMesh; damage(); return true; case 'l' - ('a' - 1): renderer.outline(-renderer.getOutline()); damage(); return true; case 'm' - ('a' - 1): renderer.seeMesh = !renderer.seeMesh; damage(); return true; case 't' - ('a' - 1): Texture.useMIP = !Texture.useMIP; damage(); return true; } return false; }