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