/* * This program source code file is part of KiCad, a free EDA CAD application. * * Copyright (C) 2023 Mark Roszko * Copyright (C) 2023 KiCad Developers, see AUTHORS.txt for contributors. * * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the * Free Software Foundation, either version 3 of the License, or (at your * option) any later version. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program. If not, see . */ #include #include #include JOB_EXPORT_PCB_SVG::JOB_EXPORT_PCB_SVG( bool aIsCli ) : JOB_EXPORT_PCB_PLOT( JOB_EXPORT_PCB_PLOT::PLOT_FORMAT::SVG, "svg", false, aIsCli ), m_pageSizeMode( 0 ) { m_plotDrawingSheet = true; m_params.emplace_back( new JOB_PARAM( "color_theme", &m_colorTheme, m_colorTheme ) ); m_params.emplace_back( new JOB_PARAM( "drawing_sheet", &m_drawingSheet, m_drawingSheet ) ); m_params.emplace_back( new JOB_PARAM( "mirror", &m_mirror, m_mirror ) ); m_params.emplace_back( new JOB_PARAM( "black_and_white", &m_blackAndWhite, m_blackAndWhite ) ); m_params.emplace_back( new JOB_PARAM( "negative", &m_negative, m_negative ) ); m_params.emplace_back( new JOB_PARAM( "plot_drawing_sheet", &m_plotDrawingSheet, m_plotDrawingSheet ) ); m_params.emplace_back( new JOB_PARAM( "layers", &m_printMaskLayer, m_printMaskLayer ) ); m_params.emplace_back( new JOB_PARAM( "sketch_pads_on_fab_layers", &m_sketchPadsOnFabLayers, m_sketchPadsOnFabLayers ) ); m_params.emplace_back( new JOB_PARAM( "page_size_mode", &m_pageSizeMode, m_pageSizeMode ) ); m_params.emplace_back( new JOB_PARAM( "drill_shape_option", &m_drillShapeOption, m_drillShapeOption ) ); } wxString JOB_EXPORT_PCB_SVG::GetDescription() { return wxString::Format( _( "PCB SVG export" ) ); } REGISTER_JOB( pcb_export_svg, _HKI( "PCB: Export SVG" ), KIWAY::FACE_PCB, JOB_EXPORT_PCB_SVG );