コード例 #1
0
void CSkinHorizontalScrollbar::OnTimer(UINT nIDEvent) 
{
	if(nIDEvent == 1)
	{
		if(bMouseDownArrowRight)
		{
			ScrollRight();
		}
		
		if(bMouseDownArrowLeft)
		{
			ScrollLeft();
		}
	}
	else if(nIDEvent == 2)
	{
		if(bMouseDownArrowRight)
		{
			KillTimer(2);
			SetTimer(1, 50, NULL);
		}
		
		if(bMouseDownArrowLeft)
		{
			KillTimer(2);
			SetTimer(1, 50, NULL);
		}
	}
	CStatic::OnTimer(nIDEvent);
}
コード例 #2
0
ファイル: iupmat_scroll.c プロジェクト: svn2github/iup-iup
/* This callback is called when some action is performed on the
   scrollbar.
   -> action : type of action that call the event.
   -> x,y    : scrollbar thumb positions, value between 0 and 1
*/
int iupMatrixScrollCB(Ihandle* ih, int action, float x, float y)
{
  int err;

  x = IupGetFloat(ih, "POSX");
  y = IupGetFloat(ih, "POSY");

  IsCanvasSet(ih, err);
  if(err == CD_OK)
  {
    switch(action)
    {
      case IUP_SBUP      : ScrollUp(ih);       break;
      case IUP_SBDN      : ScrollDown(ih);     break;
      case IUP_SBPGUP    : ScrollPgUp(ih);     break;
      case IUP_SBPGDN    : ScrollPgDown(ih);   break;
      case IUP_SBRIGHT   : ScrollRight(ih);    break;
      case IUP_SBLEFT    : ScrollLeft(ih);     break;
      case IUP_SBPGRIGHT : ScrollPgRight(ih);  break;
      case IUP_SBPGLEFT  : ScrollPgLeft(ih);   break;
      case IUP_SBPOSV    : ScrollPosVer(ih,y); break;
      case IUP_SBPOSH    : ScrollPosHor(ih,x); break;
      case IUP_SBDRAGV   : ScrollPosVer(ih,y); break;
      case IUP_SBDRAGH   : ScrollPosHor(ih,x); break;
    }
  }

  {
    cdCanvasFlush(ih->data->cddbuffer);
    ih->data->redraw = 0;
  } /* always update */

  return IUP_DEFAULT;
}
コード例 #3
0
ファイル: o_list.cpp プロジェクト: dmcbride/efte
int EList::ExecCommand(int Command, ExState &State) {
    int W = 1;
    int H = 1;

    if (View && View->MView && View->MView->Win) {
        View->MView->ConQuerySize(&W, &H);
        H--;
    }
    FixPos();
    switch (Command) {
    case ExMoveLeft:
        return MoveLeft();
    case ExMoveRight:
        return MoveRight();
    case ExMoveUp:
        return MoveUp();
    case ExMoveDown:
        return MoveDown();
    case ExMovePageUp:
        return MovePageUp();
    case ExMovePageDown:
        return MovePageDown();
    case ExScrollLeft:
        return ScrollLeft(8);
    case ExScrollRight:
        return ScrollRight(8);
    case ExMovePageStart:
        return MovePageStart();
    case ExMovePageEnd:
        return MovePageEnd();
    case ExMoveFileStart:
        return MoveFileStart();
    case ExMoveFileEnd:
        return MoveFileEnd();
    case ExMoveLineStart:
        return MoveLineStart();
    case ExMoveLineEnd:
        return MoveLineEnd();
    case ExRescan:
        RescanList();
        return ErOK;
    case ExActivate:
        return Activate();
    case ExListMark:
        return Mark();
    case ExListUnmark:
        return Unmark();
    case ExListToggleMark:
        return ToggleMark();
    case ExListMarkAll:
        return MarkAll();
    case ExListUnmarkAll:
        return UnmarkAll();
    case ExListToggleMarkAll:
        return ToggleMarkAll();
    }
    return EModel::ExecCommand(Command, State);
}
コード例 #4
0
ファイル: XScrollBar.cpp プロジェクト: ssor/videoPlayerDemo
///////////////////////////////////////////////////////////////////////////////
// OnTimer
void CXScrollBar::OnTimer(UINT nIDEvent)
{
	if (nIDEvent == TIMER_MOUSE_OVER_BUTTON)	// mouse is in an arrow button,
												// and left button is down
	{
		if (m_bMouseDownArrowLeft)
		{
			ScrollLeft();
		}

		if (m_bMouseDownArrowRight)
		{
			ScrollRight();
		}

		if (m_bMouseDownArrowUp)
		{
			ScrollUp();
		}

		if (m_bMouseDownArrowDown)
		{
			ScrollDown();
		}
	}
	else if (nIDEvent == TIMER_LBUTTON_PRESSED)	// mouse is in an arrow button,
												// and left button has just been pressed
	{
		KillTimer(nIDEvent);

		if (m_bMouseDownArrowLeft || 
			m_bMouseDownArrowRight || 
			m_bMouseDownArrowUp || 
			m_bMouseDownArrowDown)
		{
			// debounce left click
			SetTimer(TIMER_MOUSE_OVER_BUTTON, 100, NULL);
		}
	}
	else if (nIDEvent == TIMER_MOUSE_OVER_THUMB)	// mouse is over thumb
	{
		CPoint point;
		::GetCursorPos(&point);
		ScreenToClient(&point);

		if (!m_rectThumb.PtInRect(point))
		{
			// no longer over thumb, restore thumb color
			m_bThumbHover = FALSE;
			KillTimer(nIDEvent);
			::SetCursor(::LoadCursor(NULL, IDC_ARROW));
			Invalidate();
		}
	}

	CStatic::OnTimer(nIDEvent);
}
コード例 #5
0
void CSkinHorizontalScrollbar::OnLButtonUp(UINT nFlags, CPoint point) 
{
	UpdateThumbPosition();
	KillTimer(1);
	ReleaseCapture();
	

	bool bInChannel = true;
	
	CRect clientRect;
	GetClientRect(&clientRect);
	
	int nWidth = clientRect.Width()-26;

	CRect rectLeftArrow(0,0,26,20);
	CRect rectThumb(nThumbLeft,0,nThumbLeft+26,20);

	if(rectLeftArrow.PtInRect(point))
	{
		ScrollLeft();	
		bInChannel = false;
	}

	CRect rectRightArrow(nWidth,0,nWidth+26,20);

	
	if(rectRightArrow.PtInRect(point))
	{
		ScrollRight();	
		bInChannel = false;
	}

	if(rectThumb.PtInRect(point))
	{
		bInChannel = false;
	}

	if(bInChannel == true && !bMouseDown)
	{
		if(point.x > nThumbLeft)
		{
			PageRight();
		}
		else
		{
			PageLeft();
		}
	}

	//reset all variables
	bMouseDown = false;
	bDragging = false;
	bMouseDownArrowLeft = false;
	bMouseDownArrowRight = false;
	CStatic::OnLButtonUp(nFlags, point);
}
コード例 #6
0
ファイル: game_map.cpp プロジェクト: cheerjo/Player
void Game_Map::UpdateScroll() {
	if (scroll_rest > 0) {
		int distance = (1 << scroll_speed) / 2;
		switch (scroll_direction) {
			case 2:
				ScrollDown(distance);
				break;
			case 4:
				ScrollLeft(distance);
				break;
			case 6:
				ScrollRight(distance);
				break;
			case 8:
				ScrollUp(distance);
				break;
		}
		scroll_rest -= distance;
	}
}
コード例 #7
0
void CCrystalEditView::DoDragScroll(const CPoint &point)
{
	CRect rcClientRect;
	GetClientRect(rcClientRect);
	if (point.y < rcClientRect.top + DRAG_BORDER_Y)
	{
		HideDropIndicator();
		ScrollUp();
		UpdateWindow();
		ShowDropIndicator(point);
		return;
	}
	if (point.y >= rcClientRect.bottom - DRAG_BORDER_Y)
	{
		HideDropIndicator();
		ScrollDown();
		UpdateWindow();
		ShowDropIndicator(point);
		return;
	}
	if (point.x < rcClientRect.left + GetMarginWidth() + DRAG_BORDER_X)
	{
		HideDropIndicator();
		ScrollLeft();
		UpdateWindow();
		ShowDropIndicator(point);
		return;
	}
	if (point.x >= rcClientRect.right - DRAG_BORDER_X)
	{
		HideDropIndicator();
		ScrollRight();
		UpdateWindow();
		ShowDropIndicator(point);
		return;
	}
}
コード例 #8
0
void CART2DImageViewer::keyPressEvent(QKeyEvent *event){
	switch (event->key()) {
		case Qt::Key_Plus:
		{
			ZoomIn();
			break;
		}
		case Qt::Key_Minus:
		{
			ZoomOut();
			break;
		}
		case Qt::Key_Left:
		{
			ScrollLeft();
			break;
		}
		case Qt::Key_Right:
		{
			ScrollRight();
			break;
		}
		case Qt::Key_Down:
		{
			ScrollDown();
			break;
		}
		case Qt::Key_Up:
		{
			ScrollUp();
			break;
		}
		default:
			QWidget::keyPressEvent(event);
	}
}
コード例 #9
0
void CMiniCalendarCtrl::OnLButtonDown(UINT nFlags, CPoint point) 
{
	SetFocus();

	if (m_rectScrollLeft.PtInRect(point))
	{
		//left month scroll-arrow
		ScrollLeft();
	}
	else if (m_rectScrollRight.PtInRect(point))
	{
		//right month scroll-arrow
		ScrollRight();
	}
	else if (HeaderHitTest(point))
	{
		//month name, show month dropdown
		CMiniCalendarCtrlCell* pCell = HeaderHitTest(point);
		if (pCell)
		{
			m_pHeaderCell = pCell;

			int iCell = ((pCell->GetRow()-1) + pCell->GetCol())-1;

			// determine month/year of header
			int iMonth = m_iCurrentMonth;
			int iYear = m_iCurrentYear;

			for (int iX = 0; iX < iCell; iX++)
			{
				iMonth++;
				if (iMonth > 12)
				{
					iMonth = 1;
					iYear++;
				}
			}

			// make sure list is not already created
			if (m_pHeaderList)
			{
				ASSERT(FALSE);
				m_pHeaderList->DestroyWindow();
				delete m_pHeaderList;
				m_pHeaderList = NULL;
			}

			// create list
			m_pHeaderList = new CMiniCalendarMonthPicker;

			if (!m_pHeaderList)
			{
				ASSERT(FALSE);
				throw (new CMemoryException());
			}

			// create list control
			DWORD dwStyle = WS_POPUP | WS_EX_TOPMOST | WS_EX_WINDOWEDGE | WS_BORDER;
			LPCTSTR szWndCls = AfxRegisterWndClass(CS_BYTEALIGNCLIENT | CS_VREDRAW | CS_HREDRAW | CS_DBLCLKS,
												   0,0,0);

			m_iHeaderTimerID = SetTimer(MINICAL_HEADER_TIMER_ID, MINICAL_HEADER_TIMER_INTERVAL, NULL);

			m_pHeaderList->SetMiddleMonthYear(iMonth, iYear);
			m_pHeaderList->SetCalendar(this);
			m_pHeaderList->CreateEx(0, szWndCls, _T(""), dwStyle, 0, 0, 0, 0, m_hWnd, NULL, NULL);
			m_pHeaderList->AutoConfigure();
			m_pHeaderList->ShowWindow(TRUE);

			SetCapture();
			m_bHeaderTracking = TRUE;
		}
		else
		{
			ASSERT(FALSE);
		}
	}
	else
	{
		CMiniCalendarCtrlFontHotSpot* pSpot = HitTest(point);
		if (pSpot)
		{
			//clicked on a date hotspot
			if (!m_pWnd->IsDateHidden(pSpot->m_date))
			{
				BOOL bDifferentDate = SelectDate(pSpot->m_date);
				m_dateSelected = pSpot->m_date;

				SetCapture();
				m_bTracking = TRUE;

				if (bDifferentDate)
				{
					FireNotifySelectDate();
				}
			}
		}
	}
	
	CWnd::OnLButtonDown(nFlags, point);
}
コード例 #10
0
ファイル: e_cmds.cpp プロジェクト: dmcbride/efte
int EBuffer::MovePageRight() {
    return ScrollRight(GetVPort()->Cols);
}
コード例 #11
0
ファイル: XScrollBar.cpp プロジェクト: ssor/videoPlayerDemo
///////////////////////////////////////////////////////////////////////////////
// OnLButtonUp
void CXScrollBar::OnLButtonUp(UINT nFlags, CPoint point)
{
	UpdateThumbPosition();
	KillTimer(1);
	ReleaseCapture();

	if (m_bHorizontal)
	{
		CRect rectLeftArrow(0, 0, m_nBitmapWidth, m_rectClient.Height());
		CRect rectRightArrow(m_rectClient.Width() - m_nBitmapWidth, 0, 
		m_rectClient.Width(), m_rectClient.Height());
		CRect rectThumb(m_nThumbLeft, 0, m_nThumbLeft + m_nBitmapWidth, 
		m_rectClient.Height());

		if (rectLeftArrow.PtInRect(point))
		{
			ScrollLeft();
		}
		else if (rectRightArrow.PtInRect(point))
		{
			ScrollRight();
		}
		else if (rectThumb.PtInRect(point))
		{
			m_bThumbHover = TRUE;
			Invalidate();
			SetTimer(TIMER_MOUSE_OVER_THUMB, 50, NULL);
		}

		m_bMouseDownArrowLeft = FALSE;
		m_bMouseDownArrowRight = FALSE;
	}
	else
	{
		CRect rectUpArrow(0, 0, m_rectClient.Width(), m_nBitmapHeight);
		CRect rectDownArrow(0, m_rectClient.Height() - m_nBitmapHeight, m_rectClient.Width(), m_rectClient.Height());
		CRect rectThumb(0, m_nThumbTop, m_rectClient.Width(), m_nThumbTop + m_nBitmapHeight);

		if (rectUpArrow.PtInRect(point))
		{
			ScrollUp();
		}
		else if (rectDownArrow.PtInRect(point))
		{
			ScrollDown();
		}
		else if (rectThumb.PtInRect(point))
		{
			m_bThumbHover = TRUE;
			Invalidate();
			SetTimer(TIMER_MOUSE_OVER_THUMB, 50, NULL);
		}

		m_bMouseDownArrowUp = FALSE;
		m_bMouseDownArrowDown = FALSE;
	}

	m_bMouseDown = FALSE;
	m_bDragging = FALSE;

	CStatic::OnLButtonUp(nFlags, point);
}
コード例 #12
0
ファイル: _croll16.c プロジェクト: joncampbell123/16
void walk(map_view_t *pip, player_t *player, word pn)
{
	#define INC_PER_FRAME if(player[pn].q&1) player[pn].persist_aniframe++; if(player[pn].persist_aniframe>4) player[pn].persist_aniframe = 1;
	//printf("player[%d].d=%d\n", pn, player[pn].d);
	switch(player[pn].d)
	{
		//no direction
		case 2:
			//0000pip[0].video->startclk = (*clockw);
		break;
		//right movement
		case 3:
			//printf("pip[0].page->tilesw=%d	", pip[0].page->tilesw); printf("pip[0].page->tw=%d\n", pip[0].page->tw);
			if(pip[0].tx >= 0 && pip[0].tx+pip[0].page->tw < pip[0].map->width && player[pn].tx == pip[0].tx+pip[0].page->tilemidposscreenx &&
			!(pip[0].map->data[(player[pn].tx)+(pip[0].map->width*(player[pn].ty-1))] == 0))//!(player[pn].tx+1 == TRIGGX && player[pn].ty == TRIGGY))	//collision detection!
			{
				if(player[pn].q<=player[pn].spt)
				{
					INC_PER_FRAME;
					animatePlayer(pip, player, pn, 1);
					ScrollRight(pip, player, 3, pn);
					ScrollRight(pip, player, 2, pn);
					mapScrollRight(pip, player, !(pip[0].video->p), pn);
					mapScrollRight(pip, player, (pip[0].video->p), pn);
					if(!pageflipflop) modexShowPage(pip[1].page);
					player[pn].q++;
					//0000pip[0].video->clk = ((*clockw)-pip[0].video->startclk)/18.2;
				} else { player[pn].q = 1; player[pn].d = 2; player[pn].tx++; }
			}
			else if(player[pn].tx < pip[0].map->width && !(pip[0].map->data[(player[pn].tx)+(pip[0].map->width*(player[pn].ty-1))] == 0))//!(player[pn].tx+1 == TRIGGX && player[pn].ty == TRIGGY))
			{
				if(player[pn].q<=player[pn].spt)
				{
					INC_PER_FRAME;
					player[pn].x+=(player[pn].speed);
					animatePlayer(pip, player, pn, 0);
					if(!pageflipflop) modexShowPage(pip[1].page);
					player[pn].q++;
				} else { player[pn].q = 1; player[pn].d = 2; player[pn].tx++; }
			}
			else
			{
				if(!pageflipflop) modexCopyPageRegion(pip[1].page, pip[0].page, player[pn].x, player[pn].y-TILEWH, player[pn].x, player[pn].y-TILEWH, 16, 32);
#ifdef SPRITE
				//PBUFSFUN(pip[0].page, player[pn].x, player[pn].y-TILEWH, 16, 32, 16, 32, PLAYERBMPDATA);
				animate_spri(player[pn].spri);
#else
				modexClearRegion(pip[1].page, player[pn].x, player[pn].y-TILEWH, 16, 32, 14);
#endif
				if(!pageflipflop) modexShowPage(pip[1].page);
				player[pn].d = 2;
			}
			player[pn].triggerx = player[pn].tx+1;
			player[pn].triggery = player[pn].ty;
		break;

		//left movement
		case 1:
			if(pip[0].tx > 0 && pip[0].tx+pip[0].page->tw <= pip[0].map->width && player[pn].tx == pip[0].tx+pip[0].page->tilemidposscreenx &&
			!(pip[0].map->data[(player[pn].tx-2)+(pip[0].map->width*(player[pn].ty-1))] == 0))//!(player[pn].tx-1 == TRIGGX && player[pn].ty == TRIGGY))	//collision detection!
			{
				if(player[pn].q<=player[pn].spt)
				{
					INC_PER_FRAME;
					animatePlayer(pip, player, pn, 1);
					ScrollLeft(pip, player, 3, pn);
					ScrollLeft(pip, player, 2, pn);
					mapScrollLeft(pip, player, !(pip[0].video->p), pn);
					mapScrollLeft(pip, player, (pip[0].video->p), pn);
					if(!pageflipflop) modexShowPage(pip[1].page);
					player[pn].q++;
					//0000pip[0].video->clk = ((*clockw)-pip[0].video->startclk)/18.2;
				} else { player[pn].q = 1; player[pn].d = 2; player[pn].tx--; }
			}
			else if(player[pn].tx > 1 && !(pip[0].map->data[(player[pn].tx-2)+(pip[0].map->width*(player[pn].ty-1))] == 0))//!(player[pn].tx-1 == TRIGGX && player[pn].ty == TRIGGY))
			{
				if(player[pn].q<=player[pn].spt)
				{
					INC_PER_FRAME;
					player[pn].x-=(player[pn].speed);
					animatePlayer(pip, player, pn, 0);
					if(!pageflipflop) modexShowPage(pip[1].page);
					player[pn].q++;
				} else { player[pn].q = 1; player[pn].d = 2; player[pn].tx--; }
			}
			else
			{
				if(!pageflipflop) modexCopyPageRegion(pip[1].page, pip[0].page, player[pn].x, player[pn].y-TILEWH, player[pn].x, player[pn].y-TILEWH, 16, 32);
#ifdef SPRITE
				//PBUFSFUN(pip[0].page, player[pn].x, player[pn].y-TILEWH, 16, 96, 16, 32, PLAYERBMPDATA);
				animate_spri(player[pn].spri);
#else
				modexClearRegion(pip[1].page, player[pn].x, player[pn].y-TILEWH, 16, 32, 10);
#endif
				if(!pageflipflop) modexShowPage(pip[1].page);
				player[pn].d = 2;
			}
			player[pn].triggerx = player[pn].tx-1;
			player[pn].triggery = player[pn].ty;
		break;

		//down movement
		case 4:
			if(pip[0].ty >= 0 && pip[0].ty+pip[0].page->th < pip[0].map->height && player[pn].ty == pip[0].ty+pip[0].page->tilemidposscreeny &&
			!(pip[0].map->data[(player[pn].tx-1)+(pip[0].map->width*(player[pn].ty))] == 0))//!(player[pn].tx == TRIGGX && player[pn].ty+1 == TRIGGY))	//collision detection!
			{
				if(player[pn].q<=player[pn].spt)
				{
					INC_PER_FRAME;
					animatePlayer(pip, player, pn, 1);
					ScrollDown(pip, player, 3, pn);
					ScrollDown(pip, player, 2, pn);
					mapScrollDown(pip, player, !(pip[0].video->p), pn);
					mapScrollDown(pip, player, (pip[0].video->p), pn);
					if(!pageflipflop) modexShowPage(pip[1].page);
					player[pn].q++;
					//0000pip[0].video->clk = ((*clockw)-pip[0].video->startclk)/18.2;
				} else { player[pn].q = 1; player[pn].d = 2; player[pn].ty++; }
			}
			else if(player[pn].ty < pip[0].map->height && !(pip[0].map->data[(player[pn].tx-1)+(pip[0].map->width*(player[pn].ty))] == 0))//!(player[pn].tx == TRIGGX && player[pn].ty+1 == TRIGGY))
			{
				if(player[pn].q<=player[pn].spt)
				{
					INC_PER_FRAME;
					player[pn].y+=(player[pn].speed);
					animatePlayer(pip, player, pn, 0);
					if(!pageflipflop) modexShowPage(pip[1].page);
					player[pn].q++;
				} else { player[pn].q = 1; player[pn].d = 2; player[pn].ty++; }
			}
			else
			{
				if(!pageflipflop) modexCopyPageRegion(pip[1].page, pip[0].page, player[pn].x, player[pn].y-TILEWH, player[pn].x, player[pn].y-TILEWH, 16, 32);
#ifdef SPRITE
				//PBUFSFUN(pip[0].page, player[pn].x, player[pn].y-TILEWH, 16, 64, 16, 32, PLAYERBMPDATA);
				animate_spri(player[pn].spri);
#else
				modexClearRegion(pip[1].page, player[pn].x, player[pn].y-TILEWH, 16, 32, 9);
#endif
				if(!pageflipflop) modexShowPage(pip[1].page);
				player[pn].d = 2;
			}
			player[pn].triggerx = player[pn].tx;
			player[pn].triggery = player[pn].ty+1;
		break;

		//up movement
		case 0:
			if(pip[0].ty > 0 && pip[0].ty+pip[0].page->th <= pip[0].map->height && player[pn].ty == pip[0].ty+pip[0].page->tilemidposscreeny &&
			!(pip[0].map->data[(player[pn].tx-1)+(pip[0].map->width*(player[pn].ty-2))] == 0))//!(player[pn].tx == TRIGGX && player[pn].ty-1 == TRIGGY))	//collision detection!
			{
				if(player[pn].q<=player[pn].spt)
				{
					INC_PER_FRAME;
					animatePlayer(pip, player, pn, 1);
					ScrollUp(pip, player, 3, pn);
					ScrollUp(pip, player, 2, pn);
					mapScrollUp(pip, player, !(pip[0].video->p), pn);
					mapScrollUp(pip, player, (pip[0].video->p), pn);
					if(!pageflipflop) modexShowPage(pip[1].page);
					player[pn].q++;
					//0000pip[0].video->clk = ((*clockw)-pip[0].video->startclk)/18.2;
				} else { player[pn].q = 1; player[pn].d = 2; player[pn].ty--; }
			}
			else if(player[pn].ty > 1 && !(pip[0].map->data[(player[pn].tx-1)+(pip[0].map->width*(player[pn].ty-2))] == 0))//!(player[pn].tx == TRIGGX &&  player[pn].ty-1 == TRIGGY))
			{
				if(player[pn].q<=player[pn].spt)
				{
					INC_PER_FRAME;
					player[pn].y-=(player[pn].speed);
					animatePlayer(pip, player, 0, pn);
					if(!pageflipflop) modexShowPage(pip[1].page);
					player[pn].q++;
				} else { player[pn].q = 1; player[pn].d = 2; player[pn].ty--; }
			}
			else
			{
				if(!pageflipflop) modexCopyPageRegion(pip[1].page, pip[0].page, player[pn].x, player[pn].y-TILEWH, player[pn].x, player[pn].y-TILEWH, 16, 32);
#ifdef SPRITE
				//PBUFSFUN(pip[0].page, player[pn].x, player[pn].y-TILEWH, 16, 0, 16, 32, PLAYERBMPDATA);
				animate_spri(player[pn].spri);
#else
				modexClearRegion(pip[1].page, player[pn].x, player[pn].y-TILEWH, 16, 32, 12);
#endif
				if(!pageflipflop) modexShowPage(pip[1].page);
				player[pn].d = 2;
			}
			player[pn].triggerx = player[pn].tx;
			player[pn].triggery = player[pn].ty-1;
		break;
	}
}