summaryrefslogtreecommitdiff
path: root/app/xterm/xterm.h
diff options
context:
space:
mode:
Diffstat (limited to 'app/xterm/xterm.h')
-rw-r--r--app/xterm/xterm.h88
1 files changed, 64 insertions, 24 deletions
diff --git a/app/xterm/xterm.h b/app/xterm/xterm.h
index d552da433..36b279992 100644
--- a/app/xterm/xterm.h
+++ b/app/xterm/xterm.h
@@ -1,7 +1,7 @@
-/* $XTermId: xterm.h,v 1.673 2011/12/27 09:51:07 tom Exp $ */
+/* $XTermId: xterm.h,v 1.694 2012/05/09 10:47:22 tom Exp $ */
/*
- * Copyright 1999-2010,2011 by Thomas E. Dickey
+ * Copyright 1999-2011,2012 by Thomas E. Dickey
*
* All Rights Reserved
*
@@ -467,6 +467,7 @@ extern char **environ;
#define XtNpointerMode "pointerMode"
#define XtNpointerShape "pointerShape"
#define XtNpopOnBell "popOnBell"
+#define XtNprecompose "precompose"
#define XtNprintAttributes "printAttributes"
#define XtNprinterAutoClose "printerAutoClose"
#define XtNprinterCommand "printerCommand"
@@ -477,7 +478,7 @@ extern char **environ;
#define XtNquietGrab "quietGrab"
#define XtNrenderFont "renderFont"
#define XtNresizeGravity "resizeGravity"
-#define XtNretryInputMethod "retryInputMethod"
+#define XtNretryInputMethod "retryInputMethod"
#define XtNreverseWrap "reverseWrap"
#define XtNrightScrollBar "rightScrollBar"
#define XtNsaveLines "saveLines"
@@ -634,6 +635,7 @@ extern char **environ;
#define XtCOldXtermFKeys "OldXtermFKeys"
#define XtCPointerMode "PointerMode"
#define XtCPopOnBell "PopOnBell"
+#define XtCPrecompose "Precompose"
#define XtCPrintAttributes "PrintAttributes"
#define XtCPrinterAutoClose "PrinterAutoClose"
#define XtCPrinterCommand "PrinterCommand"
@@ -644,7 +646,7 @@ extern char **environ;
#define XtCQuietGrab "QuietGrab"
#define XtCRenderFont "RenderFont"
#define XtCResizeGravity "ResizeGravity"
-#define XtCRetryInputMethod "RetryInputMethod"
+#define XtCRetryInputMethod "RetryInputMethod"
#define XtCReverseWrap "ReverseWrap"
#define XtCRightScrollBar "RightScrollBar"
#define XtCSaveLines "SaveLines"
@@ -838,6 +840,7 @@ extern void releaseWindowGCs(XtermWidget /*xw*/, VTwin * /*win*/);
extern void resetCharsets (TScreen * /* screen */);
extern void set_max_col(TScreen * /* screen */, int /* cols */);
extern void set_max_row(TScreen * /* screen */, int /* rows */);
+extern void set_lr_margins (TScreen * /* screen */, int /* left */, int /* right */);
extern void set_tb_margins (TScreen * /* screen */, int /* top */, int /* bottom */);
extern void unparse_end (XtermWidget /* xw */);
extern void unparseputc (XtermWidget /* xw */, int /* c */);
@@ -852,6 +855,10 @@ extern void xtermAddInput(Widget /* w */);
extern void ToggleCursorBlink(TScreen * /* screen */);
#endif
+#if OPT_BLINK_TEXT
+extern Bool LineHasBlinking(TScreen * /* screen */, LineData * /* ld */);
+#endif
+
#if OPT_INPUT_METHOD
extern TInput *lookupTInput (XtermWidget /* xw */, Widget /* w */);
#endif
@@ -870,13 +877,15 @@ extern unsigned xtermCharSetIn (unsigned /* code */, int /* charset */);
extern int xtermCharSetOut (XtermWidget /* xw */, IChar * /* buf */, IChar * /* ptr */, int /* charset */);
/* cursor.c */
+extern int CursorCol (XtermWidget /* xw */);
+extern int CursorRow (XtermWidget /* xw */);
extern void AdjustSavedCursor (XtermWidget /* xw */, int /* adjust */);
-extern void CarriageReturn (TScreen * /* screen */);
-extern void CursorBack (XtermWidget /* xw */, int /* n */);
-extern void CursorDown (TScreen * /* screen */, int /* n */);
-extern void CursorForward (TScreen * /* screen */, int /* n */);
-extern void CursorNextLine (TScreen * /* screen */, int /* count */);
-extern void CursorPrevLine (TScreen * /* screen */, int /* count */);
+extern void CarriageReturn (XtermWidget /* xw */);
+extern void CursorBack (XtermWidget /* xw */, int /* n */);
+extern void CursorDown (TScreen * /* screen */, int /* n */);
+extern void CursorForward (XtermWidget /* xw */, int /* n */);
+extern void CursorNextLine (XtermWidget /* xw */, int /* count */);
+extern void CursorPrevLine (XtermWidget /* xw */, int /* count */);
extern void CursorRestore (XtermWidget /* xw */);
extern void CursorSave (XtermWidget /* xw */);
extern void CursorSet (TScreen * /* screen */, int /* row */, int /* col */, unsigned /* flags */);
@@ -896,6 +905,7 @@ extern int set_cur_row(TScreen * /* screen */, int /* value */);
extern void xterm_DECDHL (XtermWidget /* xw */, Bool /* top */);
extern void xterm_DECSWL (XtermWidget /* xw */);
extern void xterm_DECDWL (XtermWidget /* xw */);
+extern void xterm_ResetDouble(XtermWidget /* xw */);
#if OPT_DEC_CHRSET
extern int xterm_Double_index(XtermWidget /* xw */, unsigned /* chrset */, unsigned /* flags */);
extern GC xterm_DoubleGC(XtermWidget /* xw */, unsigned /* chrset */, unsigned /* flags */, GC /* old_gc */, int * /* inxp */);
@@ -984,6 +994,7 @@ extern int xerror (Display * /* d */, XErrorEvent * /* ev */);
extern int xioerror (Display * /* dpy */);
extern int xtermResetIds(TScreen * /* screen */);
extern void Bell (XtermWidget /* xw */, int /* which */, int /* percent */);
+extern void ChangeGroup(XtermWidget /* xw */, const char * /* attribute */, char * /* value */);
extern void ChangeIconName (XtermWidget /* xw */, char * /* name */);
extern void ChangeTitle (XtermWidget /* xw */, char * /* name */);
extern void ChangeXprop (char * /* name */);
@@ -1139,14 +1150,15 @@ extern void writePtyData (int /* f */, IChar * /* d */, unsigned /* len */);
/* screen.c */
extern Bool non_blank_line (TScreen */* screen */, int /* row */, int /* col */, int /* len */);
-extern Char * allocScrnData(TScreen * /* screen */, unsigned /* nrow */, unsigned /* ncol */);
+extern Char * allocScrnData (TScreen * /* screen */, unsigned /* nrow */, unsigned /* ncol */);
extern ScrnBuf allocScrnBuf (XtermWidget /* xw */, unsigned /* nrow */, unsigned /* ncol */, ScrnPtr * /* addr */);
extern ScrnBuf scrnHeadAddr (TScreen * /* screen */, ScrnBuf /* base */, unsigned /* offset */);
extern int ScreenResize (XtermWidget /* xw */, int /* width */, int /* height */, unsigned * /* flags */);
extern size_t ScrnPointers (TScreen * /* screen */, size_t /* len */);
extern void ClearBufRows (XtermWidget /* xw */, int /* first */, int /* last */);
extern void ClearCells (XtermWidget /* xw */, int /* flags */, unsigned /* len */, int /* row */, int /* col */);
-extern void FullScreen(XtermWidget /* xw */, Bool /* enabled */);
+extern void CopyCells (TScreen * /* screen */, LineData * /* src */, LineData * /* dst */, int /* col */, int /* len */);
+extern void FullScreen (XtermWidget /* xw */, Bool /* enabled */);
extern void ScrnAllocBuf (XtermWidget /* xw */);
extern void ScrnClearCells (XtermWidget /* xw */, int /* row */, int /* col */, unsigned /* len */);
extern void ScrnDeleteChar (XtermWidget /* xw */, unsigned /* n */);
@@ -1190,23 +1202,38 @@ extern void LineSetFlag(LineData /* ld */, int /* flag */);
((screen)->startH.row != (screen)->endH.row \
|| (screen)->startH.col != (screen)->endH.col)
-#define ScrnAreLinesInSelection(screen, first, last) \
+#define ScrnAreRowsInSelection(screen, first, last) \
((last) >= (screen)->startH.row && (first) <= (screen)->endH.row)
-#define ScrnIsLineInSelection(screen, line) \
+#define ScrnIsRowInSelection(screen, line) \
((line) >= (screen)->startH.row && (line) <= (screen)->endH.row)
-#define ScrnHaveLineMargins(screen) \
+#define ScrnHaveRowMargins(screen) \
((screen)->top_marg != 0 \
|| ((screen)->bot_marg != screen->max_row))
-#define ScrnIsLineInMargins(screen, line) \
+#define ScrnIsRowInMargins(screen, line) \
((line) >= (screen)->top_marg && (line) <= (screen)->bot_marg)
+#define ScrnHaveColMargins(screen) \
+ ((screen)->rgt_marg > (screen)->max_col)
+
+#define ScrnIsColInMargins(screen, col) \
+ ((col) >= (screen)->lft_marg && (col) <= (screen)->rgt_marg)
+
+#define IsLeftRightMode(xw) ((xw)->flags & LEFT_RIGHT)
+#define ScrnLeftMargin(xw) (IsLeftRightMode(xw) \
+ ? TScreenOf(xw)->lft_marg \
+ : 0)
+#define ScrnRightMargin(xw) (IsLeftRightMode(xw) \
+ ? TScreenOf(xw)->rgt_marg \
+ : MaxCols(TScreenOf(xw)) - 1)
+
#if OPT_DEC_RECTOPS
extern void ScrnCopyRectangle (XtermWidget /* xw */, XTermRect *, int, int *);
extern void ScrnMarkRectangle (XtermWidget /* xw */, XTermRect *, Bool, int, int *);
extern void ScrnWipeRectangle (XtermWidget /* xw */, XTermRect *);
+extern void xtermCheckRect(XtermWidget /* xw */, int /* nparam */, int */* params */, int * /* result */);
#endif
#if OPT_WIDE_CHARS
@@ -1248,7 +1275,6 @@ extern void TabZonk (Tabs /* tabs */);
extern Boolean isDefaultBackground(const char * /* name */);
extern Boolean isDefaultForeground(const char * /* name */);
extern GC updatedXtermGC (XtermWidget /* xw */, unsigned /* flags */, unsigned /* fg_bg */, Bool /* hilite */);
-extern int AddToRefresh (XtermWidget /* xw */);
extern int ClearInLine (XtermWidget /* xw */, int /* row */, int /* col */, unsigned /* len */);
extern int HandleExposure (XtermWidget /* xw */, XEvent * /* event */);
extern int dimRound (double /* value */);
@@ -1291,7 +1317,7 @@ extern void xtermSizeHints (XtermWidget /* xw */, int /* scrollbarWidth */);
extern unsigned extract_fg (XtermWidget /* xw */, unsigned /* color */, unsigned /* flags */);
extern unsigned extract_bg (XtermWidget /* xw */, unsigned /* color */, unsigned /* flags */);
extern CellColor makeColorPair (int /* fg */, int /* bg */);
-extern void ClearCurBackground (XtermWidget /* xw */, int /* top */, int /* left */, unsigned /* height */, unsigned /* width */);
+extern void ClearCurBackground (XtermWidget /* xw */, int /* top */, int /* left */, unsigned /* height */, unsigned /* width */, unsigned /* fw */);
#define xtermColorPair(xw) makeColorPair(xw->sgr_foreground, xw->sgr_background)
@@ -1347,12 +1373,14 @@ extern Pixel xtermGetColorRes(XtermWidget /* xw */, ColorRes * /* res */);
#define MapToColorMode(fg, screen, flags) fg
-#define ClearDFtBackground(xw, top, left, height, width) \
- ClearCurBackground(xw, top, left, height, width)
-
-#define ClearCurBackground(xw, top, left, height, width) \
- XClearArea (TScreenOf(xw)->display, VWindow(TScreenOf(xw)), \
- left, top, width, height, False)
+#define ClearCurBackground(xw, top, left, height, width, fw) \
+ XClearArea (TScreenOf(xw)->display, \
+ VWindow(TScreenOf(xw)), \
+ CursorX2(TScreenOf(xw), left, fw), \
+ CursorY(TScreenOf(xw), top), \
+ width * fw, \
+ height * FontHeight(TScreenOf(xw)), \
+ False)
#define extract_fg(xw, color, flags) (xw)->cur_foreground
#define extract_bg(xw, color, flags) (xw)->cur_background
@@ -1368,11 +1396,23 @@ extern Pixel xtermGetColorRes(XtermWidget /* xw */, ColorRes * /* res */);
#endif /* OPT_ISO_COLORS */
+#if OPT_ZICONBEEP
+extern void initZIconBeep(void);
+extern void resetZIconBeep(XtermWidget /* xw */);
+extern Boolean showZIconBeep(XtermWidget /* xw */, char * /* name */);
+#else
+#define initZIconBeep() /* nothing */
+#define showZIconBeep(xw, name) False
+#endif
+
#define XTERM_CELL(row,col) getXtermCell(screen, ROW2INX(screen, row), col)
extern unsigned getXtermCell (TScreen * /* screen */, int /* row */, int /* col */);
+extern unsigned getXtermCombining(TScreen * /* screen */, int /* row */, int /* col */, int /* off */);
extern void putXtermCell (TScreen * /* screen */, int /* row */, int /* col */, int /* ch */);
+#define IsCellCombined(screen, row, col) (getXtermCombining(screen, row, col, 0) != 0)
+
#if OPT_HIGHLIGHT_COLOR
#define isNotForeground(xw, fg, bg, sel) \
(Boolean) ((sel) != T_COLOR(TScreenOf(xw), TEXT_FG) \