示例#1
0
void CLabelPreview::SelectLabel(int nLabel)
{
	if (m_nSelectedLabel != nLabel)
	{
		ShowSelection(NULL, FALSE);
		m_nSelectedLabel = nLabel;
		ShowSelection(NULL, TRUE);
	}
}
示例#2
0
int PlayerEquip(void *bkg)
{
	int cmd1, cmd2, prev1 = 0, prev2 = 0;
	int done1 = 0, done2;

	debug(D_NORMAL, "\n");

	done2 = gOptions.twoPlayers ? 0 : 1;
	while (!done1 || !done2) {
		memcpy(GetDstScreen(), bkg, SCREEN_MEMSIZE);
		GetPlayerCmd(&cmd1, &cmd2);
		
		if (KeyDown(keyEsc)) return 0; // hack to exit from menu
		
		if (gOptions.twoPlayers) {
			if (cmd1 == prev1)
				cmd1 = 0;
			else
				prev1 = cmd1;
//      if (!done1) // || !gPlayer1Data.weaponCount < MAX_WEAPONS)
			done1 = !WeaponSelection(CenterOfLeft(50), CHARACTER_PLAYER1, &gPlayer1Data, cmd1, done1);
			ShowSelection(CenterOfLeft(50), &gPlayer1Data,CHARACTER_PLAYER1);
			ShowPlayerControls(CenterOfLeft(100), &gPlayer1Data);

			if (cmd2 == prev2)
				cmd2 = 0;
			else
				prev2 = cmd2;
//      if (!done2) // || gPlayer2Data.weaponCount < MAX_WEAPONS)
			done2 = !WeaponSelection(CenterOfRight(50), CHARACTER_PLAYER2, &gPlayer2Data, cmd2, done2);
			ShowSelection(CenterOfRight(50), &gPlayer2Data, CHARACTER_PLAYER2);
			ShowPlayerControls(CenterOfRight(100), &gPlayer2Data);
		} else {
			if (cmd1 == prev1)
				cmd1 = 0;
			else
				prev1 = cmd1;
			if (!done1)	// || gPlayer1Data.weaponCount <= 0)
				done1 =
				    !WeaponSelection(CenterX(80),
						     CHARACTER_PLAYER1,
						     &gPlayer1Data, cmd1,
						     done1);
			ShowSelection(CenterX(80), &gPlayer1Data,
				      CHARACTER_PLAYER1);
			ShowPlayerControls(CenterX(100), &gPlayer1Data);
		}

		CopyToScreen();
	}

	WaitForRelease();

	return 1;
}
示例#3
0
int PlayerEquip(void *bkg)
{
	int done1 = 0, done2;

	debug(D_NORMAL, "\n");

	done2 = gOptions.twoPlayers ? 0 : 1;
	while (!done1 || !done2)
	{
		int cmd1 = 0;
		int cmd2 = 0;
		InputPoll(&gJoysticks, &gKeyboard);
		memcpy(GetDstScreen(), bkg, GraphicsGetMemSize(&gGraphicsDevice.cachedConfig));
		GetPlayerCmd(&cmd1, &cmd2, 1);

		if (KeyIsPressed(&gKeyboard, keyEsc)) return 0; // hack to exit from menu

		if (gOptions.twoPlayers)
		{
			done1 = !WeaponSelection(CenterOfLeft(50), CHARACTER_PLAYER1, &gPlayer1Data, cmd1, done1);
			ShowSelection(CenterOfLeft(50), &gPlayer1Data,CHARACTER_PLAYER1);
			ShowPlayerControls(CenterOfLeft(100), &gConfig.Input.PlayerKeys[0]);

			done2 = !WeaponSelection(CenterOfRight(50), CHARACTER_PLAYER2, &gPlayer2Data, cmd2, done2);
			ShowSelection(CenterOfRight(50), &gPlayer2Data, CHARACTER_PLAYER2);
			ShowPlayerControls(CenterOfRight(100), &gConfig.Input.PlayerKeys[1]);
		}
		else
		{
			done1 = !WeaponSelection(CenterX(80), CHARACTER_PLAYER1, &gPlayer1Data, cmd1, done1);
			ShowSelection(CenterX(80), &gPlayer1Data, CHARACTER_PLAYER1);
			ShowPlayerControls(CenterX(100), &gConfig.Input.PlayerKeys[0]);
		}

		CopyToScreen();
		SDL_Delay(10);
	}

	return 1;
}
示例#4
0
void CLabelPreview::OnPaint()
{
	CPaintDC dc(this); // device context for painting

	if (m_pLabelData != NULL)
	{
		CRect crClient;
		GetClientRect(&crClient);

		m_pLabelData->DrawPage(&dc, crClient, FALSE, &m_crDrawn);

		ShowSelection(&dc, TRUE);
	}
}
示例#5
0
/*----------------------------------------------------------------------
  VerticalScroll scrolls forward (delta > 0) or backward (delta < 0).
  Moves by raster-op a part of the window and displays the new part:                  
  - forwardr by RedrawFrameBottom,                       
  - backward by RedrawFrameTop.                     
  The parameter selection is 1 if threre is a selection, 0 if not.
  ----------------------------------------------------------------------*/
