mirror of
https://github.com/processing/processing4.git
synced 2026-02-11 09:39:19 +01:00
the return of the renderer menu, and some fixes for classpath
This commit is contained in:
@@ -98,6 +98,9 @@ public class PdeEditor extends JFrame
|
||||
JMenuItem saveAsMenuItem;
|
||||
//JMenuItem beautifyMenuItem;
|
||||
|
||||
JRadioButtonMenuItem coreRendererItem;
|
||||
JRadioButtonMenuItem openglRendererItem;
|
||||
|
||||
//
|
||||
|
||||
boolean running;
|
||||
@@ -616,13 +619,49 @@ public class PdeEditor extends JFrame
|
||||
});
|
||||
menu.add(item);
|
||||
|
||||
//menu.add(newJMenuItem("Stop", 'T'));
|
||||
menu.add(new JMenuItem("Stop"));
|
||||
item = new JMenuItem("Stop");
|
||||
item.addActionListener(new ActionListener() {
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
handleStop();
|
||||
}
|
||||
});
|
||||
menu.add(item);
|
||||
|
||||
JMenu rendererMenu = new JMenu("Renderer");
|
||||
menu.add(rendererMenu);
|
||||
|
||||
coreRendererItem = new JRadioButtonMenuItem("Processing");
|
||||
rendererMenu.add(coreRendererItem);
|
||||
coreRendererItem.addItemListener(new ItemListener() {
|
||||
public void itemStateChanged(ItemEvent e) {
|
||||
//System.out.println("setting renderer");
|
||||
//openglRendererItem.setState(false);
|
||||
//coreRendererItem.setState(true);
|
||||
PdePreferences.set("renderer", "core");
|
||||
}
|
||||
});
|
||||
|
||||
openglRendererItem = new JRadioButtonMenuItem("OpenGL");
|
||||
rendererMenu.add(openglRendererItem);
|
||||
openglRendererItem.addItemListener(new ItemListener() {
|
||||
public void itemStateChanged(ItemEvent e) {
|
||||
//System.out.println("setting renderer");
|
||||
//openglRendererItem.setState(true);
|
||||
//coreRendererItem.setState(false);
|
||||
PdePreferences.set("renderer", "opengl");
|
||||
}
|
||||
});
|
||||
|
||||
ButtonGroup rendererGroup = new ButtonGroup();
|
||||
rendererGroup.add(coreRendererItem);
|
||||
rendererGroup.add(openglRendererItem);
|
||||
|
||||
boolean useOpenGL = PdePreferences.get("renderer").equals("opengl");
|
||||
coreRendererItem.setSelected(!useOpenGL);
|
||||
openglRendererItem.setSelected(useOpenGL);
|
||||
|
||||
//
|
||||
|
||||
menu.addSeparator();
|
||||
|
||||
//
|
||||
|
||||
@@ -177,10 +177,16 @@ public class PdePreprocessor {
|
||||
|
||||
} while (true);
|
||||
|
||||
int importsCount = imports.size();
|
||||
extraImports = new String[importsCount];
|
||||
extraImports = new String[imports.size()];
|
||||
imports.copyInto(extraImports);
|
||||
|
||||
// if using opengl, add it to the special imports
|
||||
if (PdePreferences.get("renderer").equals("opengl")) {
|
||||
extraImports = new String[imports.size() + 1];
|
||||
imports.copyInto(extraImports);
|
||||
extraImports[extraImports.length - 1] = "processing.opengl.*";
|
||||
}
|
||||
|
||||
/*
|
||||
if (codeFolderPackages != null) {
|
||||
extraImports = new String[importsCount + codeFolderPackages.length];
|
||||
@@ -340,9 +346,20 @@ public class PdePreprocessor {
|
||||
}
|
||||
}
|
||||
|
||||
boolean opengl = PdePreferences.get("renderer").equals("opengl");
|
||||
if (opengl) {
|
||||
out.println("import processing.opengl.*; ");
|
||||
}
|
||||
|
||||
if (programType < JAVA) {
|
||||
// open the class definition
|
||||
out.print("public class " + className + " extends PApplet {");
|
||||
out.print("public class " + className + " extends ");
|
||||
if (opengl) {
|
||||
out.print("PAppletGL");
|
||||
} else {
|
||||
out.print("PApplet");
|
||||
}
|
||||
out.print(" {");
|
||||
|
||||
if (programType == STATIC) {
|
||||
// now that size() and background() can go inside of draw()
|
||||
|
||||
@@ -1098,6 +1098,11 @@ public class PdeSketch {
|
||||
externalRuntime = true;
|
||||
}
|
||||
|
||||
// if running in opengl mode, this is gonna be external
|
||||
if (PdePreferences.get("renderer").equals("opengl")) {
|
||||
externalRuntime = true;
|
||||
}
|
||||
|
||||
// 2. run preproc on that code using the sugg class name
|
||||
// to create a single .java file and write to buildpath
|
||||
|
||||
|
||||
Reference in New Issue
Block a user