亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? pan.c

?? 安裝DDD之前
?? C
字號:
/* $Id: pan.c,v 1.1 2004/08/28 19:25:46 dannybackx Exp $ *//*****************************************************************************//**       Copyright 1988 by Evans & Sutherland Computer Corporation,        **//**                          Salt Lake City, Utah                           **//**  Portions Copyright 1989 by the Massachusetts Institute of Technology   **//**                        Cambridge, Massachusetts                         **//**                                                                         **//**                           All Rights Reserved                           **//**                                                                         **//**    Permission to use, copy, modify, and distribute this software and    **//**    its documentation  for  any  purpose  and  without  fee is hereby    **//**    granted, provided that the above copyright notice appear  in  all    **//**    copies and that both  that  copyright  notice  and  this  permis-    **//**    sion  notice appear in supporting  documentation,  and  that  the    **//**    names of Evans & Sutherland and M.I.T. not be used in advertising    **//**    in publicity pertaining to distribution of the  software  without    **//**    specific, written prior permission.                                  **//**                                                                         **//**    EVANS & SUTHERLAND AND M.I.T. DISCLAIM ALL WARRANTIES WITH REGARD    **//**    TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES  OF  MERCHANT-    **//**    ABILITY  AND  FITNESS,  IN  NO  EVENT SHALL EVANS & SUTHERLAND OR    **//**    M.I.T. BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL  DAM-    **//**    AGES OR  ANY DAMAGES WHATSOEVER  RESULTING FROM LOSS OF USE, DATA    **//**    OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER    **//**    TORTIOUS ACTION, ARISING OUT OF OR IN  CONNECTION  WITH  THE  USE    **//**    OR PERFORMANCE OF THIS SOFTWARE.                                     **//*****************************************************************************//**************************************************************************** * This module is based on Twm, but has been siginificantly modified  * by Rob Nation  ****************************************************************************//*********************************************************************** * The rest of it is all my fault -- MLM * mwm - "LessTif Window Manager" ***********************************************************************/#include <LTconfig.h>#include <Xm/Xm.h>#include <Xm/MwmUtil.h>#include "mwm.h"#include <Xm/XmosP.h>#if XmVERSION >= 2#include <XmI/XmI.h>#endif/**************************************************************************** * The root window is surrounded by four windows which are InputOnly.  This * means you can see 'through' them, but they eat the input that happens * inside them. An EnterEvent in one of these windows causes paging. The * windows have the cursor pointing in the pan direction or are hidden if * there is no more panning left in that direction. This is mostly intended * to enable panning even over Motif applictions, which does not work yet; it * seems that Motif windows eat all mouse events. * * Hermann Dunkel, HEDU, dunkel@cul-ipn.uni-kiel.de 1/94 * Anglified the grammar so I could read it -- MLM 9/96 ***************************************************************************//* * Creates the windows for edge-scrolling  */voidPAN_Initialize(ScreenInfo *scr){    XSetWindowAttributes attributes;	/* attributes for create */    unsigned long valuemask;    attributes.event_mask = (EnterWindowMask | LeaveWindowMask |			     VisibilityChangeMask);    valuemask = (CWEventMask | CWCursor);    attributes.cursor = scr->cursors[TOP_CURS];    scr->panner_top.win =	XCreateWindow(dpy, scr->root_win,		      0, 0,		      scr->d_width, PAN_FRAME_THICKNESS,		      0,	/* no border */		      CopyFromParent, InputOnly,		      CopyFromParent,		      valuemask, &attributes);    attributes.cursor = scr->cursors[LEFT_CURS];    scr->panner_left.win =	XCreateWindow(dpy, scr->root_win,		      0, PAN_FRAME_THICKNESS,		      PAN_FRAME_THICKNESS,		      scr->d_height - 2 * PAN_FRAME_THICKNESS,		      0,	/* no border */		      CopyFromParent, InputOnly, CopyFromParent,		      valuemask, &attributes);    attributes.cursor = scr->cursors[RIGHT_CURS];    scr->panner_right.win =	XCreateWindow(dpy, scr->root_win,		      scr->d_width - PAN_FRAME_THICKNESS, PAN_FRAME_THICKNESS,		      PAN_FRAME_THICKNESS,		      scr->d_height - 2 * PAN_FRAME_THICKNESS,		      0,	/* no border */		      CopyFromParent, InputOnly, CopyFromParent,		      valuemask, &attributes);    attributes.cursor = scr->cursors[BOTTOM_CURS];    scr->panner_bottom.win =	XCreateWindow(dpy, scr->root_win,		      0, scr->d_height - PAN_FRAME_THICKNESS,		      scr->d_width, PAN_FRAME_THICKNESS,		      0,	/* no border */		      CopyFromParent, InputOnly, CopyFromParent,		      valuemask, &attributes);    scr->panner_top.isMapped = scr->panner_left.isMapped =	scr->panner_right.isMapped = scr->panner_bottom.isMapped = False;}/* * checkPanFrames hides PanFrames if they are on the very border of the * VIRTUAL screen and EdgeWrap for that direction is off.  * (A special cursor for the EdgeWrap border could be nice) HEDU */voidPAN_CheckBounds(ScreenInfo *scr){    /* Remove Pan frames if paging by edge-scroll is permanently or     * temporarily disabled */    if ((scr->edge_scroll_y == 0) || (DoHandlePageing))    {	XUnmapWindow(dpy, scr->panner_top.win);	scr->panner_top.isMapped = False;	XUnmapWindow(dpy, scr->panner_bottom.win);	scr->panner_bottom.isMapped = False;    }    if ((scr->edge_scroll_x == 0) || (DoHandlePageing))    {	XUnmapWindow(dpy, scr->panner_left.win);	scr->panner_left.isMapped = False;	XUnmapWindow(dpy, scr->panner_right.win);	scr->panner_right.isMapped = False;    }    if (scr->virt_x == 0 && scr->panner_left.isMapped)    {	XUnmapWindow(dpy, scr->panner_left.win);	scr->panner_left.isMapped = False;    }    else if (scr->virt_x > 0 && scr->panner_left.isMapped == False)    {	XMapRaised(dpy, scr->panner_left.win);	scr->panner_left.isMapped = True;    }    if (scr->virt_x == scr->virt_x_max && scr->panner_right.isMapped)    {	XUnmapWindow(dpy, scr->panner_right.win);	scr->panner_right.isMapped = False;    }    else if (scr->virt_x < scr->virt_x_max && scr->panner_right.isMapped == False)    {	XMapRaised(dpy, scr->panner_right.win);	scr->panner_right.isMapped = True;    }    /* TOP, hide only if EdgeWrap is off */    if (scr->virt_y == 0 && scr->panner_top.isMapped)    {	XUnmapWindow(dpy, scr->panner_top.win);	scr->panner_top.isMapped = False;    }    else if (scr->virt_y > 0 && scr->panner_top.isMapped == False)    {	XMapRaised(dpy, scr->panner_top.win);	scr->panner_top.isMapped = True;    }    /* BOTTOM, hide only if EdgeWrap is off */    if (scr->virt_y == scr->virt_y_max && scr->panner_bottom.isMapped)    {	XUnmapWindow(dpy, scr->panner_bottom.win);	scr->panner_bottom.isMapped = False;    }    else if (scr->virt_y < scr->virt_y_max && scr->panner_bottom.isMapped == False)    {	XMapRaised(dpy, scr->panner_bottom.win);	scr->panner_bottom.isMapped = True;    }}/* * Gotta make sure these things are on top of everything else, or they * don't work! */voidPAN_Raise(ScreenInfo *scr){    if (scr->panner_top.isMapped)	XRaiseWindow(dpy, scr->panner_top.win);    if (scr->panner_left.isMapped)	XRaiseWindow(dpy, scr->panner_left.win);    if (scr->panner_right.isMapped)	XRaiseWindow(dpy, scr->panner_right.win);    if (scr->panner_bottom.isMapped)	XRaiseWindow(dpy, scr->panner_bottom.win);}/* * check to see if a window is a panner window */BooleanPAN_IsPannerWindow(ScreenInfo *scr, Window win){    if (win == scr->panner_top.win || win == scr->panner_left.win ||	win == scr->panner_right.win || win == scr->panner_bottom.win)	return True;    return False;}/* * Check to see if the pointer is on the edge of the screen, and scroll/page * if needed  */voidPAN_PanDesktop(ScreenInfo *scr, int HorWarpSize, int VertWarpSize,	       int *xl, int *yt, int *delta_x, int *delta_y,	       Boolean Grab, XEvent *event){    extern Bool DoHandlePageing;    int x, y, total;    *delta_x = 0;    *delta_y = 0;    if (DoHandlePageing)    {	if ((scr->ScrollResistance >= 10000) ||	    ((HorWarpSize == 0) && (VertWarpSize == 0)))	    return;	/* need to move the viewport */	if ((*xl >= SCROLL_REGION) && (*xl < scr->d_width - SCROLL_REGION) &&	    (*yt >= SCROLL_REGION) && (*yt < scr->d_height - SCROLL_REGION))	    return;	total = 0;	while (total < scr->ScrollResistance)	{	    _XmMicroSleep(10000);	    total += 10;	    if (XCheckWindowEvent(dpy, scr->panner_top.win,				  LeaveWindowMask, event))	    {		MISC_StashEventTime(event);		return;	    }	    if (XCheckWindowEvent(dpy, scr->panner_bottom.win,				  LeaveWindowMask, event))	    {		MISC_StashEventTime(event);		return;	    }	    if (XCheckWindowEvent(dpy, scr->panner_left.win,				  LeaveWindowMask, event))	    {		MISC_StashEventTime(event);		return;	    }	    if (XCheckWindowEvent(dpy, scr->panner_right.win,				  LeaveWindowMask, event))	    {		MISC_StashEventTime(event);		return;	    }	}	XQueryPointer(dpy, scr->root_win, &JunkRoot, &JunkChild,		      &x, &y, &JunkX, &JunkY, &JunkMask);	/* Turn off the rubberband if its on */	WIN_DrawOutline(scr, scr->root_win, 0, 0, 0, 0);	/* Move the viewport */	/* and/or move the cursor back to the approximate correct location */	/* that is, the same place on the virtual desktop that it */	/* started at */	if (x < SCROLL_REGION)	    *delta_x = -HorWarpSize;	else if (x >= scr->d_width - SCROLL_REGION)	    *delta_x = HorWarpSize;	else	    *delta_x = 0;	if (y < SCROLL_REGION)	    *delta_y = -VertWarpSize;	else if (y >= scr->d_height - SCROLL_REGION)	    *delta_y = VertWarpSize;	else	    *delta_y = 0;	/* Ouch! lots of bounds checking */	if (scr->virt_x + *delta_x < 0)	{	    *delta_x = -scr->virt_x;	    *xl = x - *delta_x;	}	else if (scr->virt_x + *delta_x > scr->virt_x_max)	{	    *delta_x = scr->virt_x_max - scr->virt_x;	    *xl = x - *delta_x;	}	else	    *xl = x - *delta_x;	if (scr->virt_y + *delta_y < 0)	{	    *delta_y = -scr->virt_y;	    *yt = y - *delta_y;	}	else if (scr->virt_y + *delta_y > scr->virt_y_max)	{	    *delta_y = scr->virt_y_max - scr->virt_y;	    *yt = y - *delta_y;	}	else	    *yt = y - *delta_y;	if (*xl <= SCROLL_REGION)	    *xl = SCROLL_REGION + 1;	if (*yt <= SCROLL_REGION)	    *yt = SCROLL_REGION + 1;	if (*xl >= scr->d_width - SCROLL_REGION)	    *xl = scr->d_width - SCROLL_REGION - 1;	if (*yt >= scr->d_height - SCROLL_REGION)	    *yt = scr->d_height - SCROLL_REGION - 1;	if ((*delta_x != 0) || (*delta_y != 0))	{	    if (Grab)		XGrabServer(dpy);	    XWarpPointer(dpy, None, scr->root_win, 0, 0, 0, 0, *xl, *yt);	    PAGER_MoveViewPort(scr, scr->virt_x + *delta_x, scr->virt_y + *delta_y, False);	    XQueryPointer(dpy, scr->root_win, &JunkRoot, &JunkChild,			  xl, yt, &JunkX, &JunkY, &JunkMask);	    if (Grab)		XUngrabServer(dpy);	}    }}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩五月天| 日本一区二区三区四区在线视频 | 国产精品久久二区二区| 国产精品一区二区x88av| 26uuu亚洲| 国产精品亚洲午夜一区二区三区 | 91麻豆精品国产自产在线| 亚洲成人中文在线| 欧美一激情一区二区三区| 免费的成人av| 久久精品亚洲麻豆av一区二区| 国产乱妇无码大片在线观看| 国产精品美女久久久久久久久| 成人av资源网站| 一区二区三区欧美视频| 欧美精品自拍偷拍动漫精品| 男人操女人的视频在线观看欧美| 久久一二三国产| 色综合久久久久久久| 午夜久久久久久| 国产欧美日韩精品a在线观看| 99视频精品免费视频| 亚洲高清视频的网址| 精品久久人人做人人爽| 99久久免费视频.com| 日韩国产欧美三级| 一色屋精品亚洲香蕉网站| 4438成人网| 不卡电影免费在线播放一区| 偷拍自拍另类欧美| 国产精品久久久久久久久久久免费看| 在线视频你懂得一区二区三区| 蜜臀av性久久久久蜜臀aⅴ流畅 | 日韩欧美中文字幕制服| 夫妻av一区二区| 日韩精品视频网| 国产精品久久久爽爽爽麻豆色哟哟| 欧美色偷偷大香| 国产99久久久国产精品潘金| 亚洲成人免费电影| 1区2区3区国产精品| 欧美电影精品一区二区| 在线观看www91| 国产成人av电影在线| 午夜a成v人精品| 亚洲视频一区二区在线| 26uuu亚洲综合色| 日韩一区二区三区免费看| 色哟哟一区二区三区| 国产精品亚洲午夜一区二区三区| 三级久久三级久久| 一区二区三区美女| 中文字幕欧美国产| 久久综合成人精品亚洲另类欧美 | 日本精品一级二级| 国产高清久久久久| 精品亚洲成a人在线观看| 亚洲一区二区精品久久av| 成人欧美一区二区三区| 国产精品麻豆欧美日韩ww| 久久综合狠狠综合久久综合88| 欧美丰满一区二区免费视频| 91久久国产最好的精华液| 成人av动漫在线| 粉嫩欧美一区二区三区高清影视| 人人爽香蕉精品| 日韩黄色片在线观看| 亚洲第一成人在线| 夜夜嗨av一区二区三区网页 | 亚洲成人动漫在线观看| 亚洲视频在线观看三级| 亚洲欧美激情小说另类| 亚洲欧美一区二区三区孕妇| 亚洲欧洲av另类| 国产精品久久久久久妇女6080| 久久久久国产精品人| 久久婷婷色综合| 久久久久久久网| 国产日产亚洲精品系列| 国产日韩在线不卡| 欧美激情一区二区三区| 最好看的中文字幕久久| 亚洲色图19p| 亚洲国产日韩在线一区模特| 一区二区三区四区不卡视频| 亚洲综合清纯丝袜自拍| 亚洲综合另类小说| 肉肉av福利一精品导航| 日韩vs国产vs欧美| 久久精品av麻豆的观看方式| 日韩和欧美一区二区三区| 久久精品噜噜噜成人av农村| 国模套图日韩精品一区二区 | 国产情人综合久久777777| 国产三级欧美三级日产三级99| 久久精品欧美一区二区三区不卡| 欧美国产一区二区在线观看 | 偷偷要91色婷婷| 麻豆91精品视频| 风间由美一区二区av101| 99re66热这里只有精品3直播 | 国产成人综合在线观看| av不卡免费在线观看| 色哟哟国产精品| 欧美一级精品大片| 久久久亚洲精华液精华液精华液 | 91一区一区三区| 欧美丰满美乳xxx高潮www| 日韩三级.com| 中文字幕一区二区三区不卡在线| 亚洲免费av高清| 美女一区二区视频| 99国产精品久久久久久久久久| 欧美性淫爽ww久久久久无| 日韩一二三区视频| 中文字幕在线一区免费| 午夜精品久久久久影视| 国产精品一区二区三区四区| 91婷婷韩国欧美一区二区| 欧美电影在哪看比较好| www久久久久| 亚洲午夜久久久久久久久久久| 久久se精品一区精品二区| 99视频一区二区| 精品国产一区二区亚洲人成毛片| 亚洲美女视频一区| 久久不见久久见免费视频7| 欧洲色大大久久| 国产网站一区二区| 日韩1区2区3区| 91高清视频免费看| 国产区在线观看成人精品 | 一区二区三区日韩欧美精品| 精品一区二区三区免费视频| 色久综合一二码| 国产欧美1区2区3区| 蜜臀精品久久久久久蜜臀 | 日韩欧美成人激情| 亚洲精品国产a| 不卡大黄网站免费看| 精品国产a毛片| 日韩精品午夜视频| 欧美三级电影网站| 亚洲精选一二三| 成人av网站大全| 国产色综合久久| 国产在线不卡一区| 欧美一区二区三区人| 一区二区日韩av| 91浏览器打开| 专区另类欧美日韩| 天堂在线一区二区| 色综合天天综合| 亚洲日本免费电影| 国产成人综合网| 99r精品视频| 中文字幕国产一区| 国产精品456露脸| 日韩精品中文字幕在线不卡尤物| 亚洲欧美日本在线| 色婷婷综合久久久| 一区二区三区四区乱视频| 色婷婷综合五月| 亚洲国产精品自拍| 欧美日韩www| 日本不卡的三区四区五区| 欧美一区二区三区不卡| 日本美女视频一区二区| 91精品国产综合久久久蜜臀粉嫩| 亚洲成a人v欧美综合天堂 | 99久久精品国产毛片| 国产精品乱人伦一区二区| 不卡一区中文字幕| 亚洲精品综合在线| 欧美午夜精品久久久久久超碰| 亚洲成在人线免费| 欧美mv日韩mv国产网站| 国产一区二区看久久| 久久久久久久久99精品| 国产99久久久久| 亚洲男女毛片无遮挡| 欧美色图天堂网| 日本91福利区| 久久久国产综合精品女国产盗摄| 国产精品一卡二卡| 国产精品毛片大码女人| 色婷婷一区二区三区四区| 婷婷激情综合网| 日韩精品一区二区三区视频播放| 国产精品一区二区久久精品爱涩| 久久久亚洲高清| 91视频在线观看| 天堂va蜜桃一区二区三区漫画版| 日韩丝袜情趣美女图片| 国产高清不卡一区| 亚洲免费av观看| 精品国产一区二区三区忘忧草| 成人v精品蜜桃久久一区| 亚洲成人1区2区| 中文字幕欧美激情一区|