void VerticalScroll (int frame, int delta, int selection)
{
  int                 y, height;
  int                 max, width;
  int                 lframe, hframe;
  PtrBox              srcbox;
  ViewFrame          *pFrame;
  PtrAbstractBox      pAb;
  ThotBool            add;
  
  if (delta != 0 && GL_prepare (frame))
    {
      pFrame = &ViewFrameTable[frame - 1];
      if (pFrame->FrReady && pFrame->FrAbstractBox)
        {
          pAb = pFrame->FrAbstractBox;
          /* On termine l'insertion courante */
          CloseTextInsertion ();
          srcbox = pAb->AbBox;
          /* Limites du scroll */
          if (srcbox)
            {
              /* A priori pas de paves ajoutes */
              add = FALSE;
              /* Au plus, la limite du document + le debordement vertical*/
              GetSizesFrame (frame, &lframe, &hframe);
              max = srcbox->BxYOrg + srcbox->BxHeight - pFrame->FrYOrg - hframe;
              if (!pAb->AbTruncatedTail && delta > max)
                {
                  JumpIntoView (frame, 100);
                  return;
                }
              if (pAb->AbTruncatedTail)
                max = delta;
              if (pAb->AbTruncatedHead)
                y = delta;
              else
                {
                  y = -pFrame->FrYOrg;
                  /* Il faut respecter la marge initiale si elle est
                     positive */
                  if (srcbox->BxYOrg < 0)
                    y += srcbox->BxYOrg;
                }
              
              /* Le Scroll est possible --> Calcule l'amplitude du Scroll*/
              if ((delta > 0 && max > 0) || (delta < 0 && y < 0))
                {
                  if (delta > 0)
                    {
                      /* SCROLL forward */
                      if (delta > max)
                        delta = max;
                      y = delta;
                      height = hframe - y;
                      if (lframe > srcbox->BxWidth)
                        /* pay attention to positioning boxes */
                        width = srcbox->BxWidth;
                      else
                        width = lframe + 1;
                      Scroll (frame, width, height, 0, y, 0, 0);
		      height = pFrame->FrYOrg + hframe;
		      DefClip (frame, pFrame->FrXOrg, height,
			       pFrame->FrXOrg + lframe, 
			       height + delta);
                      add = RedrawFrameBottom (frame, delta, NULL);
                    }
                  else
                    {
                      /* SCROLL backward */
                      if (delta < y)
                        delta = y;
                      height = hframe + delta;
                      if (lframe > srcbox->BxWidth)
                        /* pay attention to positioning boxes */
                        width = srcbox->BxWidth;
                      else
                        width = lframe + 1;
                      y = -delta;
                      Scroll (frame, width, height, 0, 0, 0, y);
                      height = pFrame->FrYOrg;
                      DefClip (frame, pFrame->FrXOrg, height + delta,
                               pFrame->FrXOrg + lframe, height);
                      add = RedrawFrameTop (frame, -delta);
                    }
                  /* recompute scrolls */
                  CheckScrollingWidthHeight (frame);
                  UpdateScrollbars (frame);
                }
              
              if (selection != 0)
                if (add)
                  {
                    ClearViewSelMarks (frame);
                    /* On supprime l'ancienne selection */
                    ShowSelection (pFrame->FrAbstractBox, FALSE);
                    /* On reprend la nouvelle */
                    /* On reallume la selection deja visualisee */
                  }
#ifdef _GL
	      /* to be sure the scrolled page has been displayed */
	      GL_Swap( frame );
#endif /* _GL */
            }
        }
    }
}