[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

gEDA-cvs: pcb.git: branch: master updated (026a0f33b0257e4d17fd9f1a09ef18664576837d)



The branch, master has been updated
       via  026a0f33b0257e4d17fd9f1a09ef18664576837d (commit)
       via  daf112a1100d05ae5cb9adac41f76d123a597569 (commit)
       via  3c01bd38cb59922692408b71cd5d77892dbe6ade (commit)
       via  08aa31ec144456684b4e4230425be8f220551e44 (commit)
      from  76138e5779cc09453b458bc222a63d2d44ab6343 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.


=========
 Summary
=========

 src/draw.c              |   31 +++++++++++--------------------
 src/hid/gerber/gerber.c |    1 +
 src/hid/ps/eps.c        |    1 +
 src/hid/ps/ps.c         |    1 +
 4 files changed, 14 insertions(+), 20 deletions(-)


=================
 Commit Messages
=================

commit 026a0f33b0257e4d17fd9f1a09ef18664576837d
Author: Peter Clifton <pcjc2@xxxxxxxxx>
Commit: Peter Clifton <pcjc2@xxxxxxxxx>

    draw.c: Fold DrawLayerCommon() into DrawLayer()
    
    Since the last commit, DrawLayer() just calls DrawLayerCommon with the
    "clear_pins" argument set to true. The only other DrawLayerCommon caller
    passes clear_pins as true, so having functions is redundant.

:100644 100644 fb29826... e0da9a9... M	src/draw.c

commit daf112a1100d05ae5cb9adac41f76d123a597569
Author: Peter Clifton <pcjc2@xxxxxxxxx>
Commit: Peter Clifton <pcjc2@xxxxxxxxx>

    DrawLayer(): Pass true to clear_pins of DrawLayerCommon
    
    This should not affect any rendering. If the check planes flag is set,
    we should only draw polygons, nothing more. Only a handful of cases draw
    layers via this code-path, and in all but the exporter cases, they are
    not called if CHECKPLANES is set.
    
    The exporters which call DrawLayer explicitly clear the CHECKPLANES flag
    (since commit 3c01bd38cb59922692408b71cd5d77892dbe6ade), so nothing
    should be affected by this argument change.

:100644 100644 83080b3... fb29826... M	src/draw.c

commit 3c01bd38cb59922692408b71cd5d77892dbe6ade
Author: Peter Clifton <pcjc2@xxxxxxxxx>
Commit: Peter Clifton <pcjc2@xxxxxxxxx>

    hid/{ps,eps,gerber}: Clear CHECKPLANESFLAG before exporting
    
    Ensure we are in a sensible view state before exporting. This
    update those HIDs which cleared other similar renedering flags
    before exporting to include the CHECKPLANES flag.

:100644 100644 4a2d233... 1539f88... M	src/hid/gerber/gerber.c
:100644 100644 560f897... a406f38... M	src/hid/ps/eps.c
:100644 100644 87202f6... 8e29fd5... M	src/hid/ps/ps.c

commit 08aa31ec144456684b4e4230425be8f220551e44
Author: Peter Clifton <pcjc2@xxxxxxxxx>
Commit: Peter Clifton <pcjc2@xxxxxxxxx>

    draw.c: Have DrawLayerGroup() call DrawPPV for non-gui exporters
    
    This means DrawLayerGroup() can have a void return type as most of
    the other drawing functions, and makes things a little neater.
    
    Only the GUI renderers special case the pin / pad / via to wait
    until a later rendering oass than the layers they reside on.

:100644 100644 1bbbca0... 83080b3... M	src/draw.c

=========
 Changes
=========

commit 026a0f33b0257e4d17fd9f1a09ef18664576837d
Author: Peter Clifton <pcjc2@xxxxxxxxx>
Commit: Peter Clifton <pcjc2@xxxxxxxxx>

    draw.c: Fold DrawLayerCommon() into DrawLayer()
    
    Since the last commit, DrawLayer() just calls DrawLayerCommon with the
    "clear_pins" argument set to true. The only other DrawLayerCommon caller
    passes clear_pins as true, so having functions is redundant.

diff --git a/src/draw.c b/src/draw.c
index fb29826..e0da9a9 100644
--- a/src/draw.c
+++ b/src/draw.c
@@ -1072,18 +1072,15 @@ text_callback (const BoxType * b, void *cl)
   return 1;
 }
 
