Skip to content

Commit c999244

Browse files
committed
Fixes for DPI scaling. Mouse and select events now deliver GL surface coordinate values instead of the AWT screen coordinates. Added Windows JOGL jar files that include sgothel/jogl#110 and sgothel/jogl#112. Noticed that some null pointer exceptions occurred during KMLViewer startup; added null pointer checks.
1 parent 62e8991 commit c999244

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+894
-605
lines changed

gluegen-java-src.zip

4.12 MB
Binary file not shown.
13.3 KB
Binary file not shown.

gluegen-rt.jar

4.77 KB
Binary file not shown.

gluegen.jar

869 KB
Binary file not shown.

jogl-all-natives-windows-amd64.jar

45.8 KB
Binary file not shown.

jogl-all.jar

92.9 KB
Binary file not shown.

jogl-java-src.zip

24 MB
Binary file not shown.

src/gov/nasa/worldwind/AbstractSceneController.java

Lines changed: 65 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -75,15 +75,15 @@ public abstract class AbstractSceneController extends WWObjectImpl implements Sc
7575
protected double frameTime;
7676
protected double pickTime;
7777
/**
78-
* The pick point in AWT screen coordinates, or <code>null</code> if the pick point is disabled. Initially
78+
* The pick point in GL surface screen coordinates, or <code>null</code> if the pick point is disabled. Initially
7979
* <code>null</code>.
8080
*/
81-
protected Point pickPoint = null;
81+
private Point pickPoint = null;
8282
/**
83-
* The pick rectangle in AWT screen coordinates, or <code>null</code> if the pick rectangle is disabled. Initially
83+
* The pick rectangle in GL surface screen coordinates, or <code>null</code> if the pick rectangle is disabled. Initially
8484
* <code>null</code>.
8585
*/
86-
protected Rectangle pickRect = null;
86+
private Rectangle pickRect = null;
8787
protected boolean deepPick = false;
8888
protected GpuResourceCache gpuResourceCache;
8989
protected TextRendererCache textRendererCache = new TextRendererCache();
@@ -111,15 +111,17 @@ public AbstractSceneController()
111111
this.setVerticalExaggeration(Configuration.getDoubleValue(AVKey.VERTICAL_EXAGGERATION, 1d));
112112
}
113113

114-
public void reinitialize()
114+
@Override
115+
public void reinitialize()
115116
{
116117
if (this.textRendererCache != null)
117118
this.textRendererCache.dispose();
118119
this.textRendererCache = new TextRendererCache();
119120
}
120121

121122
/** Releases resources associated with this scene controller. */
122-
public void dispose()
123+
@Override
124+
public void dispose()
123125
{
124126
if (this.lastPickedObjects != null)
125127
this.lastPickedObjects.clear();
@@ -136,12 +138,14 @@ public void dispose()
136138
this.textRendererCache.dispose();
137139
}
138140

139-
public GpuResourceCache getGpuResourceCache()
141+
@Override
142+
public GpuResourceCache getGpuResourceCache()
140143
{
141144
return this.gpuResourceCache;
142145
}
143146

144-
public void setGpuResourceCache(GpuResourceCache gpuResourceCache)
147+
@Override
148+
public void setGpuResourceCache(GpuResourceCache gpuResourceCache)
145149
{
146150
this.gpuResourceCache = gpuResourceCache;
147151
}
@@ -151,17 +155,20 @@ public TextRendererCache getTextRendererCache()
151155
return textRendererCache;
152156
}
153157

154-
public Model getModel()
158+
@Override
159+
public Model getModel()
155160
{
156161
return this.model;
157162
}
158163

159-
public View getView()
164+
@Override
165+
public View getView()
160166
{
161167
return this.view;
162168
}
163169

164-
public void setModel(Model model)
170+
@Override
171+
public void setModel(Model model)
165172
{
166173
if (this.model != null)
167174
this.model.removePropertyChangeListener(this);
@@ -173,7 +180,8 @@ public void setModel(Model model)
173180
this.firePropertyChange(AVKey.MODEL, oldModel, model);
174181
}
175182

