You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
73 lines
1.7 KiB
73 lines
1.7 KiB
// TODO: Move this to the Application State system.
|
|
|
|
#pragma once
|
|
|
|
#include "ofEvents.h"
|
|
#include "ofGraphics.h"
|
|
|
|
#include "SurfaceManager.h"
|
|
#include "TextureEditor.h"
|
|
#include "ProjectionEditor.h"
|
|
#include "SourcesEditor.h"
|
|
#include "GuiMode.h"
|
|
#include "CmdManager.h"
|
|
#include "MvSurfaceCmd.h"
|
|
#include "SelSurfaceCmd.h"
|
|
#include "MvSurfaceVertCmd.h"
|
|
#include "MvAllTexCoordsCmd.h"
|
|
#include "MvTexCoordCmd.h"
|
|
#include "SelVertexCmd.h"
|
|
#include "DeselectSurfaceCmd.h"
|
|
#include "Gui.h"
|
|
|
|
namespace ofx {
|
|
namespace piMapper {
|
|
|
|
class SurfaceManagerGui {
|
|
|
|
public:
|
|
SurfaceManagerGui();
|
|
~SurfaceManagerGui();
|
|
|
|
void registerMouseEvents();
|
|
void unregisterMouseEvents();
|
|
|
|
void draw();
|
|
void mousePressed(ofMouseEventArgs & args);
|
|
void mouseReleased(ofMouseEventArgs & args);
|
|
void mouseDragged(ofMouseEventArgs & args);
|
|
|
|
void setSurfaceManager(SurfaceManager * newSurfaceManager);
|
|
void setMediaServer(MediaServer * newMediaServer);
|
|
void setCmdManager(CmdManager * cmdManager);
|
|
|
|
void setMode(int newGuiMode);
|
|
int getMode();
|
|
void drawSelectedSurfaceHighlight();
|
|
void drawSelectedSurfaceTextureHighlight();
|
|
void startDrag();
|
|
void stopDrag();
|
|
|
|
ProjectionEditor * getProjectionEditor();
|
|
|
|
void onVertexChanged(int & i);
|
|
void onVerticesChanged(vector<ofVec3f> & vertices);
|
|
void onSurfaceSelected(int & surfaceIndex);
|
|
void onVertexSelected(int & vertexIndex);
|
|
void onVertexUnselected(int & vertexIndex);
|
|
|
|
private:
|
|
SurfaceManager * surfaceManager;
|
|
MediaServer * mediaServer;
|
|
TextureEditor textureEditor;
|
|
ProjectionEditor projectionEditor;
|
|
SourcesEditor sourcesEditor;
|
|
int guiMode;
|
|
bool bDrag;
|
|
ofVec2f clickPosition;
|
|
CmdManager * _cmdManager;
|
|
|
|
};
|
|
|
|
} // namespace piMapper
|
|
} // namespace ofx
|