@@ -265,17 +265,16 @@ void GlobePlugin::setupControls()
265
265
266
266
std::string imgDir = QDir::cleanPath ( QgsApplication::pkgDataPath () + " /globe/gui" ).toStdString ();
267
267
268
- // MOVE CONTROLS
269
-
268
+ // MOVE CONTROLS
270
269
// Horizontal container
271
270
HBox* moveHControls = new HBox ();
272
271
moveHControls->setFrame ( new RoundedFrame () );
273
272
// moveHControls->getFrame()->setBackColor(0.5,0.5,0.5,0.1);
274
273
moveHControls->setMargin ( 10 );
275
- moveHControls->setSpacing ( 15 );
274
+ moveHControls->setSpacing ( 10 );
276
275
moveHControls->setVertAlign ( Control::ALIGN_CENTER );
277
276
moveHControls->setHorizAlign ( Control::ALIGN_CENTER );
278
- moveHControls->setPosition ( 20 , 40 );
277
+ moveHControls->setPosition ( 5 , 35 );
279
278
280
279
// Move Left
281
280
osg::Image* moveLeftImg = osgDB::readImageFile ( imgDir + " /move-left.png" );
@@ -287,16 +286,21 @@ void GlobePlugin::setupControls()
287
286
ImageControl* moveRight = new ImageControl ( moveRightImg );
288
287
moveRight->addEventHandler ( new MyClickHandler );
289
288
289
+ // Move Reset
290
+ osg::Image* moveResetImg = osgDB::readImageFile ( imgDir + " /move-reset.png" );
291
+ ImageControl* moveReset = new ImageControl ( moveResetImg );
292
+ moveReset->addEventHandler ( new MyClickHandler );
293
+
290
294
291
295
// Vertical container
292
296
VBox* moveVControls = new VBox ();
293
297
moveVControls->setFrame ( new RoundedFrame () );
294
298
// moveVControls->getFrame()->setBackColor(0.5,0.5,0.5,0.1);
295
299
moveVControls->setMargin ( 10 );
296
- moveVControls->setSpacing ( 15 );
300
+ moveVControls->setSpacing ( 30 );
297
301
moveVControls->setVertAlign ( Control::ALIGN_CENTER );
298
302
moveVControls->setHorizAlign ( Control::ALIGN_CENTER );
299
- moveVControls->setPosition ( 40 , 20 );
303
+ moveVControls->setPosition ( 40 , 5 );
300
304
301
305
// Move Up
302
306
osg::Image* moveUpImg = osgDB::readImageFile ( imgDir + " /move-up.png" );
@@ -310,15 +314,84 @@ void GlobePlugin::setupControls()
310
314
311
315
// add controls to moveControls group
312
316
moveHControls->addControl ( moveLeft );
317
+ moveHControls->addControl ( moveReset );
313
318
moveHControls->addControl ( moveRight );
314
319
moveVControls->addControl ( moveUp );
315
320
moveVControls->addControl ( moveDown );
316
321
317
- // END MOVE CONTROLS
322
+ // END MOVE CONTROLS
323
+
324
+ // ROTATE CONTROLS
325
+ // Horizontal container
326
+ HBox* rotateControls = new HBox ();
327
+ rotateControls->setFrame ( new RoundedFrame () );
328
+ // rotateControls->getFrame()->setBackColor(0.5,0.5,0.5,0.1);
329
+ rotateControls->setMargin ( 10 );
330
+ rotateControls->setSpacing ( 10 );
331
+ rotateControls->setVertAlign ( Control::ALIGN_CENTER );
332
+ rotateControls->setHorizAlign ( Control::ALIGN_CENTER );
333
+ rotateControls->setPosition ( 5 , 90 );
334
+
335
+ // Rotate CCW
336
+ osg::Image* rotateCCWImg = osgDB::readImageFile ( imgDir + " /rotate-ccw.png" );
337
+ ImageControl* rotateCCW = new ImageControl ( rotateCCWImg );
338
+ rotateCCW->addEventHandler ( new MyClickHandler );
339
+
340
+ // Rotate CW
341
+ osg::Image* rotateCWImg = osgDB::readImageFile ( imgDir + " /rotate-cw.png" );
342
+ ImageControl* rotateCW = new ImageControl ( rotateCWImg );
343
+ rotateCW->addEventHandler ( new MyClickHandler );
344
+
345
+ // Rotate Reset
346
+ osg::Image* rotateResetImg = osgDB::readImageFile ( imgDir + " /rotate-reset.png" );
347
+ ImageControl* rotateReset = new ImageControl ( rotateResetImg );
348
+ rotateReset->addEventHandler ( new MyClickHandler );
349
+
350
+ // add controls to moveControls group
351
+ rotateControls->addControl ( rotateCCW );
352
+ rotateControls->addControl ( rotateReset );
353
+ rotateControls->addControl ( rotateCW );
354
+
355
+ // END ROTATE CONTROLS
356
+
357
+ // ZOOM CONTROLS
358
+ // Vertical container
359
+ VBox* zoomControls = new VBox ();
360
+ zoomControls->setFrame ( new RoundedFrame () );
361
+ // zoomControls->getFrame()->setBackColor(0.5,0.5,0.5,0.1);
362
+ zoomControls->setMargin ( 10 );
363
+ zoomControls->setSpacing ( 5 );
364
+ zoomControls->setVertAlign ( Control::ALIGN_CENTER );
365
+ zoomControls->setHorizAlign ( Control::ALIGN_CENTER );
366
+ zoomControls->setPosition ( 40 , 120 );
367
+
368
+ // Zoom In
369
+ osg::Image* zoomInImg = osgDB::readImageFile ( imgDir + " /zoom-in.png" );
370
+ ImageControl* zoomIn = new ImageControl ( zoomInImg );
371
+ zoomIn->addEventHandler ( new MyClickHandler );
372
+
373
+ // Zoom Out
374
+ osg::Image* zoomOutImg = osgDB::readImageFile ( imgDir + " /zoom-out.png" );
375
+ ImageControl* zoomOut = new ImageControl ( zoomOutImg );
376
+ zoomOut->addEventHandler ( new MyClickHandler );
377
+
378
+ // Zoom Reset
379
+ osg::Image* zoomResetImg = osgDB::readImageFile ( imgDir + " /zoom-reset.png" );
380
+ ImageControl* zoomReset = new ImageControl ( zoomResetImg );
381
+ zoomReset->addEventHandler ( new MyClickHandler );
382
+
383
+ // add controls to moveControls group
384
+ zoomControls->addControl ( zoomIn );
385
+ zoomControls->addControl ( zoomReset );
386
+ zoomControls->addControl ( zoomOut );
387
+
388
+ // END ZOOM CONTROLS
318
389
319
390
// add controls groups to canavas
320
- mControlCanvas ->addControl ( moveHControls );
321
391
mControlCanvas ->addControl ( moveVControls );
392
+ mControlCanvas ->addControl ( moveHControls );
393
+ mControlCanvas ->addControl ( rotateControls );
394
+ mControlCanvas ->addControl ( zoomControls );
322
395
323
396
}
324
397
0 commit comments