Pikchr

Check-in [e79028e18d]
Login
Overview
Comment:Fix the behavior of "with .start". Forum post a48fbe155b
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: e79028e18dce9f2c089e69aa33012ee214026b6a1ca97c42e20d8e46fdc92b3b
User & Date: drh 2024-06-25 06:23:54
References
2024-06-25
06:33 Reply: ".start" anchor does not work (artifact: abde1fa73b user: drh)
Context
2024-07-24
12:05
Add "style='font-size:100%'" to the <svg> element to work around an issue in Safari. Forum post 8c9e9aa984. (check-in: 67d1cab26b user: drh tags: trunk)
2024-06-25
06:23
Fix the behavior of "with .start". Forum post a48fbe155b (check-in: e79028e18d user: drh tags: trunk)
2024-04-20
16:39
Document that in string literals single backslashes are elided and newlines are permitted, based on forum feedback. (check-in: e224071e3a user: stephan tags: trunk)
Changes
Unified Diff Ignore Whitespace Patch
Changes to pikchr.c.
6120
6121
6122
6123
6124
6125
6126
6127
6128
6129
6130
6131
6132
6133
6134
  if( pObj->mProp & A_AT ){
    pik_error(p, pErrTok, "location fixed by prior \"at\"");
    return;
  }
  pObj->mProp |= A_AT;
  pObj->eWith = pEdge ? pEdge->eEdge : CP_C;
  if( pObj->eWith>=CP_END ){
    int dir = pObj->eWith==CP_END ? pObj->outDir : pObj->inDir;
    pObj->eWith = eDirToCp[dir];
  }
  pObj->with = *pAt;
}

/*
** Try to add a text attribute to an object







|







6120
6121
6122
6123
6124
6125
6126
6127
6128
6129
6130
6131
6132
6133
6134
  if( pObj->mProp & A_AT ){
    pik_error(p, pErrTok, "location fixed by prior \"at\"");
    return;
  }
  pObj->mProp |= A_AT;
  pObj->eWith = pEdge ? pEdge->eEdge : CP_C;
  if( pObj->eWith>=CP_END ){
    int dir = pObj->eWith==CP_END ? pObj->outDir : (pObj->inDir+2)%4;
    pObj->eWith = eDirToCp[dir];
  }
  pObj->with = *pAt;
}

/*
** Try to add a text attribute to an object
Changes to pikchr.y.
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
  if( pObj->mProp & A_AT ){
    pik_error(p, pErrTok, "location fixed by prior \"at\"");
    return;
  }
  pObj->mProp |= A_AT;
  pObj->eWith = pEdge ? pEdge->eEdge : CP_C;
  if( pObj->eWith>=CP_END ){
    int dir = pObj->eWith==CP_END ? pObj->outDir : pObj->inDir;
    pObj->eWith = eDirToCp[dir];
  }
  pObj->with = *pAt;
}

/*
** Try to add a text attribute to an object







|







3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
  if( pObj->mProp & A_AT ){
    pik_error(p, pErrTok, "location fixed by prior \"at\"");
    return;
  }
  pObj->mProp |= A_AT;
  pObj->eWith = pEdge ? pEdge->eEdge : CP_C;
  if( pObj->eWith>=CP_END ){
    int dir = pObj->eWith==CP_END ? pObj->outDir : (pObj->inDir+2)%4;
    pObj->eWith = eDirToCp[dir];
  }
  pObj->with = *pAt;
}

/*
** Try to add a text attribute to an object
Added tests/test80.pikchr.




























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
TITLE: text "'with .start at' tests..." \
            "Top row should match bottom row" \
            "Forum post a48fbe155b on 2024-06-25" fit

B1: box with .nw at 1cm below TITLE.sw
C1: circle with .start at B1.end

B2: box with .n at 3cm below B1.n
C2: circle

down
B3: box with .w at 1cm right of C1.e
C3: circle with .start at B3.end

B4: box with .n at 3cm below B3.n
C4: circle

left
B5: box with .n at 4cm right of B3.n
C5: circle with .start at B5.end

B6: box with .n at 3cm below B5.n
C6: circle

up
B7: box with .n at 2.5cm right of B5.s
C7: circle with .start at B7.end

B8: box with .n at 3cm below B7.n
C7: circle