Lines Matching refs:mark
20 * Macro that determines the size of a mark segment:
50 * The following structures declare the "mark" segment types.
57 "mark", /* name */
68 "mark", /* name */
84 * This procedure is invoked to process the "mark" options of
104 * argv[1] is "mark". */
116 argv[0], " mark option ?arg arg ...?\"", (char *) NULL);
124 argv[0], " mark gravity markName ?gravity?",
130 Tcl_AppendResult(interp, "there is no mark named \"",
150 Tcl_AppendResult(interp, "bad mark gravity \"",
156 markPtr->body.mark.linePtr);
162 argv[0], " mark names\"", (char *) NULL);
173 argv[0], " mark next index\"", (char *) NULL);
180 argv[0], " mark previous index\"", (char *) NULL);
187 argv[0], " mark set markName index\"", (char *) NULL);
204 markPtr->body.mark.linePtr);
210 Tcl_AppendResult(interp, "bad mark option \"", argv[2],
224 * Set a mark to a particular position, creating a new mark if
228 * The return value is a pointer to the mark that was just set.
231 * A new mark is created, or an existing mark is moved.
238 TkText *textPtr; /* Text widget in which to create mark. */
239 char *name; /* Name of mark to set. */
240 TkTextIndex *indexPtr; /* Where to set mark. */
269 markPtr->body.mark.linePtr);
274 markPtr->body.mark.textPtr = textPtr;
275 markPtr->body.mark.linePtr = indexPtr->linePtr;
276 markPtr->body.mark.hPtr = hPtr;
282 * If the mark is the insertion cursor, then update the screen at the
283 * mark's new location.
301 * Given a segment that is a mark, create an index that
303 * with non-zero size) after the mark.
316 TkText *textPtr; /* Text widget containing mark. */
323 indexPtr->linePtr = markPtr->body.mark.linePtr;
337 * Given the name of a mark, return an index corresponding
338 * to the mark name.
341 * The return value is TCL_OK if "name" exists as a mark in
343 * the next segment whose after the mark whose size is
344 * non-zero. TCL_ERROR is returned if the mark doesn't exist
355 TkText *textPtr; /* Text widget containing mark. */
356 char *name; /* Name of mark. */
377 * a mark lies in a range of characters being deleted.
384 * free up the mark; it will be done elsewhere).
408 * mark segment is moved from one line to another.
424 markPtr->body.mark.linePtr = linePtr;
434 * This procedure is the "layoutProc" for mark segments.
437 * If the mark isn't the insertion cursor then the return
439 * displayed. If the mark is the insertion character then
597 * consistency checks on mark segments.
604 * the mark.
617 if (markPtr->body.mark.linePtr != linePtr) {
618 panic("MarkCheckProc: markPtr->body.mark.linePtr bogus");
622 * Make sure that the mark is still present in the text's mark
626 for (hPtr = Tcl_FirstHashEntry(&markPtr->body.mark.textPtr->markTable,
627 &search); hPtr != markPtr->body.mark.hPtr;
630 panic("MarkCheckProc couldn't find hash table entry for mark");
641 * This procedure searches forward for the next mark.
644 * A standard Tcl result, which is a mark name or an empty string.
656 char *string; /* The starting index or mark name */
667 * If given a mark name, return the next mark in the list of
675 * For non-mark name indices we want to return any marks that
696 Tcl_GetHashKey(&textPtr->markTable, segPtr->body.mark.hPtr),
716 * This procedure searches backwards for the previous mark.
719 * A standard Tcl result, which is a mark name or an empty string.
731 char *string; /* The starting index or mark name */
742 * If given a mark name, return the previous mark in the list of
749 * For non-mark name indices we do not return any marks that
776 Tcl_GetHashKey(&textPtr->markTable, prevPtr->body.mark.hPtr),