Skip to content

Commit 55213aa

Browse files
authored
Fixes for DPI scaling. Mouse and select events now deliver GL surfac… (NASAWorldWind#262)
* 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. * Update for gluegen 9301bf1854 May 15 07:08:20 2023, jogl 900c35c6a4 May 15 06:47:22 2023 * Use DPI scaling to scale fonts rendered in the GLCanvas. * Update with gluegen/jogl code from 6/17/2023, gluegen commit 42bd110d9e, jogl commit 900c35c6a. Includes fix for jogl version of TextRenderer. Added Linux native jar files.
1 parent 62e8991 commit 55213aa

Some content is hidden

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

49 files changed

+908
-606
lines changed

gluegen-java-src.zip

4.23 MB
Binary file not shown.

gluegen-rt-natives-linux-amd64.jar

1.25 KB
Binary file not shown.
13.4 KB
Binary file not shown.

gluegen-rt.jar

20.3 KB
Binary file not shown.

gluegen.jar

892 KB
Binary file not shown.

jogl-all-natives-linux-amd64.jar

231 Bytes
Binary file not shown.

jogl-all-natives-windows-amd64.jar

45.8 KB
Binary file not shown.

jogl-all.jar

146 KB
Binary file not shown.

jogl-java-src.zip

24.1 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();

0 commit comments

Comments
 (0)