176-
public void setView(View view)
183+
@Override
184+
public void setView(View view)
177185
{
178186
if (this.view != null)
179187
this.view.removePropertyChangeListener(this);
@@ -186,44 +194,51 @@ public void setView(View view)
186194
this.firePropertyChange(AVKey.VIEW, oldView, view);
187195
}
188196

189-
public void setVerticalExaggeration(double verticalExaggeration)
197+
@Override
198+
public void setVerticalExaggeration(double verticalExaggeration)
190199
{
191200
Double oldVE = this.verticalExaggeration;
192201
this.verticalExaggeration = verticalExaggeration;
193202
this.firePropertyChange(AVKey.VERTICAL_EXAGGERATION, oldVE, verticalExaggeration);
194203
}
195204

196-
public double getVerticalExaggeration()
205+
@Override
206+
public double getVerticalExaggeration()
197207
{
198208
return this.verticalExaggeration;
199209
}
200210

201211
/** {@inheritDoc} */
202-
public void setPickPoint(Point pickPoint)
212+
@Override
213+
public void setPickPoint(Point pickPoint)
203214
{
204-
this.pickPoint = pickPoint;
215+
this.pickPoint = pickPoint;
205216
}
206217

207218
/** {@inheritDoc} */
208-
public Point getPickPoint()
219+
@Override
220+
public Point getPickPoint()
209221
{
210222
return this.pickPoint;
211223
}
212224

213225
/** {@inheritDoc} */
214-
public void setPickRectangle(Rectangle pickRect)
226+
@Override
227+
public void setPickRectangle(Rectangle pickRect)
215228
{
216229
this.pickRect = pickRect;
217230
}
218231

219232
/** {@inheritDoc} */
220-
public Rectangle getPickRectangle()
233+
@Override
234+
public Rectangle getPickRectangle()
221235
{
222236
return this.pickRect;
223237
}
224238

225239
/** {@inheritDoc} */
226-
public PickedObjectList getPickedObjectList()
240+
@Override
241+
public PickedObjectList getPickedObjectList()
227242
{
228243
return this.lastPickedObjects;
229244
}
@@ -234,42 +249,50 @@ protected void setPickedObjectList(PickedObjectList pol)
234249
}
235250

236251
/** {@inheritDoc} */
237-
public PickedObjectList getObjectsInPickRectangle()
252+
@Override
253+
public PickedObjectList getObjectsInPickRectangle()
238254
{
239255
return this.lastObjectsInPickRect;
240256
}
241257

242-
public void setDeepPickEnabled(boolean tf)
258+
@Override
259+
public void setDeepPickEnabled(boolean tf)
243260
{
244261
this.deepPick = tf;
245262
}
246263

247-
public boolean isDeepPickEnabled()
264+
@Override
265+
public boolean isDeepPickEnabled()
248266
{
249267
return this.deepPick;
250268
}
251269

252-
public SectorGeometryList getTerrain()
270+
@Override
271+
public SectorGeometryList getTerrain()
253272
{
254273
return this.dc.getSurfaceGeometry();
255274
}
256275

257-
public DrawContext getDrawContext()
276+
@Override
277+
public DrawContext getDrawContext()
258278
{
259279
return this.dc;
260280
}
261281

262-
public double getFramesPerSecond()
282+
@Override
283+
public double getFramesPerSecond()
263284
{
264285
return this.framesPerSecond;
265286
}
266287

267-
public double getFrameTime()
288+
@Override
289+
public double getFrameTime()
268290
{
269291
return this.frameTime;
270292
}
271293

272-
public void setPerFrameStatisticsKeys(Set<String> keys)
294+
@Override
295+
public void setPerFrameStatisticsKeys(Set<String> keys)
273296
{
274297
this.perFrameStatisticsKeys.clear();
275298
if (keys == null)
@@ -282,34 +305,40 @@ public void setPerFrameStatisticsKeys(Set<String> keys)
282305
}
283306
}
284307

285-
public Collection<PerformanceStatistic> getPerFrameStatistics()
308+
@Override
309+
public Collection<PerformanceStatistic> getPerFrameStatistics()
286310
{
287311
return perFrameStatistics;
288312
}
289313

