From 6ed2b23a9ca77dabd8885fcb23d12927a88e8cd3 Mon Sep 17 00:00:00 2001 From: codeanticode Date: Mon, 25 Mar 2013 09:15:28 -0400 Subject: [PATCH] Fixes issue #1659 --- core/src/processing/opengl/PShapeOpenGL.java | 33 +++++++++++++------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/core/src/processing/opengl/PShapeOpenGL.java b/core/src/processing/opengl/PShapeOpenGL.java index e615d04dd..92a59b6ca 100644 --- a/core/src/processing/opengl/PShapeOpenGL.java +++ b/core/src/processing/opengl/PShapeOpenGL.java @@ -3901,31 +3901,42 @@ public class PShapeOpenGL extends PShape { // Style handling + @Override + public void disableStyle() { + if (openShape) { + PGraphics.showWarning(INSIDE_BEGIN_END_ERROR, "disableStyle()"); + return; + } + + super.disableStyle(); + } + + // Applies the styles of g. @Override protected void styles(PGraphics g) { if (g instanceof PGraphicsOpenGL) { if (stroke) { - stroke(g.strokeColor); - strokeWeight(g.strokeWeight); + setStroke(g.strokeColor); + setStrokeWeight(g.strokeWeight); // These two don't to nothing probably: - strokeCap(g.strokeCap); - strokeJoin(g.strokeJoin); + setStrokeCap(g.strokeCap); + setStrokeJoin(g.strokeJoin); } else { - noStroke(); + setStroke(false); } if (fill) { - fill(g.fillColor); + setFill(g.fillColor); } else { - noFill(); + setFill(false); } - ambient(g.ambientColor); - specular(g.specularColor); - emissive(g.emissiveColor); - shininess(g.shininess); + setAmbient(g.ambientColor); + setSpecular(g.specularColor); + setEmissive(g.emissiveColor); + setShininess(g.shininess); // What about other style parameters, such as rectMode, etc? // These should force a tessellation update, same as stroke