diff options
Diffstat (limited to 'app/xterm/xterm.h')
-rw-r--r-- | app/xterm/xterm.h | 88 |
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) \ |