290-
public Collection<Throwable> getRenderingExceptions()
314+
@Override
315+
public Collection<Throwable> getRenderingExceptions()
291316
{
292317
return this.renderingExceptions;
293318
}
294319

295-
public ScreenCreditController getScreenCreditController()
320+
@Override
321+
public ScreenCreditController getScreenCreditController()
296322
{
297323
return screenCreditController;
298324
}
299325

300-
public void setScreenCreditController(ScreenCreditController screenCreditController)
326+
@Override
327+
public void setScreenCreditController(ScreenCreditController screenCreditController)
301328
{
302329
this.screenCreditController = screenCreditController;
303330
}
304331

305332
/** {@inheritDoc} */
306-
public GLRuntimeCapabilities getGLRuntimeCapabilities()
333+
@Override
334+
public GLRuntimeCapabilities getGLRuntimeCapabilities()
307335
{
308336
return this.glRuntimeCaps;
309337
}
310338

311339
/** {@inheritDoc} */
312-
public void setGLRuntimeCapabilities(GLRuntimeCapabilities capabilities)
340+
@Override
341+
public void setGLRuntimeCapabilities(GLRuntimeCapabilities capabilities)
313342
{
314343
if (capabilities == null)
315344
{
@@ -411,7 +440,8 @@ public void setDeferOrderedRendering(boolean deferOrderedRendering)
411440
this.deferOrderedRendering = deferOrderedRendering;
412441
}
413442

414-
public int repaint()
443+
@Override
444+
public int repaint()
415445
{
416446
this.frameTime = System.currentTimeMillis();
417447

@@ -994,7 +1024,6 @@ protected void draw(DrawContext dc)
9941024
*
9951025
* @param dc the relevant <code>DrawContext</code>
9961026
*/
997-
@SuppressWarnings({"UNUSED_SYMBOL", "UnusedDeclaration"})
9981027
protected void checkGLErrors(DrawContext dc)
9991028
{
10001029
GL gl = dc.getGL();

src/gov/nasa/worldwind/SceneController.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ public interface SceneController extends WWObject, Disposable
128128
double getFrameTime();
129129

130130
/**
131-
* Specifies the current pick point in AWT screen coordinates, or <code>null</code> to indicate that there is no
131+
* Specifies the current pick point in GL surface screen coordinates, or <code>null</code> to indicate that there is no
132132
* pick point. Each frame, this scene controller determines which objects are drawn at the pick point and places
133133
* them in a PickedObjectList. This list can be accessed by calling {@link #getPickedObjectList()}.
134134
* <p>
@@ -140,7 +140,7 @@ public interface SceneController extends WWObject, Disposable
140140
void setPickPoint(Point pickPoint);
141141

142142
/**
143-
* Returns the current pick point in AWT screen coordinates.
143+
* Returns the current pick point in GL surface coordinates.
144144
*
145145
* @return the current pick point, or <code>null</code> if no pick point is current.
146146
*
@@ -149,7 +149,7 @@ public interface SceneController extends WWObject, Disposable
149149
Point getPickPoint();
150150

151151
/**
152-
* Specifies the current pick rectangle in AWT screen coordinates, or <code>null</code> to indicate that there is no
152+
* Specifies the current pick rectangle in GL surface coordinates, or <code>null</code> to indicate that there is no
153153
* pick rectangle. Each frame, this scene controller determines which objects intersect the pick rectangle and
154154
* places them in a PickedObjectList. This list can be accessed by calling {@link #getObjectsInPickRectangle()}.
155155
* <p>
@@ -161,7 +161,7 @@ public interface SceneController extends WWObject, Disposable
161161
void setPickRectangle(Rectangle pickRect);
162162

163163
/**
164-
* Returns the current pick rectangle in AWT screen coordinates.
164+
* Returns the current pick rectangle in GL surface coordinates.
165165
*
166166
* @return the current pick rectangle, or <code>null</code> if no pick rectangle is current.
167167
*

0 commit comments

Comments
 (0)