Browse Source

Adjust surface selection commands to work well with the ScaleWidget

master
Krisjanis Rijnieks 9 years ago
parent
commit
2a7c9e8481
  1. 70
      example/bin/data/defaultSurfaces.xml
  2. 4
      src/Commands/SelNextSurfaceCmd.cpp
  3. 1
      src/Commands/SelNextSurfaceCmd.h
  4. 4
      src/Commands/SelPrevSurfaceCmd.cpp
  5. 1
      src/Commands/SelPrevSurfaceCmd.h
  6. 4
      src/Commands/SelSurfaceCmd.cpp
  7. 1
      src/Commands/SelSurfaceCmd.h

70
example/bin/data/defaultSurfaces.xml

@ -1,17 +1,17 @@
<surfaces> <surfaces>
<surface> <surface type="0">
<vertices> <vertices>
<vertex> <vertex>
<x>97.709846497</x> <x>144.596435547</x>
<y>339.636596680</y> <y>350.618133545</y>
</vertex> </vertex>
<vertex> <vertex>
<x>306.630920410</x> <x>334.612976074</x>
<y>105.926849365</y> <y>138.055999756</y>
</vertex> </vertex>
<vertex> <vertex>
<x>41.000000000</x> <x>93.018066406</x>
<y>74.000000000</y> <y>109.018371582</y>
</vertex> </vertex>
</vertices> </vertices>
<texCoords> <texCoords>
@ -33,23 +33,23 @@
<source-name>Custom FBO Source</source-name> <source-name>Custom FBO Source</source-name>
</source> </source>
</surface> </surface>
<surface> <surface type="1">
<vertices> <vertices>
<vertex> <vertex>
<x>306.630920410</x> <x>370.015960693</x>
<y>105.926849365</y> <y>71.820503235</y>
</vertex> </vertex>
<vertex> <vertex>
<x>368.000000000</x> <x>426.714202881</x>
<y>177.000000000</y> <y>137.484405518</y>
</vertex> </vertex>
<vertex> <vertex>
<x>344.000000000</x> <x>404.540893555</x>
<y>299.000000000</y> <y>250.199127197</y>
</vertex> </vertex>
<vertex> <vertex>
<x>97.709846497</x> <x>176.995574951</x>
<y>339.636596680</y> <y>287.742950439</y>
</vertex> </vertex>
</vertices> </vertices>
<texCoords> <texCoords>
@ -78,43 +78,43 @@
<perspectiveWarping>1</perspectiveWarping> <perspectiveWarping>1</perspectiveWarping>
</properties> </properties>
</surface> </surface>
<surface> <surface type="2">
<vertices> <vertices>
<vertex> <vertex>
<x>368.000000000</x> <x>429.168884277</x>
<y>177.000000000</y> <y>232.234344482</y>
</vertex> </vertex>
<vertex> <vertex>
<x>523.000000000</x> <x>493.644958496</x>
<y>144.000000000</y> <y>218.507308960</y>
</vertex> </vertex>
<vertex> <vertex>
<x>714.000000000</x> <x>573.095703125</x>
<y>143.000000000</y> <y>218.091369629</y>
</vertex> </vertex>
<vertex> <vertex>
<x>344.000000000</x> <x>419.185028076</x>
<y>299.000000000</y> <y>282.983367920</y>
</vertex> </vertex>
<vertex> <vertex>
<x>504.000000000</x> <x>485.740966797</x>
<y>304.000000000</y> <y>285.063232422</y>
</vertex> </vertex>
<vertex> <vertex>
<x>721.000000000</x> <x>576.008056641</x>
<y>279.000000000</y> <y>274.663574219</y>
</vertex> </vertex>
<vertex> <vertex>
<x>373.000000000</x> <x>431.248046875</x>
<y>398.000000000</y> <y>324.164886475</y>
</vertex> </vertex>
<vertex> <vertex>
<x>550.000000000</x> <x>504.876403809</x>
<y>407.000000000</y> <y>327.908752441</y>
</vertex> </vertex>
<vertex> <vertex>
<x>759.000000000</x> <x>591.815185547</x>
<y>365.000000000</y> <y>310.437927246</y>
</vertex> </vertex>
</vertices> </vertices>
<texCoords> <texCoords>

4
src/Commands/SelNextSurfaceCmd.cpp

