leocad/common/lc_instructions.h

58 lines
971 B
C
Raw Normal View History

2021-01-06 03:48:12 +01:00
#pragma once
2021-01-07 19:46:57 +01:00
struct lcInstructionsPageSetup
{
float Width;
float Height;
float MarginLeft;
float MarginRight;
float MarginTop;
float MarginBottom;
};
2021-01-06 03:48:12 +01:00
enum class lcInstructionsDirection
{
Horizontal,
Vertical
};
struct lcInstructionsPageSettings
{
int Rows;
int Columns;
lcInstructionsDirection Direction;
};
struct lcInstructionsStep
{
QRectF Rect;
lcModel* Model;
lcStep Step;
};
struct lcInstructionsPage
{
// lcInstructionsPageSettings Settings;
std::vector<lcInstructionsStep> Steps;
};
class lcInstructions
{
public:
lcInstructions(Project* Project = nullptr);
void SetDefaultPageSettings(const lcInstructionsPageSettings& PageSettings);
std::vector<lcInstructionsPage> mPages;
lcInstructionsPageSettings mPageSettings;
2021-01-07 19:46:57 +01:00
lcInstructionsPageSetup mPageSetup;
2021-01-06 03:48:12 +01:00
protected:
void CreatePages();
void AddDefaultPages(lcModel* Model, std::vector<const lcModel*>& AddedModels);
Project* mProject = nullptr;
2021-01-07 19:46:57 +01:00
static const float mDisplayDPI;
2021-01-06 03:48:12 +01:00
};