-/* ---------------------------------------------------------------------------
- * draws one non-copper layer
- */
 void
-DrawLayerCommon (LayerTypePtr Layer, const BoxType * screen, bool clear_pins)
+DrawLayer (LayerTypePtr Layer, const BoxType * screen)
 {
   struct poly_info info = {screen, Layer};
 
   /* print the non-clearing polys */
   r_search (Layer->polygon_tree, screen, NULL, poly_callback, &info);
 
-  if (clear_pins && TEST_FLAG (CHECKPLANESFLAG, PCB))
+  if (TEST_FLAG (CHECKPLANESFLAG, PCB))
     return;
 
   /* draw all visible lines this layer */
@@ -1110,12 +1107,6 @@ DrawLayerCommon (LayerTypePtr Layer, const BoxType * screen, bool clear_pins)
     }
 }
 
-void
-DrawLayer (LayerTypePtr Layer, const BoxType * screen)
-{
-  DrawLayerCommon (Layer, screen, true);
-}
-
 /* ---------------------------------------------------------------------------
  * draws one layer group.  If the exporter is not a GUI,
  * also draws the pins / pads / vias in this layer group.
@@ -1137,7 +1128,7 @@ DrawLayerGroup (int group, const BoxType *drawn_area)
           strcmp (Layer->Name, "route") == 0)
         rv = 0;
       if (layernum < max_copper_layer && Layer->On)
-        DrawLayerCommon (Layer, drawn_area, true);
+        DrawLayer (Layer, drawn_area);
     }
   if (n_entries > 1)
     rv = 1;

commit daf112a1100d05ae5cb9adac41f76d123a597569
Author: Peter Clifton <pcjc2@xxxxxxxxx>
Commit: Peter Clifton <pcjc2@xxxxxxxxx>

    DrawLayer(): Pass true to clear_pins of DrawLayerCommon
    
    This should not affect any rendering. If the check planes flag is set,
    we should only draw polygons, nothing more. Only a handful of cases draw
    layers via this code-path, and in all but the exporter cases, they are
    not called if CHECKPLANES is set.
    
    The exporters which call DrawLayer explicitly clear the CHECKPLANES flag
    (since commit 3c01bd38cb59922692408b71cd5d77892dbe6ade), so nothing
    should be affected by this argument change.

diff --git a/src/draw.c b/src/draw.c
index 83080b3..fb29826 100644
--- a/src/draw.c
+++ b/src/draw.c
@@ -1113,7 +1113,7 @@ DrawLayerCommon (LayerTypePtr Layer, const BoxType * screen, bool clear_pins)
 void
 DrawLayer (LayerTypePtr Layer, const BoxType * screen)
 {
-  DrawLayerCommon (Layer, screen, false);
+  DrawLayerCommon (Layer, screen, true);
 }
 
 /* ---------------------------------------------------------------------------

commit 3c01bd38cb59922692408b71cd5d77892dbe6ade
Author: Peter Clifton <pcjc2@xxxxxxxxx>
Commit: Peter Clifton <pcjc2@xxxxxxxxx>

    hid/{ps,eps,gerber}: Clear CHECKPLANESFLAG before exporting
    
    Ensure we are in a sensible view state before exporting. This
    update those HIDs which cleared other similar renedering flags
    before exporting to include the CHECKPLANES flag.

diff --git a/src/hid/gerber/gerber.c b/src/hid/gerber/gerber.c
index 4a2d233..1539f88 100644
--- a/src/hid/gerber/gerber.c
+++ b/src/hid/gerber/gerber.c
@@ -521,6 +521,7 @@ gerber_do_export (HID_Attr_Val * options)
   save_thindraw = PCB->Flags;
   CLEAR_FLAG(THINDRAWFLAG, PCB);
   CLEAR_FLAG(THINDRAWPOLYFLAG, PCB);
+  CLEAR_FLAG(CHECKPLANESFLAG, PCB);
 
   if (!options)
     {
diff --git a/src/hid/ps/eps.c b/src/hid/ps/eps.c
index 560f897..a406f38 100644
--- a/src/hid/ps/eps.c
+++ b/src/hid/ps/eps.c
@@ -198,6 +198,7 @@ eps_hid_export_to_file (FILE * the_file, HID_Attr_Val * options)
   save_thindraw = PCB->Flags;
   CLEAR_FLAG(THINDRAWFLAG, PCB);
   CLEAR_FLAG(THINDRAWPOLYFLAG, PCB);
+  CLEAR_FLAG(CHECKPLANESFLAG, PCB);
 
   f = the_file;
 
diff --git a/src/hid/ps/ps.c b/src/hid/ps/ps.c
index 87202f6..8e29fd5 100644
--- a/src/hid/ps/ps.c
+++ b/src/hid/ps/ps.c
@@ -601,6 +601,7 @@ ps_hid_export_to_file (FILE * the_file, HID_Attr_Val * options)
   save_thindraw = PCB->Flags;
   CLEAR_FLAG(THINDRAWFLAG, PCB);
   CLEAR_FLAG(THINDRAWPOLYFLAG, PCB);
+  CLEAR_FLAG(CHECKPLANESFLAG, PCB);
 
   global.f = the_file;
   global.drill_helper = options[HA_drillhelper].int_value;

commit 08aa31ec144456684b4e4230425be8f220551e44
Author: Peter Clifton <pcjc2@xxxxxxxxx>
Commit: Peter Clifton <pcjc2@xxxxxxxxx>

    draw.c: Have DrawLayerGroup() call DrawPPV for non-gui exporters
    
    This means DrawLayerGroup() can have a void return type as most of
    the other drawing functions, and makes things a little neater.
    
    Only the GUI renderers special case the pin / pad / via to wait
    until a later rendering oass than the layers they reside on.

diff --git a/src/draw.c b/src/draw.c
index 1bbbca0..83080b3 100644
--- a/src/draw.c
+++ b/src/draw.c
@@ -83,7 +83,7 @@ static bool doing_assy = false;
  */
 static void DrawEverything (BoxTypePtr);
 static void DrawPPV (int group, const BoxType *);
