Lines Matching defs:chunkPtr
122 TkTextDispChunk *chunkPtr; /* Pointer to first chunk in list of all
301 TkTextDispChunk *chunkPtr));
302 static void CharBboxProc _ANSI_ARGS_((TkTextDispChunk *chunkPtr,
306 static void CharDisplayProc _ANSI_ARGS_((TkTextDispChunk *chunkPtr,
309 static int CharMeasureProc _ANSI_ARGS_((TkTextDispChunk *chunkPtr,
312 TkTextDispChunk *chunkPtr));
723 TkTextDispChunk *chunkPtr; /* Current chunk. */
772 dlPtr->chunkPtr = NULL;
785 chunkPtr = NULL;
816 if (chunkPtr == NULL) {
817 chunkPtr = (TkTextDispChunk *) ckalloc(sizeof(TkTextDispChunk));
818 chunkPtr->nextPtr = NULL;
820 chunkPtr->stylePtr = GetStyle(textPtr, &curIndex);
829 tabArrayPtr = chunkPtr->stylePtr->sValuePtr->tabArrayPtr;
830 justify = chunkPtr->stylePtr->sValuePtr->justify;
831 rMargin = chunkPtr->stylePtr->sValuePtr->rMargin;
832 wrapMode = chunkPtr->stylePtr->sValuePtr->wrapMode;
834 ? chunkPtr->stylePtr->sValuePtr->lMargin1
835 : chunkPtr->stylePtr->sValuePtr->lMargin2);
868 chunkPtr->x = x;
871 chunkPtr);
873 FreeStyle(textPtr, chunkPtr->stylePtr);
890 if (chunkPtr != NULL) {
891 ckfree((char *) chunkPtr);
895 if (chunkPtr->numChars > 0) {
897 lastCharChunkPtr = chunkPtr;
900 dlPtr->chunkPtr = chunkPtr;
902 lastChunkPtr->nextPtr = chunkPtr;
904 lastChunkPtr = chunkPtr;
905 x += chunkPtr->width;
906 if (chunkPtr->breakIndex > 0) {
907 breakCharOffset = chunkPtr->breakIndex;
909 breakChunkPtr = chunkPtr;
911 if (chunkPtr->numChars != maxChars) {
925 x = chunkPtr->x + chunkPtr->width;
928 tabChunkPtr = chunkPtr;
934 curIndex.charIndex += chunkPtr->numChars;
935 offset += chunkPtr->numChars;
940 chunkPtr = NULL;
968 chunkPtr = breakChunkPtr->nextPtr;
969 if (chunkPtr == NULL) {
972 FreeStyle(textPtr, chunkPtr->stylePtr);
973 breakChunkPtr->nextPtr = chunkPtr->nextPtr;
974 (*chunkPtr->undisplayProc)(textPtr, chunkPtr);
975 ckfree((char *) chunkPtr);
1021 for (chunkPtr = dlPtr->chunkPtr; chunkPtr != NULL;
1022 chunkPtr = chunkPtr->nextPtr) {
1023 chunkPtr->x += jIndent;
1024 dlPtr->count += chunkPtr->numChars;
1025 if (chunkPtr->minAscent > ascent) {
1026 ascent = chunkPtr->minAscent;
1028 if (chunkPtr->minDescent > descent) {
1029 descent = chunkPtr->minDescent;
1031 if (chunkPtr->minHeight > dlPtr->height) {
1032 dlPtr->height = chunkPtr->minHeight;
1034 sValuePtr = chunkPtr->stylePtr->sValuePtr;
1046 sValuePtr = dlPtr->chunkPtr->stylePtr->sValuePtr;
1480 register TkTextDispChunk *chunkPtr, *nextChunkPtr;
1497 for (chunkPtr = firstPtr->chunkPtr; chunkPtr != NULL;
1498 chunkPtr = nextChunkPtr) {
1499 if (chunkPtr->undisplayProc != NULL) {
1500 (*chunkPtr->undisplayProc)(textPtr, chunkPtr);
1502 FreeStyle(textPtr, chunkPtr->stylePtr);
1503 nextChunkPtr = chunkPtr->nextPtr;
1504 ckfree((char *) chunkPtr);
1542 register TkTextDispChunk *chunkPtr;
1571 for (chunkPtr = dlPtr->chunkPtr; (chunkPtr != NULL);
1572 chunkPtr = chunkPtr->nextPtr) {
1573 x = chunkPtr->x + dInfoPtr->x - dInfoPtr->curPixelOffset;
1574 if (chunkPtr->displayProc == TkTextInsertDisplayProc) {
1575 (*chunkPtr->displayProc)(chunkPtr, x, dlPtr->spaceAbove,
1591 for (chunkPtr = dlPtr->chunkPtr; (chunkPtr != NULL);
1592 chunkPtr = chunkPtr->nextPtr) {
1593 if (chunkPtr->displayProc == TkTextInsertDisplayProc) {
1601 x = chunkPtr->x + dInfoPtr->x - dInfoPtr->curPixelOffset;
1602 if ((x + chunkPtr->width <= 0) || (x >= dInfoPtr->maxX)) {
1613 (*chunkPtr->displayProc)(chunkPtr, -chunkPtr->width,
1619 (*chunkPtr->displayProc)(chunkPtr, x, dlPtr->spaceAbove,
1683 TkTextDispChunk *chunkPtr; /* Pointer to chunk in the current line. */
1697 int rightX; /* Right edge of chunkPtr. */
1719 chunkPtr = dlPtr->chunkPtr;
1720 leftX = chunkPtr->x;
1721 for (; leftX < maxX; chunkPtr = chunkPtr->nextPtr) {
1722 if ((chunkPtr->nextPtr != NULL)
1723 && SAME_BACKGROUND(chunkPtr->nextPtr->stylePtr,
1724 chunkPtr->stylePtr)) {
1727 sValuePtr = chunkPtr->stylePtr->sValuePtr;
1728 rightX = chunkPtr->x + chunkPtr->width;
1729 if ((chunkPtr->nextPtr == NULL) && (rightX < maxX)) {
1732 if (chunkPtr->stylePtr->bgGC != None) {
1733 XFillRectangle(display, pixmap, chunkPtr->stylePtr->bgGC,
1756 chunkPtr = dlPtr->chunkPtr;
1757 leftX = chunkPtr->x;
1759 rightX = chunkPtr->x + chunkPtr->width;
1760 if ((chunkPtr->nextPtr == NULL) && (rightX < maxX)) {
1769 nextPtr2 = prevPtr->chunkPtr;
1789 && SAME_BACKGROUND(chunkPtr2->stylePtr, chunkPtr->stylePtr);
1790 sValuePtr = chunkPtr->stylePtr->sValuePtr;
1797 if ((chunkPtr->nextPtr == NULL)
1798 || !SAME_BACKGROUND(chunkPtr->stylePtr,
1799 chunkPtr->nextPtr->stylePtr)) {
1819 chunkPtr = chunkPtr->nextPtr;
1820 if (chunkPtr == NULL) {
1823 rightX = chunkPtr->x + chunkPtr->width;
1824 if ((chunkPtr->nextPtr == NULL) && (rightX < maxX)) {
1839 && SAME_BACKGROUND(nextPtr2->stylePtr, chunkPtr->stylePtr);
1877 chunkPtr = dlPtr->chunkPtr;
1878 leftX = chunkPtr->x;
1880 rightX = chunkPtr->x + chunkPtr->width;
1881 if ((chunkPtr->nextPtr == NULL) && (rightX < maxX)) {
1890 nextPtr2 = dlPtr->nextPtr->chunkPtr;
1910 && SAME_BACKGROUND(chunkPtr2->stylePtr, chunkPtr->stylePtr);
1911 sValuePtr = chunkPtr->stylePtr->sValuePtr;
1913 if ((chunkPtr->nextPtr == NULL)
1914 || !SAME_BACKGROUND(chunkPtr->stylePtr,
1915 chunkPtr->nextPtr->stylePtr)) {
1929 chunkPtr = chunkPtr->nextPtr;
1930 if (chunkPtr == NULL) {
1933 rightX = chunkPtr->x + chunkPtr->width;
1934 if ((chunkPtr->nextPtr == NULL) && (rightX < maxX)) {
1941 && SAME_BACKGROUND(nextPtr2->stylePtr, chunkPtr->stylePtr);
3134 TkTextDispChunk *chunkPtr;
3178 for (chunkPtr = dlPtr->chunkPtr; ; chunkPtr = chunkPtr->nextPtr) {
3179 if (charCount < chunkPtr->numChars) {
3182 charCount -= chunkPtr->numChars;
3190 (*chunkPtr->bboxProc)(chunkPtr, charCount, dlPtr->y + dlPtr->spaceAbove,
3940 register TkTextDispChunk *chunkPtr;
3994 for (chunkPtr = dlPtr->chunkPtr; x >= (chunkPtr->x + chunkPtr->width);
3995 indexPtr->charIndex += chunkPtr->numChars,
3996 chunkPtr = chunkPtr->nextPtr) {
3997 if (chunkPtr->nextPtr == NULL) {
3998 indexPtr->charIndex += chunkPtr->numChars - 1;
4008 if (chunkPtr->numChars > 1) {
4009 indexPtr->charIndex += (*chunkPtr->measureProc)(chunkPtr, x);
4046 register TkTextDispChunk *chunkPtr;
4072 for (chunkPtr = dlPtr->chunkPtr; ; chunkPtr = chunkPtr->nextPtr) {
4073 if (chunkPtr == NULL) {
4076 if (index < chunkPtr->numChars) {
4079 index -= chunkPtr->numChars;
4090 (*chunkPtr->bboxProc)(chunkPtr, index, dlPtr->y + dlPtr->spaceAbove,
4095 if ((index == (chunkPtr->numChars-1)) && (chunkPtr->nextPtr == NULL)) {
4176 *xPtr = dInfoPtr->x - dInfoPtr->curPixelOffset + dlPtr->chunkPtr->x;
4177 *widthPtr = dlPtr->length - dlPtr->chunkPtr->x;
4198 * non-zero value is returned and the fields of chunkPtr
4214 noCharsYet, wrapMode, chunkPtr)
4229 register TkTextDispChunk *chunkPtr;
4253 fontPtr = chunkPtr->stylePtr->sValuePtr->fontPtr;
4254 charsThatFit = TkMeasureChars(fontPtr, p, maxChars, chunkPtr->x,
4259 TkMeasureChars(fontPtr, p, 1, chunkPtr->x, INT_MAX, 0,
4292 chunkPtr->displayProc = CharDisplayProc;
4293 chunkPtr->undisplayProc = CharUndisplayProc;
4294 chunkPtr->measureProc = CharMeasureProc;
4295 chunkPtr->bboxProc = CharBboxProc;
4296 chunkPtr->numChars = charsThatFit;
4297 chunkPtr->minAscent = fontPtr->ascent
4298 + chunkPtr->stylePtr->sValuePtr->offset;
4299 chunkPtr->minDescent = fontPtr->descent
4300 - chunkPtr->stylePtr->sValuePtr->offset;;
4301 chunkPtr->minHeight = 0;
4302 chunkPtr->width = nextX - chunkPtr->x;
4303 chunkPtr->breakIndex = -1;
4306 chunkPtr->clientData = (ClientData) ciPtr;
4321 chunkPtr->breakIndex = chunkPtr->numChars;
4326 chunkPtr->breakIndex = count;
4335 chunkPtr->breakIndex = chunkPtr->numChars;
4364 CharDisplayProc(chunkPtr, x, y, height, baseline, display, dst, screenY)
4365 TkTextDispChunk *chunkPtr; /* Chunk that is to be drawn. */
4380 CharInfo *ciPtr = (CharInfo *) chunkPtr->clientData;
4385 if ((x + chunkPtr->width) <= 0) {
4393 stylePtr = chunkPtr->stylePtr;
4408 ciPtr->numChars, x, 0, x - chunkPtr->x, TK_IGNORE_TABS, &offsetX);
4418 offsetX, y + baseline - sValuePtr->offset, x - chunkPtr->x,
4423 y + baseline - sValuePtr->offset, x - chunkPtr->x,
4432 x - chunkPtr->x, TK_IGNORE_TABS, 0,
4458 CharUndisplayProc(textPtr, chunkPtr)
4461 TkTextDispChunk *chunkPtr; /* Chunk that is about to be freed. */
4463 CharInfo *ciPtr = (CharInfo *) chunkPtr->clientData;
4488 CharMeasureProc(chunkPtr, x)
4489 TkTextDispChunk *chunkPtr; /* Chunk containing desired coord. */
4491 * system as chunkPtr->x. */
4493 CharInfo *ciPtr = (CharInfo *) chunkPtr->clientData;
4496 return TkMeasureChars(chunkPtr->stylePtr->sValuePtr->fontPtr,
4497 ciPtr->chars, chunkPtr->numChars-1, chunkPtr->x, x, 0,
4526 CharBboxProc(chunkPtr, index, y, lineHeight, baseline, xPtr, yPtr,
4528 TkTextDispChunk *chunkPtr; /* Chunk containing desired char. */
4539 * system as chunkPtr->x. */
4545 CharInfo *ciPtr = (CharInfo *) chunkPtr->clientData;
4548 maxX = chunkPtr->width + chunkPtr->x;
4549 TkMeasureChars(chunkPtr->stylePtr->sValuePtr->fontPtr,
4550 ciPtr->chars, index, chunkPtr->x, 1000000, 0, TK_IGNORE_TABS,
4569 TkMeasureChars(chunkPtr->stylePtr->sValuePtr->fontPtr,
4578 *yPtr = y + baseline - chunkPtr->minAscent;
4579 *heightPtr = chunkPtr->minAscent + chunkPtr->minDescent;
4595 * The width of chunkPtr gets adjusted so that it absorbs the
4597 * after chunkPtr are adjusted rightward to align with the tab
4604 AdjustForTab(textPtr, tabArrayPtr, index, chunkPtr)
4612 TkTextDispChunk *chunkPtr; /* Chunk whose last character is
4626 if (chunkPtr->nextPtr == NULL) {
4639 x = chunkPtr->nextPtr->x;
4682 for (chunkPtr2 = chunkPtr->nextPtr; chunkPtr2 != NULL;
4702 for (chunkPtr2 = chunkPtr->nextPtr; chunkPtr2 != NULL;
4739 for (chunkPtr2 = chunkPtr->nextPtr; chunkPtr2 != NULL;
4759 for (chunkPtr2 = chunkPtr->nextPtr; chunkPtr2 != NULL;
4763 chunkPtr->width += delta;