コード例 #1
0
ファイル: macpgen.c プロジェクト: LapsedAcademicsInc/putty
static void mac_closewindow(WindowPtr window)
{

    switch (mac_windowtype(window)) {
#if !TARGET_API_MAC_CARBON
      case wDA:
	CloseDeskAcc(GetWindowKind(window));
	break;
#endif
      default:
	if (mac_wininfo(window)->close != NULL)
	    (*mac_wininfo(window)->close)(window);
    }
}
コード例 #2
0
ファイル: desk.c プロジェクト: LarBob/executor
P2(PUBLIC pascal trap, void, SystemClick, EventRecord *, evp, WindowPtr, wp)
{
    Point p;
    LONGINT pointaslong, val;
    Rect bounds;
    LONGINT templ;

    if (wp) {
	p.h = CW(evp->where.h);
	p.v = CW(evp->where.v);
	if (PtInRgn (p, WINDOW_STRUCT_REGION (wp)))
	  {
	    pointaslong = ((LONGINT)p.v << 16)|(unsigned short)p.h;
	    val = WINDCALL((WindowPtr) wp, wHit, pointaslong);
	    switch (val) {
	    case wInContent:
		if (WINDOW_HILITED_X (wp))
		  {
		    templ = (LONGINT) (long) RM(evp);
		    Control (WINDOW_KIND (wp), accEvent, (Ptr) &templ);
		} else
		    SelectWindow(wp);
		break;
	    case wInDrag:
		bounds.top    = CW (CW (MBarHeight) + 4);
		bounds.left   = CW (CW (GD_BOUNDS (MR (TheGDevice)).left) + 4);
		bounds.bottom = CW (CW (GD_BOUNDS (MR (TheGDevice)).bottom) - 4);
		bounds.right  = CW (CW (GD_BOUNDS (MR (TheGDevice)).right) - 4);
		DragWindow(wp, p, &bounds);
		break;
	    case wInGoAway:
		if (TrackGoAway(wp, p))
		    CloseDeskAcc (WINDOW_KIND (wp));
		break;
	    }
	} else {
	    if (DeskHook) {
		ROMlib_hook(desk_deskhooknumber);
		EM_D0 = -1;
		EM_A0 = (LONGINT) (long) US_TO_SYN68K(evp);
		CALL_EMULATOR((syn68k_addr_t) (long) CL((long) DeskHook));
	    }
	}
    }
}