20#ifndef LIBREPCB_CORE_GRAPHICSOUTPUTJOB_H
21#define LIBREPCB_CORE_GRAPHICSOUTPUTJOB_H
26#include "../export/graphicsexportsettings.h"
27#include "../types/simplestring.h"
28#include "../workspace/theme.h"
85 std::optional<UnsignedRatio>
scale;
97 QMap<QString, QList<SExpression>>
options;
116 boards(BoardSet::set({std::nullopt})),
119 QSet<QString> enabledLayers;
122 title = tr(
"Schematic");
123 boards = BoardSet::set({std::nullopt});
146 title = tr(
"Assembly Top");
150 title = tr(
"Assembly Bottom");
154 title = tr(
"Rendering Top");
158 title = tr(
"Rendering Bottom");
165 boards = BoardSet::onlyDefault();
220 GraphicsExportSettings defaultSettings;
223 defaultSettings.loadBoardRenderingColors(0);
225 foreach (
const auto& pair, defaultSettings.getColors()) {
226 if (enabledLayers.contains(pair.first)) {
227 layers.insert(pair.first, pair.second);
234 return (
type == rhs.type)
235 && (
title == rhs.title)
244 && (
scale == rhs.scale)
256 return !(*
this == rhs);
266 virtual QString
getTypeTr() const noexcept override;
267 virtual QIcon
getTypeIcon() const noexcept override;
276 void setContent(
const QList<Content>& content)
noexcept;
282 virtual std::shared_ptr<OutputJob>
cloneShared() const noexcept override;
Orientation
Definition graphicsexportsettings.h:54
PDF/Image output job.
Definition graphicsoutputjob.h:49
QList< Content > mContent
Definition graphicsoutputjob.h:299
SimpleString mDocumentTitle
Definition graphicsoutputjob.h:298
virtual QString getTypeTr() const noexcept override
Definition graphicsoutputjob.cpp:141
void setOutputPath(const QString &path) noexcept
Definition graphicsoutputjob.cpp:173
ObjectSet< std::optional< Uuid > > BoardSet
Definition graphicsoutputjob.h:53
virtual bool equals(const OutputJob &rhs) const noexcept override
Definition graphicsoutputjob.cpp:276
void setContent(const QList< Content > &content) noexcept
Definition graphicsoutputjob.cpp:166
static QString getTypeName() noexcept
Definition graphicsoutputjob.h:280
const SimpleString & getDocumentTitle() const noexcept
Definition graphicsoutputjob.h:268
static std::shared_ptr< GraphicsOutputJob > boardRenderingPdf() noexcept
Definition graphicsoutputjob.cpp:213
static std::shared_ptr< GraphicsOutputJob > boardAssemblyPdf() noexcept
Definition graphicsoutputjob.cpp:202
virtual ~GraphicsOutputJob() noexcept
Definition graphicsoutputjob.cpp:134
static QString getTypeTrStatic() noexcept
Definition graphicsoutputjob.h:281
QString mOutputPath
Definition graphicsoutputjob.h:300
virtual QIcon getTypeIcon() const noexcept override
Definition graphicsoutputjob.cpp:145
virtual void serializeDerived(SExpression &root) const override
Definition graphicsoutputjob.cpp:227
const QString & getOutputPath() const noexcept
Definition graphicsoutputjob.h:272
ObjectSet< std::optional< Uuid > > AssemblyVariantSet
Definition graphicsoutputjob.h:54
virtual std::shared_ptr< OutputJob > cloneShared() const noexcept override
Definition graphicsoutputjob.cpp:184
GraphicsOutputJob() noexcept
Definition graphicsoutputjob.cpp:74
void setDocumentTitle(const SimpleString &title) noexcept
Definition graphicsoutputjob.cpp:159
const QList< Content > getContent() const noexcept
Definition graphicsoutputjob.h:271
static std::shared_ptr< GraphicsOutputJob > schematicPdf() noexcept
Definition graphicsoutputjob.cpp:192
Base class for all output job types.
Definition outputjob.h:50
The SExpression class.
Definition sexpression.h:69
Definition occmodel.cpp:77
type_safe::constrained_type< Length, UnsignedLengthConstraint, UnsignedLengthVerifier > UnsignedLength
Definition length.h:694
type_safe::constrained_type< QString, SimpleStringConstraint, SimpleStringVerifier > SimpleString
Definition simplestring.h:79
Definition graphicsoutputjob.h:56
bool mirror
Definition graphicsoutputjob.h:84
Type
Definition graphicsoutputjob.h:67
QMap< QString, QList< SExpression > > options
Definition graphicsoutputjob.h:97
bool rotate
Definition graphicsoutputjob.h:83
UnsignedLength marginBottom
Definition graphicsoutputjob.h:82
bool monochrome
Definition graphicsoutputjob.h:87
std::optional< QString > pageSizeKey
Definition graphicsoutputjob.h:77
QColor backgroundColor
Definition graphicsoutputjob.h:88
UnsignedLength minLineWidth
Definition graphicsoutputjob.h:89
std::optional< UnsignedRatio > scale
Definition graphicsoutputjob.h:85
AssemblyVariantSet assemblyVariants
Definition graphicsoutputjob.h:92
Content(Preset preset) noexcept
Definition graphicsoutputjob.h:99
Content(const Content &other)=default
uint pixmapDpi
Definition graphicsoutputjob.h:86
bool operator==(const Content &rhs) const noexcept
Definition graphicsoutputjob.h:233
UnsignedLength marginTop
Definition graphicsoutputjob.h:80
Content & operator=(const Content &rhs)=default
UnsignedLength marginLeft
Definition graphicsoutputjob.h:79
QString title
Definition graphicsoutputjob.h:76
bool operator!=(const Content &rhs) const noexcept
Definition graphicsoutputjob.h:255
Type type
Definition graphicsoutputjob.h:75
GraphicsExportSettings::Orientation orientation
Definition graphicsoutputjob.h:78
QMap< QString, QColor > layers
Definition graphicsoutputjob.h:90
Preset
Definition graphicsoutputjob.h:58
BoardSet boards
Definition graphicsoutputjob.h:91
UnsignedLength marginRight
Definition graphicsoutputjob.h:81
Definition outputjob.h:65
static constexpr const char * sSchematicImageBorders
Definition theme.h:67
static constexpr const char * sBoardPlatedCutouts
Definition theme.h:88
static constexpr const char * sSchematicPinNumbers
Definition theme.h:80
static constexpr const char * sSchematicBusLabels
Definition theme.h:66
static constexpr const char * sBoardCopperTop
Definition theme.h:125
static constexpr const char * sSchematicComments
Definition theme.h:69
static constexpr const char * sBoardGrabAreasTop
Definition theme.h:111
static constexpr const char * sSchematicGrabAreas
Definition theme.h:72
static constexpr const char * sBoardDocumentationBot
Definition theme.h:106
static constexpr const char * sBoardValuesTop
Definition theme.h:101
static constexpr const char * sSchematicDocumentation
Definition theme.h:68
static constexpr const char * sBoardDocumentationTop
Definition theme.h:105
static constexpr const char * sSchematicPinNames
Definition theme.h:79
static constexpr const char * sSchematicPinLines
Definition theme.h:78
static constexpr const char * sBoardDocumentation
Definition theme.h:96
static constexpr const char * sBoardValuesBot
Definition theme.h:102
static constexpr const char * sSchematicNames
Definition theme.h:74
static constexpr const char * sBoardNamesTop
Definition theme.h:99
static constexpr const char * sBoardMeasures
Definition theme.h:94
static constexpr const char * sBoardGrabAreasBot
Definition theme.h:112
static constexpr const char * sBoardNamesBot
Definition theme.h:100
static constexpr const char * sBoardPads
Definition theme.h:90
static constexpr const char * sBoardStopMaskTop
Definition theme.h:117
static constexpr const char * sSchematicBuses
Definition theme.h:65
static constexpr const char * sSchematicNetLabels
Definition theme.h:64
static constexpr const char * sBoardVias
Definition theme.h:91
static constexpr const char * sSchematicGuide
Definition theme.h:70
static constexpr const char * sBoardFrames
Definition theme.h:86
static constexpr const char * sBoardComments
Definition theme.h:97
static constexpr const char * sBoardGuide
Definition theme.h:98
static constexpr const char * sBoardLegendTop
Definition theme.h:103
static constexpr const char * sBoardOutlines
Definition theme.h:87
static constexpr const char * sBoardStopMaskBot
Definition theme.h:118
static constexpr const char * sBoardLegendBot
Definition theme.h:104
static constexpr const char * sSchematicOutlines
Definition theme.h:71
static constexpr const char * sSchematicFrames
Definition theme.h:62
static constexpr const char * sSchematicValues
Definition theme.h:75
static constexpr const char * sBoardCopperBot
Definition theme.h:127
static constexpr const char * sBoardHoles
Definition theme.h:89
static constexpr const char * sSchematicWires
Definition theme.h:63