@ -10,11 +10,15 @@ SelNextSurfaceCmd::SelNextSurfaceCmd(SurfaceManager * surfaceManager){
void SelNextSurfaceCmd::exec(){ void SelNextSurfaceCmd::exec(){
_prevSelectedSurface = _surfaceManager->getSelectedSurface(); _prevSelectedSurface = _surfaceManager->getSelectedSurface();
_surfaceManager->selectNextSurface(); _surfaceManager->selectNextSurface();
Gui::instance()->getScaleWidget().setSurface(_surfaceManager->getSelectedSurface());
} }
void SelNextSurfaceCmd::undo(){ void SelNextSurfaceCmd::undo(){
ofLogNotice("SelNextSurfaceCmd", "undo"); ofLogNotice("SelNextSurfaceCmd", "undo");
_surfaceManager->selectSurface(_prevSelectedSurface); _surfaceManager->selectSurface(_prevSelectedSurface);
if(_prevSelectedSurface != 0){
Gui::instance()->getScaleWidget().setSurface(_prevSelectedSurface);
}
_prevSelectedSurface = 0; _prevSelectedSurface = 0;
} }

1
src/Commands/SelNextSurfaceCmd.h

@ -7,6 +7,7 @@
#include "BaseCmd.h" #include "BaseCmd.h"
#include "BaseSurface.h" #include "BaseSurface.h"
#include "SurfaceManager.h" #include "SurfaceManager.h"
#include "Gui.h"
namespace ofx { namespace ofx {
namespace piMapper { namespace piMapper {

4
src/Commands/SelPrevSurfaceCmd.cpp

@ -10,11 +10,15 @@ SelPrevSurfaceCmd::SelPrevSurfaceCmd(SurfaceManager * surfaceManager){
void SelPrevSurfaceCmd::exec(){ void SelPrevSurfaceCmd::exec(){
_prevSelectedSurface = _surfaceManager->getSelectedSurface(); _prevSelectedSurface = _surfaceManager->getSelectedSurface();
_surfaceManager->selectPrevSurface(); _surfaceManager->selectPrevSurface();
Gui::instance()->getScaleWidget().setSurface(_surfaceManager->getSelectedSurface());
} }
void SelPrevSurfaceCmd::undo(){ void SelPrevSurfaceCmd::undo(){
ofLogNotice("SelPrevSurfaceCmd", "undo"); ofLogNotice("SelPrevSurfaceCmd", "undo");
_surfaceManager->selectSurface(_prevSelectedSurface); _surfaceManager->selectSurface(_prevSelectedSurface);
if(_prevSelectedSurface != 0){
Gui::instance()->getScaleWidget().setSurface(_prevSelectedSurface);
}
_prevSelectedSurface = 0; _prevSelectedSurface = 0;
} }

1
src/Commands/SelPrevSurfaceCmd.h

@ -7,6 +7,7 @@
#include "BaseCmd.h" #include "BaseCmd.h"
#include "BaseSurface.h" #include "BaseSurface.h"
#include "SurfaceManager.h" #include "SurfaceManager.h"
#include "Gui.h"
namespace ofx { namespace ofx {
namespace piMapper { namespace piMapper {

4
src/Commands/SelSurfaceCmd.cpp

@ -11,11 +11,15 @@ SelSurfaceCmd::SelSurfaceCmd(SurfaceManager * surfaceManager, BaseSurface * surf
void SelSurfaceCmd::exec(){ void SelSurfaceCmd::exec(){
_prevSelectedSurface = _surfaceManager->getSelectedSurface(); _prevSelectedSurface = _surfaceManager->getSelectedSurface();
_surfaceManager->selectSurface(_surfaceToSelect); _surfaceManager->selectSurface(_surfaceToSelect);
Gui::instance()->getScaleWidget().setSurface(_surfaceToSelect);
} }
void SelSurfaceCmd::undo(){ void SelSurfaceCmd::undo(){
ofLogNotice("SelSurfaceCmd", "undo"); ofLogNotice("SelSurfaceCmd", "undo");
_surfaceManager->selectSurface(_prevSelectedSurface); _surfaceManager->selectSurface(_prevSelectedSurface);
if(_prevSelectedSurface != 0){
Gui::instance()->getScaleWidget().setSurface(_prevSelectedSurface);
}
_surfaceToSelect = 0; _surfaceToSelect = 0;
_prevSelectedSurface = 0; _prevSelectedSurface = 0;
} }

1
src/Commands/SelSurfaceCmd.h

@ -7,6 +7,7 @@
#include "BaseCmd.h" #include "BaseCmd.h"
#include "BaseSurface.h" #include "BaseSurface.h"
#include "SurfaceManager.h" #include "SurfaceManager.h"
#include "Gui.h"
namespace ofx { namespace ofx {
namespace piMapper { namespace piMapper {

Loading…
Cancel
Save