/*ARGSUSED*/ static void ScrollTextUpDownBy( Widget scrollbarWidget, XtPointer client_data GCC_UNUSED, XtPointer call_data) { XtermWidget xw = getXtermWidget(scrollbarWidget); if (xw != 0) { long pixels = (long) call_data; TScreen *screen = TScreenOf(xw); int rowOnScreen, newTopLine; rowOnScreen = (int) (pixels / FontHeight(screen)); if (rowOnScreen == 0) { if (pixels < 0) rowOnScreen = -1; else if (pixels > 0) rowOnScreen = 1; } newTopLine = ROW2INX(screen, rowOnScreen); WindowScroll(xw, newTopLine, True); } }
long FAR PASCAL _export _EasyWinProc(HWND Window, UINT Message, WPARAM WParam, LONG LParam) { CrtWindow = Window; switch (Message) { case WM_CREATE: WindowCreate(); break; case WM_PAINT: WindowPaint(); break; case WM_VSCROLL: WindowScroll(SB_VERT, WParam, LoVal(LParam)); break; case WM_HSCROLL: WindowScroll(SB_HORZ, WParam, LoVal(LParam)); break; case WM_SIZE: WindowResize(LoVal(LParam), HiVal(LParam)); break; case WM_GETMINMAXINFO: WindowMinMaxInfo((TMinMaxInfo far *) LParam); break; case WM_CHAR: WindowChar((char)WParam); break; case WM_KEYDOWN: WindowKeyDown((BYTE)WParam); break; case WM_SETFOCUS: WindowSetFocus(); break; case WM_KILLFOCUS: WindowKillFocus(); break; case WM_DESTROY: WindowDestroy(); break; default: return DefWindowProc(Window, Message, WParam, LParam); } return NULL; }
/*ARGSUSED*/ static void ScrollTextTo(Widget scrollbarWidget,caddr_t closure, XmScrollBarCallbackStruct *call_data) { register TScreen *screen = &term->screen; int thumbTop; /* relative to first saved line */ int newTopLine; thumbTop = call_data->value; newTopLine = thumbTop - screen->savedlines; WindowScroll(screen, newTopLine); }
/*ARGSUSED*/ static void ScrollTextUpDownBy(Widget scrollbarWidget,Opaque closure, int pixels) { register TScreen *screen = &term->screen; register int rowOnScreen, newTopLine; rowOnScreen = pixels / FontHeight(screen); if (rowOnScreen == 0) { if (pixels < 0) rowOnScreen = -1; else if (pixels > 0) rowOnScreen = 1; } newTopLine = screen->topline + rowOnScreen; WindowScroll(screen, newTopLine); }
static void WindowKeyDown(BYTE KeyDown) { BOOL CtrlDown; int I; if (_CheckBreak && (KeyDown == VK_CANCEL)) Terminate(); CtrlDown = (BOOL) (GetKeyState(VK_CONTROL < 0)); for (I = 0; I < ScrollKeyCount; ++I) { if (ScrollKeys[I].Key == KeyDown && ScrollKeys[I].Ctrl == CtrlDown) { WindowScroll(ScrollKeys[I].SBar, ScrollKeys[I].Action, 0); return; } } }
static void AdjustAfterInput(TScreen * screen) { if (screen->scrollkey && screen->topline != 0) WindowScroll(screen, 0); if (screen->marginbell) { int col = screen->max_col - screen->nmarginbell; if (screen->bellarmed >= 0) { if (screen->bellarmed == screen->cur_row) { if (screen->cur_col >= col) { Bell(XkbBI_MarginBell, 0); screen->bellarmed = -1; } } else screen->bellarmed = screen->cur_col < col ? screen->cur_row : -1; } else if (screen->cur_col < col) screen->bellarmed = screen->cur_row; } }
/*ARGSUSED*/ static void ScrollTextTo( Widget scrollbarWidget, XtPointer client_data GCC_UNUSED, XtPointer call_data) { XtermWidget xw = getXtermWidget(scrollbarWidget); if (xw != 0) { float *topPercent = (float *) call_data; TScreen *screen = TScreenOf(xw); int thumbTop; /* relative to first saved line */ int newTopLine; /* * screen->savedlines : Number of offscreen text lines, * MaxRows(screen) : Number of onscreen text lines, */ thumbTop = (int) (*topPercent * (float) (screen->savedlines + MaxRows(screen))); newTopLine = thumbTop - screen->savedlines; WindowScroll(xw, newTopLine, True); } }