Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntonio Vazquez <blendergit@gmail.com>2021-11-08 18:03:30 +0300
committerAntonio Vazquez <blendergit@gmail.com>2021-11-08 18:03:30 +0300
commite1c4e5df225d161648a12a7019543a0d87ccb2c1 (patch)
tree61e7f406739c52dd68d70d6fc7afaca12a6c9f70 /source/blender/io/gpencil/intern/gpencil_io_capi.cc
parentc865577643901c4da9161849fa715e54468de638 (diff)
GPencil: New option to export PDF full scene
This new mode export all frames of the scene. Reviewed By: pepeland Differential Revision: https://developer.blender.org/D13055
Diffstat (limited to 'source/blender/io/gpencil/intern/gpencil_io_capi.cc')
-rw-r--r--source/blender/io/gpencil/intern/gpencil_io_capi.cc51
1 files changed, 29 insertions, 22 deletions
diff --git a/source/blender/io/gpencil/intern/gpencil_io_capi.cc b/source/blender/io/gpencil/intern/gpencil_io_capi.cc
index 544c51e0b4f..95f5839682f 100644
--- a/source/blender/io/gpencil/intern/gpencil_io_capi.cc
+++ b/source/blender/io/gpencil/intern/gpencil_io_capi.cc
@@ -112,32 +112,39 @@ static bool gpencil_io_export_pdf(Depsgraph *depsgraph,
exporter->frame_number_set(iparams->frame_cur);
result |= exporter->new_document();
- const bool use_frame_selected = (iparams->frame_mode == GP_EXPORT_FRAME_SELECTED);
- if (use_frame_selected) {
- for (int32_t i = iparams->frame_start; i < iparams->frame_end + 1; i++) {
- if (!is_keyframe_included(gpd_eval, i, use_frame_selected)) {
- continue;
- }
-
- CFRA = i;
- BKE_scene_graph_update_for_newframe(depsgraph);
+ switch (iparams->frame_mode) {
+ case GP_EXPORT_FRAME_ACTIVE: {
exporter->prepare_camera_params(scene, iparams);
- exporter->frame_number_set(i);
exporter->add_newpage();
exporter->add_body();
+ result = exporter->write();
+ break;
}
- result = exporter->write();
- /* Back to original frame. */
- exporter->frame_number_set(iparams->frame_cur);
- CFRA = iparams->frame_cur;
- BKE_scene_camera_switch_update(scene);
- BKE_scene_graph_update_for_newframe(depsgraph);
- }
- else {
- exporter->prepare_camera_params(scene, iparams);
- exporter->add_newpage();
- exporter->add_body();
- result = exporter->write();
+ case GP_EXPORT_FRAME_SELECTED:
+ case GP_EXPORT_FRAME_SCENE: {
+ for (int32_t i = iparams->frame_start; i < iparams->frame_end + 1; i++) {
+ if ((iparams->frame_mode == GP_EXPORT_FRAME_SELECTED) &&
+ (!is_keyframe_included(gpd_eval, i, true))) {
+ continue;
+ }
+
+ CFRA = i;
+ BKE_scene_graph_update_for_newframe(depsgraph);
+ exporter->prepare_camera_params(scene, iparams);
+ exporter->frame_number_set(i);
+ exporter->add_newpage();
+ exporter->add_body();
+ }
+ result = exporter->write();
+ /* Back to original frame. */
+ exporter->frame_number_set(iparams->frame_cur);
+ CFRA = iparams->frame_cur;
+ BKE_scene_camera_switch_update(scene);
+ BKE_scene_graph_update_for_newframe(depsgraph);
+ break;
+ }
+ default:
+ break;
}
return result;