-static int DrawLayerGroup (int, const BoxType *);
+static void DrawLayerGroup (int, const BoxType *);
 static void AddPart (void *);
 static void SetPVColor (PinTypePtr, int);
 static void DrawEMark (ElementTypePtr, Coord, Coord, bool);
@@ -612,7 +612,6 @@ PrintAssembly (int side, const BoxType * drawn_area)
   doing_assy = true;
   gui->set_draw_faded (Output.fgGC, 1);
   DrawLayerGroup (side_group, drawn_area);
-  DrawPPV (side_group, drawn_area);
   gui->set_draw_faded (Output.fgGC, 0);
 
   /* draw package */
@@ -677,8 +676,7 @@ DrawEverything (BoxTypePtr drawn_area)
 
       if (gui->set_layer (0, group, 0))
         {
-          if (DrawLayerGroup (group, drawn_area) && !gui->gui)
-            DrawPPV (group, drawn_area);
+          DrawLayerGroup (group, drawn_area);
           gui->end_layer ();
         }
     }
@@ -1119,10 +1117,10 @@ DrawLayer (LayerTypePtr Layer, const BoxType * screen)
 }
 
 /* ---------------------------------------------------------------------------
- * draws one layer group.  Returns non-zero if pins and pads should be
- * drawn with this group.
+ * draws one layer group.  If the exporter is not a GUI,
+ * also draws the pins / pads / vias in this layer group.
  */
-static int
+static void
 DrawLayerGroup (int group, const BoxType *drawn_area)
 {
   int i, rv = 1;
@@ -1143,7 +1141,9 @@ DrawLayerGroup (int group, const BoxType *drawn_area)
     }
   if (n_entries > 1)
     rv = 1;
-  return rv;
+
+  if (rv && !gui->gui)
+    DrawPPV (group, drawn_area);
 }
 
 static void




_______________________________________________
geda-cvs mailing list
geda-cvs@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-cvs