Hi,

here's my patch to allow 180 degrees rotated text.
I'm not sure what it might break - I tested it in gschem only.

m

diff -Nur geda-orig/devel/libgeda/noweb/o_text_basic.nw geda/devel/libgeda/noweb/o_text_basic.nw
--- geda-orig/devel/libgeda/noweb/o_text_basic.nw	2005-09-04 16:22:31.000000000 +0200
+++ geda/devel/libgeda/noweb/o_text_basic.nw	2005-09-04 16:24:48.000000000 +0200
@@ -684,12 +684,8 @@
 
   }
 
-  switch(angle) {
-    case(180):
-    x_offset = x_offset - text_width;
-    y_offset = y_offset - text_height;
-    angle = 0;
-    break;
+  if (angle == 180){
+    y_offset -= text_height * 2 - char_height * LINE_SPACING;
   }
 
 #if DEBUG
@@ -786,7 +782,6 @@
 #endif
             switch (angle) {
                 case 0:
-                case 180:
                   rel_char_coord = x_offset - line_start_x;
 #if DEBUG
                   printf("Add: %i\n", (size_of_tab_in_coord - (rel_char_coord % size_of_tab_in_coord)));
@@ -802,6 +797,14 @@
                   y_offset += (size_of_tab_in_coord - (rel_char_coord % size_of_tab_in_coord));
                   continue;	
                   break;
+                case 180:
+                  rel_char_coord = x_offset - line_start_x;
+#if DEBUG
+                  printf("Add: %i\n", - (size_of_tab_in_coord + (rel_char_coord % size_of_tab_in_coord)));
+#endif
+                  x_offset -= (size_of_tab_in_coord + (rel_char_coord % size_of_tab_in_coord));
+                  continue;	
+                  break;
                 case 270:
                   rel_char_coord = line_start_y - y_offset;
 #if DEBUG

Reply via email to