2021-06-20 20:40:16 +02:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "lc_context.h"
|
|
|
|
|
|
|
|
class lcViewManipulator
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
lcViewManipulator(lcView* View);
|
|
|
|
|
|
|
|
void DrawSelectMove(lcTrackButton TrackButton, lcTrackTool TrackTool);
|
|
|
|
void DrawRotate(lcTrackButton TrackButton, lcTrackTool TrackTool);
|
|
|
|
|
2024-11-03 03:34:22 +01:00
|
|
|
std::pair<lcTrackTool, quint32> UpdateSelectMove();
|
2021-06-20 20:40:16 +02:00
|
|
|
lcTrackTool UpdateRotate();
|
|
|
|
|
|
|
|
static void CreateResources(lcContext* Context);
|
|
|
|
static void DestroyResources(lcContext* Context);
|
|
|
|
|
|
|
|
protected:
|
2024-11-03 03:34:22 +01:00
|
|
|
void DrawTrainTrack(lcPiece* Piece, lcContext* Context, float OverlayScale);
|
|
|
|
|
2021-06-20 20:40:16 +02:00
|
|
|
static bool IsTrackToolAllowed(lcTrackTool TrackTool, quint32 AllowedTransforms);
|
|
|
|
|
|
|
|
lcView* mView = nullptr;
|
|
|
|
|
|
|
|
static lcVertexBuffer mRotateMoveVertexBuffer;
|
|
|
|
static lcIndexBuffer mRotateMoveIndexBuffer;
|
|
|
|
};
|