Skip to content

Commit c81cda7

Browse files
authored
Only set Newt window icons on Windows (#1398)
Wrap the NewtFactory.setWindowIcons(res) call in a platform check so icons are only set when PApplet.platform == PConstants.WINDOWS. This avoids invoking the icon-setting behavior on non-Windows platforms. Also reorganize and consolidate import statements (add missing AWT/Swing, JOGL and Processing imports) to fix compilation and include required classes.
1 parent 00cb623 commit c81cda7

File tree

1 file changed

+20
-39
lines changed

1 file changed

+20
-39
lines changed

core/src/processing/opengl/PSurfaceJOGL.java

Lines changed: 20 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -24,61 +24,42 @@
2424

2525
package processing.opengl;
2626

27-
import java.awt.Component;
28-
import java.awt.EventQueue;
29-
import java.awt.FileDialog;
30-
import java.awt.GraphicsDevice;
31-
import java.awt.GraphicsEnvironment;
32-
import java.awt.Point;
33-
import java.awt.Rectangle;
34-
import java.awt.image.BufferedImage;
35-
import java.awt.image.DataBufferInt;
36-
import java.io.File;
37-
import java.io.FileInputStream;
38-
import java.io.IOException;
39-
import java.io.InputStream;
40-
import java.net.URL;
41-
import java.nio.ByteBuffer;
42-
import java.util.ArrayList;
43-
import java.util.HashMap;
44-
import java.util.Map;
45-
46-
import javax.swing.ImageIcon;
47-
4827
import com.jogamp.common.util.IOUtil;
4928
import com.jogamp.common.util.IOUtil.ClassResources;
29+
import com.jogamp.nativewindow.MutableGraphicsConfiguration;
5030
import com.jogamp.nativewindow.NativeSurface;
5131
import com.jogamp.nativewindow.ScalableSurface;
32+
import com.jogamp.nativewindow.WindowClosingProtocol;
5233
import com.jogamp.nativewindow.util.Dimension;
5334
import com.jogamp.nativewindow.util.PixelFormat;
5435
import com.jogamp.nativewindow.util.PixelRectangle;
55-
import com.jogamp.opengl.GLAutoDrawable;
56-
import com.jogamp.opengl.GLCapabilities;
57-
import com.jogamp.opengl.GLEventListener;
58-
import com.jogamp.opengl.GLException;
59-
import com.jogamp.opengl.GLProfile;
60-
import com.jogamp.opengl.GLDrawableFactory;
61-
import com.jogamp.nativewindow.MutableGraphicsConfiguration;
62-
import com.jogamp.nativewindow.WindowClosingProtocol;
6336
import com.jogamp.newt.Display;
6437
import com.jogamp.newt.Display.PointerIcon;
6538
import com.jogamp.newt.NewtFactory;
6639
import com.jogamp.newt.Screen;
6740
import com.jogamp.newt.awt.NewtCanvasAWT;
6841
import com.jogamp.newt.opengl.GLWindow;
42+
import com.jogamp.opengl.*;
6943
import com.jogamp.opengl.util.FPSAnimator;
70-
71-
import processing.core.PApplet;
72-
import processing.core.PConstants;
73-
import processing.core.PGraphics;
74-
import processing.core.PImage;
75-
import processing.core.PSurface;
44+
import processing.awt.PImageAWT;
45+
import processing.awt.ShimAWT;
46+
import processing.core.*;
7647
import processing.event.KeyEvent;
7748
import processing.event.MouseEvent;
78-
import processing.awt.PImageAWT;
7949

80-
// have this removed by 4.0 final
81-
import processing.awt.ShimAWT;
50+
import javax.swing.*;
51+
import java.awt.*;
52+
import java.awt.image.BufferedImage;
53+
import java.awt.image.DataBufferInt;
54+
import java.io.File;
55+
import java.io.FileInputStream;
56+
import java.io.IOException;
57+
import java.io.InputStream;
58+
import java.net.URL;
59+
import java.nio.ByteBuffer;
60+
import java.util.ArrayList;
61+
import java.util.HashMap;
62+
import java.util.Map;
8263

8364

8465
public class PSurfaceJOGL implements PSurface {
@@ -489,7 +470,7 @@ protected void initIcons() {
489470
sketch.getClass().getClassLoader(),
490471
sketch.getClass());
491472
}
492-
NewtFactory.setWindowIcons(res);
473+
if (PApplet.platform == PConstants.WINDOWS) NewtFactory.setWindowIcons(res);
493474
}
494475

495476

0 commit comments

Comments
 (0)