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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? move.c

?? 安裝DDD之前
?? C
字號:
/* $Id: move.c,v 1.1 2004/08/28 19:25:46 dannybackx Exp $ *//**************************************************************************** * This module is all original code  * by Rob Nation  * Copyright 1993, Robert Nation *     You may use this code for any purpose, as long as the original *     copyright remains in the source code and all documentation ****************************************************************************//*********************************************************************** * The rest of it is all my fault -- MLM * mwm - "LessTif Window Manager" ***********************************************************************/#include <LTconfig.h>#include <stdio.h>#include <Xm/Xm.h>#include <Xm/MwmUtil.h>#include "mwm.h"Bool NeedToResizeToo=False;/* * display the position in the dimensions window */static voiddisplay_position(ScreenInfo *scr, MwmWindow *tmp_win, int x, int y, int Init){    char str[100];    int offset;    int ssw;    ssw = XTextWidth(scr->components[MWM_FEEDBACK].font,		     " +8888 x +8888 ", 15);    sprintf(str, " %+-4d %+-4d ", x, y);    if (Init)    {	XClearWindow(dpy, scr->size_win);	if (scr->d_depth >= 2)	    DEC_DrawShadows(tmp_win, scr->size_win, 0, 0,			    ssw + SIZE_HINDENT * 2,			    scr->components[MWM_FEEDBACK].f_height +			    SIZE_VINDENT * 2,			    scr->components[MWM_FEEDBACK].top_GC,			    scr->components[MWM_FEEDBACK].bot_GC);    }    else    {	XClearArea(dpy, scr->size_win, SIZE_HINDENT, SIZE_VINDENT,		   ssw, scr->components[MWM_FEEDBACK].f_height,		   False);    }    offset = (ssw + SIZE_HINDENT * 2 -	      XTextWidth(scr->components[MWM_FEEDBACK].font,			 str, strlen(str))) / 2;    XDrawString(dpy, scr->size_win, scr->components[MWM_FEEDBACK].normal_GC,		offset,		scr->components[MWM_FEEDBACK].f_y + SIZE_VINDENT,		str, strlen(str));}/* * move a window, accepting input from the user */voidMOVE_Interactive(ScreenInfo *scr, Window *win, MwmWindow *tmp_win,		 int *FinalX, int *FinalY, XEvent *eventp){    int origDragX, origDragY, DragX, DragY, DragWidth, DragHeight;    int XOffset, YOffset;    Window w;    Bool opaque_move = False;    COLOR_PushRootColorMap(scr);    if (menuFromFrameOrWindowOrTitlebar)    {	/* warp the pointer to the cursor position from before menu appeared */	XWarpPointer(dpy, None, scr->root_win, 0, 0, 0, 0,		     Stashed_X, Stashed_Y);	XFlush(dpy);    }    DragX = eventp->xbutton.x_root;    DragY = eventp->xbutton.y_root;    /* If this is left commented out, then the move starts from the button     * press location instead of the current location, which seems to be an     * improvement */    /*  XQueryPointer(dpy, scr->root_win, &JunkRoot, &JunkChild,       &DragX, &DragY,    &JunkX, &JunkY, &JunkMask); */    if (!MISC_Grab(scr, MOVE_CURS))    {	XBell(dpy, scr->screen);	return;    }    pagerOn = False;    w = tmp_win->frame;    if (tmp_win->flags & ICONIFIED)    {	if (tmp_win->icon_pixmap_w != None)	{	    XUnmapWindow(dpy, tmp_win->icon_w);	    w = tmp_win->icon_pixmap_w;	}	else	    w = tmp_win->icon_w;    }        *win = w;    XGetGeometry(dpy, w, &JunkRoot, &origDragX, &origDragY,		 (unsigned int *)&DragWidth, (unsigned int *)&DragHeight,		 &JunkBW, &JunkDepth);    if (DragWidth * DragHeight <	(scr->OpaqueSize * scr->d_width * scr->d_height) / 100)	opaque_move = True;    else	XGrabServer(dpy);    if ((!opaque_move) && (tmp_win->flags & ICONIFIED))	XUnmapWindow(dpy, w);    DragWidth += JunkBW;    DragHeight += JunkBW;    XOffset = origDragX - DragX;    YOffset = origDragY - DragY;    if (Mwm.show_feedback & MWM_FEEDBACK_MOVE)	XMapRaised(dpy, scr->size_win);    MOVE_EventLoop(scr, tmp_win, XOffset, YOffset, DragWidth, DragHeight,		   FinalX, FinalY, opaque_move, False);    if (Mwm.show_feedback & MWM_FEEDBACK_MOVE)	XUnmapWindow(dpy, scr->size_win);    COLOR_PopRootColorMap(scr);    if (!opaque_move)	XUngrabServer(dpy);    MISC_Ungrab(scr);    pagerOn = True;}/* * Move the rubberband around, return with the new window location */voidMOVE_EventLoop(ScreenInfo *scr, MwmWindow *tmp_win, int XOffset, int YOffset,	       int Width, int Height, int *FinalX, int *FinalY,	       Boolean opaque_move, Boolean AddWindow){    Bool finished = False;    Bool done;    int xl, yt, delta_x, delta_y;    unsigned int pagerwidth, pagerheight;    int ww, wh;    int wx, wy;    int MaxH, MaxW;    int last_x = -10000, last_y = -10000;    XEvent oevent;    XQueryPointer(dpy, scr->root_win, &JunkRoot, &JunkChild, &xl, &yt,		  &JunkX, &JunkY, &JunkMask);    xl += XOffset;    yt += YOffset;    if (!opaque_move && AddWindow)	WIN_DrawOutline(scr, scr->root_win, xl, yt, Width, Height);    if (Mwm.show_feedback & MWM_FEEDBACK_MOVE)	display_position(scr, tmp_win, xl + scr->virt_x, yt + scr->virt_y, True);    while (!finished)    {	/* block until there is an interesting event */	XMaskEvent(dpy, ButtonPressMask | ButtonReleaseMask | KeyPressMask |		 PointerMotionMask | ButtonMotionMask | ExposureMask, &oevent);	MISC_StashEventTime(&oevent);	/* discard any extra motion events before a logical release */	if (oevent.type == MotionNotify)	{	    while (XCheckMaskEvent(dpy, PointerMotionMask | ButtonMotionMask |				   ButtonPressMask | ButtonRelease, &oevent))	    {		MISC_StashEventTime(&oevent);		if (oevent.type == ButtonRelease)		    break;	    }	}	done = False;	/* Handle a limited number of key press events to allow mouseless	 * operation */	if (oevent.type == KeyPress)	    MISC_KeyboardShortcut(scr, &oevent, ButtonRelease);	switch (oevent.type)	{	case KeyPress:	    done = True;	    break;	case ButtonPress:	    XAllowEvents(dpy, ReplayPointer, CurrentTime);	    if (oevent.xbutton.button == 1 && oevent.xbutton.state & ShiftMask)	    {		NeedToResizeToo = True;		/* Fallthrough to button-release */	    }	    else	    {		done = 1;		break;	    }	case ButtonRelease:	    if (!opaque_move)		WIN_DrawOutline(scr, scr->root_win, 0, 0, 0, 0);	    xl = oevent.xmotion.x_root + XOffset;	    yt = oevent.xmotion.y_root + YOffset;	    /* Resist moving windows over the edge of the screen! */	    if (((xl + Width) >= scr->d_width) &&		((xl + Width) < scr->d_width + scr->MoveResistance))		xl = scr->d_width - Width - tmp_win->bw;	    if ((xl <= 0) && (xl > -scr->MoveResistance))		xl = 0;	    if (((yt + Height) >= scr->d_height) &&		((yt + Height) < scr->d_height + scr->MoveResistance))		yt = scr->d_height - Height - tmp_win->bw;	    if ((yt <= 0) && (yt > -scr->MoveResistance))		yt = 0;	    *FinalX = xl;	    *FinalY = yt;	    done = True;	    finished = True;	    break;	case MotionNotify:	    /* update location of the pager_view window */	    if ((scr->mwm_pager != NULL) &&		(xl < scr->mwm_pager->frame_x + scr->mwm_pager->frame_width) &&		(xl + Width > scr->mwm_pager->frame_x) &&		(yt < scr->mwm_pager->frame_y + scr->mwm_pager->frame_height) &&		(yt + Height > scr->mwm_pager->frame_y) && (!opaque_move))		WIN_DrawOutline(scr, scr->root_win, 0, 0, 0, 0);	    xl = oevent.xmotion.x_root;	    yt = oevent.xmotion.y_root;	    PAN_PanDesktop(scr, scr->edge_scroll_x, scr->edge_scroll_y,			   &xl, &yt, &delta_x, &delta_y, False, &oevent);	    /* redraw the rubberband */	    xl += XOffset;	    yt += YOffset;	    /* Resist moving windows over the edge of the screen! */	    if (((xl + Width) >= scr->d_width) &&		((xl + Width) < scr->d_width + scr->MoveResistance))		xl = scr->d_width - Width - tmp_win->bw;	    if ((xl <= 0) && (xl > -scr->MoveResistance))		xl = 0;	    if (((yt + Height) >= scr->d_height) &&		((yt + Height) < scr->d_height + scr->MoveResistance))		yt = scr->d_height - Height - tmp_win->bw;	    if ((yt <= 0) && (yt > -scr->MoveResistance))		yt = 0;	    if (scr->mwm_pager)	    {		pagerwidth = scr->mwm_pager->frame_width -		    2 * scr->mwm_pager->boundary_width -		    2 * scr->mwm_pager->matte_width;		pagerheight = scr->mwm_pager->frame_height -		    scr->mwm_pager->title_height -		    2 * scr->mwm_pager->boundary_width -		    2 * scr->mwm_pager->matte_width;		MaxW = scr->virt_x_max + scr->d_width;		MaxH = scr->virt_y_max + scr->d_height;		if (!(tmp_win->flags & STICKY))		{		    /* show the actual window */		    wx = (xl + scr->virt_x) * (int)pagerwidth / MaxW;		    wy = (yt + scr->virt_y) * (int)pagerheight / MaxH;		    if ((last_x - wx >= 2) || (last_x - wx <= -2) ||			(last_y - wy >= 2) || (last_y - wy <= -2))		    {			ww = Width * (int)pagerwidth / MaxW;			wh = Height * (int)pagerheight / MaxH;			if (ww < 2)			    ww = 2;			if (wh < 2)			    wh = 2;			XMoveResizeWindow(dpy,					  tmp_win->pager_view, wx, wy, ww, wh);			last_x = wx;			last_y = wy;		    }		}	    }	    if (!opaque_move)		WIN_DrawOutline(scr, scr->root_win, xl, yt, Width, Height);	    else	    {		if (tmp_win->flags & ICONIFIED)		{		    tmp_win->icon_x_loc = xl;		    tmp_win->icon_xl_loc = xl -			(tmp_win->icon_w_width - tmp_win->icon_p_width) / 2;		    tmp_win->icon_y_loc = yt;		    if (tmp_win->icon_pixmap_w != None)			XMoveWindow(dpy, tmp_win->icon_pixmap_w,				    tmp_win->icon_x_loc, yt);		    else if (tmp_win->icon_w != None)			XMoveWindow(dpy, tmp_win->icon_w, tmp_win->icon_xl_loc,				    yt + tmp_win->icon_p_height);		}		else		    XMoveWindow(dpy, tmp_win->frame, xl, yt);	    }	    if (Mwm.show_feedback & MWM_FEEDBACK_MOVE)		display_position(scr, tmp_win,				 xl + scr->virt_x, yt + scr->virt_y, False);	    done = True;	    break;	default:	    break;	}	if (!done)	{	    if (!opaque_move)		WIN_DrawOutline(scr, scr->root_win, 0, 0, 0, 0);	    EVENT_Dispatch(&oevent);	    if (!opaque_move)		WIN_DrawOutline(scr, scr->root_win, xl, yt, Width, Height);	}    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
三级欧美在线一区| 国产在线精品一区二区三区不卡 | 国产99久久精品| 亚洲福利电影网| 亚洲精品自拍动漫在线| 国产欧美日韩在线看| 日韩精品专区在线| 日韩一级完整毛片| 91精品国产一区二区三区| 欧美在线免费视屏| 色综合久久99| 国产精品资源站在线| 六月丁香婷婷久久| 蜜桃视频一区二区三区| 秋霞成人午夜伦在线观看| 天天操天天干天天综合网| 亚洲国产精品人人做人人爽| 一区二区三区不卡视频| 国产日韩欧美亚洲| 日本一区免费视频| 国产欧美日韩精品一区| 国产午夜精品久久久久久久| 久久久久99精品一区| 久久久久国产精品麻豆| 欧美高清在线精品一区| 欧美极品aⅴ影院| 久久精品一二三| 久久久99精品免费观看| 欧美精品v日韩精品v韩国精品v| 91精品在线观看入口| 欧美一区二区高清| 精品久久久久99| 久久精品在这里| 中文字幕在线不卡一区二区三区| 亚洲日本va午夜在线影院| 亚洲精品日日夜夜| 亚洲国产视频在线| 蜜桃av一区二区在线观看| 美日韩一区二区三区| 国产乱码字幕精品高清av| 狠狠色狠狠色综合日日91app| 国产福利一区二区| 91女神在线视频| 在线成人小视频| 精品sm在线观看| 国产日韩欧美亚洲| 亚洲精品免费看| 秋霞电影网一区二区| 国产一区二区看久久| 91亚洲午夜精品久久久久久| 欧美视频在线观看一区二区| 欧美一区二区三区四区久久| 欧美激情一区二区三区蜜桃视频| 亚洲精品乱码久久久久久久久| 婷婷一区二区三区| 国产激情一区二区三区桃花岛亚洲| 国产成人精品免费看| 精品一区二区三区在线播放视频| 久久爱www久久做| 99精品视频一区二区| 欧美日韩另类国产亚洲欧美一级| 欧美精品一卡两卡| 国产亚洲精品免费| 亚洲国产中文字幕在线视频综合 | a级高清视频欧美日韩| 欧美性大战久久| 精品99一区二区三区| 一区二区三区四区蜜桃| 美女视频第一区二区三区免费观看网站| 国产黄色91视频| 欧美色综合网站| 欧美精品色一区二区三区| 欧美国产一区二区| 日韩中文欧美在线| 日本欧美在线看| 97成人超碰视| 欧美成人性福生活免费看| 日本一区二区三区久久久久久久久不| 亚洲一区自拍偷拍| 成人免费毛片片v| 欧美一区二区三区不卡| 亚洲丝袜美腿综合| 蜜臀精品久久久久久蜜臀| 国产成人午夜视频| 91精品国产色综合久久不卡蜜臀| 亚洲天天做日日做天天谢日日欢 | 亚洲视频在线一区| 国产一区二区三区免费播放| 欧洲视频一区二区| 欧美电影免费观看高清完整版在线观看 | 中文字幕一区二区三区不卡在线 | 国产精品久久久久久久浪潮网站| 免费美女久久99| 91亚洲精品一区二区乱码| 久久一夜天堂av一区二区三区| 综合久久国产九一剧情麻豆| 成人在线视频一区二区| 精品电影一区二区| 免费观看日韩av| 欧美精品丝袜久久久中文字幕| 亚洲美女屁股眼交3| 99热这里都是精品| 国产欧美一区二区三区鸳鸯浴| 亚洲福利视频一区二区| 91美女片黄在线观看| 亚洲国产成人午夜在线一区 | 日韩电影免费在线| 色国产精品一区在线观看| 亚洲欧洲日韩一区二区三区| 国产成人av电影在线观看| 精品国产伦一区二区三区观看方式| 天堂一区二区在线免费观看| 色av成人天堂桃色av| 亚洲va天堂va国产va久| 色婷婷久久久综合中文字幕| 国产精品久久久久久一区二区三区| 国产98色在线|日韩| 国产亚洲综合在线| 国产一区二区不卡在线| 欧美精品一区二区三区蜜桃| 久热成人在线视频| 精品日韩一区二区三区| 美日韩一区二区| 欧美国产日产图区| 丁香五精品蜜臀久久久久99网站| 中文字幕欧美日本乱码一线二线| 国产一区二区伦理片| 国产日韩精品一区二区三区| 风间由美一区二区三区在线观看 | 99久久久久免费精品国产| 国产精品美女久久久久高潮| 成人污视频在线观看| 国产精品久久久久影视| 99国产精品一区| 亚洲午夜在线视频| 日韩一区和二区| 国产一区二区美女| 成人免费视频在线观看| 99久久夜色精品国产网站| 舔着乳尖日韩一区| 精品久久久网站| 成人av电影免费观看| 亚洲免费观看高清在线观看| 欧美在线一区二区| 日韩高清欧美激情| 精品美女一区二区| www.欧美亚洲| 国产欧美日本一区视频| 91同城在线观看| 日日噜噜夜夜狠狠视频欧美人| 日韩欧美的一区| 大桥未久av一区二区三区中文| 亚洲精品高清视频在线观看| 日韩一区二区三区免费看| 国模套图日韩精品一区二区| 亚洲欧洲一区二区在线播放| 在线精品观看国产| 久热成人在线视频| 中文字幕日本乱码精品影院| 欧美日韩在线播| 国产成人免费网站| 一区二区三区欧美激情| 日韩欧美的一区| 91免费在线看| 亚洲成人午夜电影| 亚洲天堂久久久久久久| 欧美一级高清片在线观看| av电影在线观看一区| 日韩中文字幕av电影| 一区视频在线播放| 日韩欧美第一区| 在线免费不卡电影| 国产成a人亚洲| 免费看日韩a级影片| 国产亚洲制服色| 欧美一卡二卡三卡四卡| 91麻豆视频网站| 国产一区二区三区免费在线观看| 一区二区三区成人| 国产欧美一区二区在线观看| 69堂亚洲精品首页| 国产成人精品亚洲777人妖 | 91免费国产在线| 久久99精品国产麻豆婷婷| 亚洲一区二区三区四区在线 | 国产99久久久国产精品免费看 | 色综合色综合色综合色综合色综合| 三级久久三级久久| 亚洲黄网站在线观看| 国产亚洲制服色| 日韩欧美你懂的| 欧美日韩五月天| 日本韩国一区二区三区视频| 成人免费高清视频在线观看| 免费看欧美女人艹b| 亚洲高清免费观看| 亚洲精品综合在线| 亚洲欧洲日韩av| 欧美激情一区二区三区全黄| 精品国产乱码久久久久久久久|