Blender
V2.93
source
blender
io
gpencil
intern
gpencil_io_export_pdf.hh
Go to the documentation of this file.
1
/*
2
* This program is free software; you can redistribute it and/or
3
* modify it under the terms of the GNU General Public License
4
* as published by the Free Software Foundation; either version 2
5
* of the License, or (at your option) any later version.
6
*
7
* This program is distributed in the hope that it will be useful,
8
* but WITHOUT ANY WARRANTY; without even the implied warranty of
9
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10
* GNU General Public License for more details.
11
*
12
* You should have received a copy of the GNU General Public License
13
* along with this program; if not, write to the Free Software Foundation,
14
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
15
*
16
* The Original Code is Copyright (C) 2020 Blender Foundation
17
* All rights reserved.
18
*/
19
#pragma once
20
25
#include "
gpencil_io_export_base.hh
"
26
#include "hpdf.h"
27
28
struct
GpencilIOParams
;
29
struct
bGPDlayer
;
30
struct
bGPDstroke
;
31
32
#define PDF_EXPORTER_NAME "PDF Exporter for Grease Pencil"
33
#define PDF_EXPORTER_VERSION "v1.0"
34
35
namespace
blender::io::gpencil
{
36
37
class
GpencilExporterPDF
:
public
GpencilExporter
{
38
39
public
:
40
GpencilExporterPDF
(
const
char
*filename,
const
struct
GpencilIOParams
*iparams);
41
bool
new_document
();
42
bool
add_newpage
();
43
bool
add_body
();
44
bool
write
();
45
46
protected
:
47
private
:
48
/* PDF document. */
49
HPDF_Doc pdf_;
50
/* PDF page. */
51
HPDF_Page page_;
52
53
bool
create_document();
54
bool
add_page();
55
void
export_gpencil_layers();
56
57
void
export_stroke_to_polyline(
bGPDlayer
*gpl,
58
bGPDstroke
*gps,
59
const
bool
is_stroke,
60
const
bool
do_fill,
61
const
bool
normalize
);
62
void
color_set(
bGPDlayer
*gpl,
const
bool
do_fill);
63
};
64
65
}
// namespace blender::io::gpencil
blender::io::gpencil::GpencilExporterPDF
Definition:
gpencil_io_export_pdf.hh:37
blender::io::gpencil::GpencilExporterPDF::write
bool write()
Definition:
gpencil_io_export_pdf.cc:90
blender::io::gpencil::GpencilExporterPDF::new_document
bool new_document()
Definition:
gpencil_io_export_pdf.cc:74
blender::io::gpencil::GpencilExporterPDF::add_body
bool add_body()
Definition:
gpencil_io_export_pdf.cc:84
blender::io::gpencil::GpencilExporterPDF::GpencilExporterPDF
GpencilExporterPDF(const char *filename, const struct GpencilIOParams *iparams)
Definition:
gpencil_io_export_pdf.cc:62
blender::io::gpencil::GpencilExporterPDF::add_newpage
bool add_newpage()
Definition:
gpencil_io_export_pdf.cc:79
blender::io::gpencil::GpencilExporter
Definition:
gpencil_io_export_base.hh:28
gpencil_io_export_base.hh
blender::io::gpencil
Definition:
gpencil_io_base.cc:56
GpencilIOParams
Definition:
gpencil_io.h:34
bGPDlayer
Definition:
DNA_gpencil_types.h:454
bGPDstroke
Definition:
DNA_gpencil_types.h:265
normalize
ccl_device_inline float2 normalize(const float2 &a)
Definition:
util_math_float2.h:208
Generated on Tue Jan 31 2023 14:37:24 for Blender by
doxygen
1.9.1