Commit: 495161bc2f2fb44799393edaf93742d93f6b8b10
Author: Antonio Vazquez
Date:   Sat Aug 15 15:55:37 2020 +0200
Branches: greasepencil-object
https://developer.blender.org/rB495161bc2f2fb44799393edaf93742d93f6b8b10

GPencil: Reorganizze constructor to set filename

===================================================================

M       source/blender/io/gpencil/intern/gpencil_io_capi.cc
M       source/blender/io/gpencil/intern/gpencil_io_export_base.h
M       source/blender/io/gpencil/intern/gpencil_io_export_svg.cc
M       source/blender/io/gpencil/intern/gpencil_io_export_svg.h

===================================================================

diff --git a/source/blender/io/gpencil/intern/gpencil_io_capi.cc 
b/source/blender/io/gpencil/intern/gpencil_io_capi.cc
index 18705805e5a..a2da035f84b 100644
--- a/source/blender/io/gpencil/intern/gpencil_io_capi.cc
+++ b/source/blender/io/gpencil/intern/gpencil_io_capi.cc
@@ -120,9 +120,7 @@ static bool gpencil_io_export_storyboard(Main *bmain,
   bGPdata *gpd_eval = (bGPdata *)ob_eval_->data;
   bool done = false;
 
-  GpencilExporterSVG *exporter = new GpencilExporterSVG(iparams);
-  /* Prepare output filename with full path. */
-  exporter->set_out_filename(filename);
+  GpencilExporterSVG *exporter = new GpencilExporterSVG(filename, iparams);
 
   /* Storyboard only works in camera view. */
   RegionView3D *rv3d = (RegionView3D *)iparams->region->regiondata;
@@ -204,9 +202,7 @@ static bool gpencil_io_export_storyboard(Main *bmain,
 
       /* Create a new class object per page. */
       delete exporter;
-      exporter = new GpencilExporterSVG(iparams);
-      /* Prepare output filename with full path. */
-      exporter->set_out_filename(filename);
+      exporter = new GpencilExporterSVG(filename, iparams);
     }
   }
 
@@ -235,9 +231,7 @@ bool gpencil_io_export(const char *filename, 
GpencilExportParams *iparams)
   copy_v2_v2(iparams->paper_size, iparams->paper_size);
 
   if (!is_storyboard) {
-    GpencilExporterSVG exporter = GpencilExporterSVG(iparams);
-    /* Prepare output filename with full path. */
-    exporter.set_out_filename(filename);
+    GpencilExporterSVG exporter = GpencilExporterSVG(filename, iparams);
 
     float no_offset[2] = {0.0f, 0.0f};
     float ratio[2] = {1.0f, 1.0f};
diff --git a/source/blender/io/gpencil/intern/gpencil_io_export_base.h 
b/source/blender/io/gpencil/intern/gpencil_io_export_base.h
index 49787171865..87b77b3d08d 100644
--- a/source/blender/io/gpencil/intern/gpencil_io_export_base.h
+++ b/source/blender/io/gpencil/intern/gpencil_io_export_base.h
@@ -48,7 +48,6 @@ class GpencilExporter {
   virtual bool add_body(void) = 0;
   virtual bool write(std::string subfix) = 0;
 
-  void set_out_filename(const char *filename);
   void set_frame_number(int value);
   void set_frame_offset(float value[2]);
   void set_frame_ratio(float value[2]);
@@ -123,6 +122,7 @@ class GpencilExporter {
 
   void selected_objects_boundbox_set(void);
   void selected_objects_boundbox_get(rctf *boundbox);
+  void set_out_filename(const char *filename);
 
  private:
   struct bGPDlayer *gpl_cur;
diff --git a/source/blender/io/gpencil/intern/gpencil_io_export_svg.cc 
b/source/blender/io/gpencil/intern/gpencil_io_export_svg.cc
index f1a63f6648b..f043c7738db 100644
--- a/source/blender/io/gpencil/intern/gpencil_io_export_svg.cc
+++ b/source/blender/io/gpencil/intern/gpencil_io_export_svg.cc
@@ -62,9 +62,12 @@
 namespace blender ::io ::gpencil {
 
 /* Constructor. */
-GpencilExporterSVG::GpencilExporterSVG(const struct GpencilExportParams 
*iparams)
+GpencilExporterSVG::GpencilExporterSVG(const char *filename,
+                                       const struct GpencilExportParams 
*iparams)
     : GpencilExporter(iparams)
 {
+  set_out_filename(filename);
+
   invert_axis_[0] = false;
   invert_axis_[1] = true;
 }
diff --git a/source/blender/io/gpencil/intern/gpencil_io_export_svg.h 
b/source/blender/io/gpencil/intern/gpencil_io_export_svg.h
index 6c644308c41..00679bfb9a6 100644
--- a/source/blender/io/gpencil/intern/gpencil_io_export_svg.h
+++ b/source/blender/io/gpencil/intern/gpencil_io_export_svg.h
@@ -41,7 +41,7 @@ namespace blender::io::gpencil {
 class GpencilExporterSVG : public GpencilExporter {
 
  public:
-  GpencilExporterSVG(const struct GpencilExportParams *iparams);
+  GpencilExporterSVG(const char *filename, const struct GpencilExportParams 
*iparams);
   bool add_newpage(void);
   bool add_body(void);
   bool write(std::string subfix);

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to