leocad/common/lc_viewmanipulator.h
Leonardo Zide 4f2782b407
Some checks failed
LeoCAD CI / build-ubuntu (push) Has been cancelled
LeoCAD CI / build-macos (push) Has been cancelled
Added rotate train track gizmo.
2024-12-17 19:20:38 -08:00

28 lines
755 B
C++

#pragma once
#include "lc_context.h"
class lcViewManipulator
{
public:
lcViewManipulator(lcView* View);
void DrawSelectMove(lcTrackButton TrackButton, lcTrackTool TrackTool);
void DrawRotate(lcTrackButton TrackButton, lcTrackTool TrackTool);
std::pair<lcTrackTool, quint32> UpdateSelectMove();
lcTrackTool UpdateRotate();
static void CreateResources(lcContext* Context);
static void DestroyResources(lcContext* Context);
protected:
void DrawTrainTrack(lcPiece* Piece, lcContext* Context, float OverlayScale, lcTrackTool TrackTool);
static bool IsTrackToolAllowed(lcTrackTool TrackTool, quint32 AllowedTransforms);
lcView* mView = nullptr;
static lcVertexBuffer mRotateMoveVertexBuffer;
static lcIndexBuffer mRotateMoveIndexBuffer;
};