1
0
mirror of git://projects.qi-hardware.com/fped.git synced 2024-11-25 20:09:21 +02:00

- reduced padding around item lines

- item ordering heuristics failed to properly use "."
- updated description of "need" in dump.c
- saved fbga.fpd and sc89.fpd with new ordering



git-svn-id: http://svn.openmoko.org/trunk/eda/fped@5427 99fdad57-331a-0410-800a-d7fa5415bdb3
This commit is contained in:
werner 2009-08-12 17:01:40 +00:00
parent 2bae5614d9
commit 9f2ea8cdc2
4 changed files with 29 additions and 31 deletions

27
dump.c
View File

@ -45,27 +45,22 @@ static int n_vec_refs(const struct vec *vec)
/*
* "need" operates in two modes:
* If "prev" is non-NULL, we're looking for objects that need to be put after
* the current vector (in "prev"). Only those objects need to be put there
* that have at least one base that isn't the frame's origin.
*
* - if "prev" is non-NULL, we're looking for objects that need to be put after
* the current vector (in "prev"). Only those objects need to be put there
* that have at least one base that isn't the frame's origin or already has a
* name.
*
* - if "prev" is NULL, we're at the end of the frame. We have already used all
* the . references we could, so now we have to find out which objects
* haven't been dumped yet. "need" still returns the ones that had a need to
* be dumped. Again, that's those that have at least one possible "." base.
* Since this "." base will have been used by now, the object must have been
* dumped.
* We could also make an exception for manually named vectors, but we get
* better clustering without.
*/
static int need(const struct vec *base, const struct vec *prev)
{
if (!base)
return 0;
if (base->name)
#if 0
if (base->name && *base->name != '_')
return 0;
#endif
if (prev)
return base == prev;
return 1;
@ -79,10 +74,12 @@ static int need(const struct vec *base, const struct vec *prev)
static int later(const struct vec *base, const struct vec *prev)
{
while (prev) {
while (1) {
prev = prev->next;
if (!prev)
break;
if (base == prev)
return 1;
prev = prev->next;
}
return 0;
}

View File

@ -12,7 +12,7 @@ frame pad {
__0: vec @(col*e-Px/2, row*-e-Py/2)
__1: vec .(0mm, Py)
__2: vec __0(Px, 0mm)
pad "$rname$cname" __1 __2
pad "$rname$cname" __1 .
}
frame inner {

View File

@ -989,6 +989,7 @@ static GtkWidget *item_label(GtkWidget *tab, char *s, int col, int row,
GtkWidget *label;
label = label_in_box_new(s);
gtk_misc_set_padding(GTK_MISC(label), 0, 0);
gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
gtk_widget_modify_font(label, item_list_font);
gtk_table_attach_defaults(GTK_TABLE(tab), box_of_label(label),

View File

@ -4,28 +4,28 @@ frame pad {
_pad_0: vec @(-Px/2, -Py/2)
_pad_1: vec .(Px, 0mm)
_pad_2: vec _pad_0(0mm, Py)
pad "$pad" _pad_2 _pad_1
pad "$pad" . _pad_1
}
frame pad_ne {
set pad = 2
_pad_ne_0: vec @(-Px/2, -Py/2)
frame pad _pad_ne_0
frame pad .
}
frame pad_nw {
set pad = 1
_pad_nw_0: vec @(Px/2, -Py/2)
frame pad _pad_nw_0
frame pad .
}
frame pad_sc {
set pad = 3
_pad_sc_0: vec @(0mm, Py/2)
frame pad _pad_sc_0
frame pad .
}
frame outline {
@ -33,21 +33,21 @@ frame outline {
__5: vec @(0mm, -Oy/2)
__6: vec .(Ox/2, 0mm)
__7: vec __5(-Ox/2, 0mm)
line . __6 5mil
__8: vec __4(Ow/2, 0mm)
__9: vec __4(-Ow/2, 0mm)
line . __8 5mil
_outline_6: vec @(0mm, Oh)
_outline_7: vec .(Ox/2, 0mm)
line . __6 5mil
_outline_8: vec _outline_6(-Ox/2, 0mm)
line . __7 5mil
_outline_9: vec _outline_6(Ow/2, 0mm)
line __8 . 5mil
line . _outline_7 5mil
_outline_10: vec _outline_6(-Ow/2, 0mm)
line __7 __6 5mil
line _outline_7 __6 5mil
line _outline_8 __7 5mil
line _outline_8 _outline_10 5mil
line __9 _outline_10 5mil
line __9 __8 5mil
line __8 _outline_9 5mil
line _outline_9 _outline_7 5mil
line _outline_8 . 5mil
line __9 . 5mil
}
part "SC89"
@ -60,13 +60,13 @@ table
{ 2mm, 2.2mm, 0.6mm, 0.85mm }
__0: vec @(0mm, Gy/2)
frame pad_sc .
__1: vec @(0mm, -Gy/2)
__2: vec .(Wx/2, 0mm)
frame pad_ne .
__3: vec __1(-Wx/2, 0mm)
frame pad_nw .
dummy: vec @(0.2mm, 0mm)
frame pad_sc __0
frame pad_nw __3
frame pad_ne __2
frame outline @
measx pad._pad_0 >> pad._pad_1 -0.6mm
measy pad._pad_0 >> pad._pad_2 0.8mm