⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 txviewport.h

📁 linux可以运行程序源码
💻 H
字号:
/* Copyright (C) 2002-2005 RealVNC Ltd.  All Rights Reserved. *  * This is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. *  * This software is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU General Public License for more details. *  * You should have received a copy of the GNU General Public License * along with this software; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, * USA. *///// TXViewport.h//// A TXViewport allows a large window to be viewed by adding scrollbars to the// right and bottom if necessary.  It also has a bump-scroll mode where there// are no scrollbars, and scrolling is achieved by bumping up against the edge// of the screen instead.  Note that this only works when the viewport fills// the entire screen.  If the child window is smaller than the viewport, it is// always positioned centrally in the viewport.#ifndef __TXVIEWPORT_H__#define __TXVIEWPORT_H__#include <rfb/Timer.h>#include "TXWindow.h"#include "TXScrollbar.h"class TXViewport : public TXWindow, public TXScrollbarCallback,                   public rfb::Timer::Callback {public:  TXViewport(Display* dpy_, int width, int height, TXWindow* parent_=0);  virtual ~TXViewport();  // setChild() sets the child window which is to be viewed in the viewport.  void setChild(TXWindow* child_);  // setOffset() sets the position of the child in the viewport.  Note that the  // offsets are negative.  For example when the offset is (-100,-30), position  // (100,30) in the child window is at the top-left of the viewport.  The  // offsets given are clipped to keep the child window filling the viewport  // (except where the child window is smaller than the viewport, in which case  // it is always positioned centrally in the viewport).  It returns true if  // the child was repositioned.  bool setOffset(int x, int y);  // setBumpScroll() puts the viewport in bump-scroll mode.  void setBumpScroll(bool b);  // bumpScrollEvent() can be called with a MotionNotify event which may  // potentially be against the edge of the screen.  It returns true if the  // event was used for bump-scrolling, false if it should be processed  // normally.  bool bumpScrollEvent(XMotionEvent* ev);private:  virtual void resizeNotify();  virtual void scrollbarPos(int x, int y, TXScrollbar* sb);  virtual bool handleTimeout(rfb::Timer* timer);  TXWindow* clipper;  TXWindow* child;  TXScrollbar* hScrollbar;  TXScrollbar* vScrollbar;  const int scrollbarSize;  int xOff, yOff;  rfb::Timer bumpScrollTimer;  bool bumpScroll;  bool needScrollbars;  int bumpScrollX, bumpScrollY;};#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -