Exemplo n.º 1
0
Arquivo: menu.c Projeto: NegMozzie/42
int 		menu(t_game *game)
{
    int key;
    int i;

    i = 1;
    key = -1;
    while (key != ESCAPE && key != ENTER)
    {
        key = getch();
        if (key == KEY_F(1))
        {
            show_menubar(game);
            while ((key = getch()) && (key == KEY_UP || key == KEY_DOWN))
                i = scroller(game, i);
            if (key != ENTER)
                i = 0;
        }
        if (key == ESCAPE)
            i = 0;
    }
    del_menu(game);
    //touchwin(stdscr);
    refresh();
    return (i);
}
void QtViewportInteractionEngine::reset()
{
    ASSERT(!m_suspendCount);

    m_hadUserInteraction = false;

    scroller()->stop();
    m_scaleAnimation->stop();
}
Exemplo n.º 3
0
static INT_PTR CALLBACK
memorybrowser_proc( HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam )
{
  switch( uMsg )
  {
    case WM_INITDIALOG:
      memorybrowser_init( hwndDlg );
      return TRUE;

    case WM_COMMAND:
      if( LOWORD( wParam ) == IDCLOSE ) {
        EndDialog( hwndDlg, 0 );
        return 0;
      }
      break;

    case WM_CLOSE: {
      EndDialog( hwndDlg, 0 );
      return 0;
    }

    case WM_VSCROLL:
      if( ( HWND ) lParam != NULL ) {
        if( ! scroller( hwndDlg, wParam ) )
          return 0;
      }
      break;
      
    case WM_MOUSEWHEEL:
/* FIXME: when one of the lines in the listview is selected,
          mouse wheel doesn't work */      
      scroller( hwndDlg, MAKEWPARAM( 
                ( ( short ) HIWORD( wParam ) < 0 ) ? SB_LINEDOWN : SB_LINEUP,
                0 ) );
      return 0;
  }
  return FALSE;
}
QtViewportInteractionEngine::QtViewportInteractionEngine(const QQuickWebView* viewport, QQuickWebPage* content)
    : m_viewport(viewport)
    , m_content(content)
    , m_suspendCount(0)
    , m_scaleAnimation(new ScaleAnimation(this))
    , m_pinchStartScale(-1)
{
    reset();

    QScrollerProperties properties = scroller()->scrollerProperties();

    // The QtPanGestureRecognizer is responsible for recognizing the gesture
    // thus we need to disable the drag start distance.
    properties.setScrollMetric(QScrollerProperties::DragStartDistance, 0.0);

    // Set some default QScroller constrains to mimic the physics engine of the N9 browser.
    properties.setScrollMetric(QScrollerProperties::AxisLockThreshold, 0.66);
    properties.setScrollMetric(QScrollerProperties::ScrollingCurve, QEasingCurve(QEasingCurve::OutExpo));
    properties.setScrollMetric(QScrollerProperties::DecelerationFactor, 0.05);
    properties.setScrollMetric(QScrollerProperties::MaximumVelocity, 0.635);
    properties.setScrollMetric(QScrollerProperties::OvershootDragResistanceFactor, 0.33);
    properties.setScrollMetric(QScrollerProperties::OvershootScrollDistanceFactor, 0.33);

    scroller()->setScrollerProperties(properties);

    connect(m_content, SIGNAL(widthChanged()), this, SLOT(itemSizeChanged()), Qt::DirectConnection);
    connect(m_content, SIGNAL(heightChanged()), this, SLOT(itemSizeChanged()), Qt::DirectConnection);

    connect(m_scaleAnimation, SIGNAL(valueChanged(QVariant)),
            SLOT(scaleAnimationValueChanged(QVariant)), Qt::DirectConnection);
    connect(m_scaleAnimation, SIGNAL(stateChanged(QAbstractAnimation::State, QAbstractAnimation::State)),
            SLOT(scaleAnimationStateChanged(QAbstractAnimation::State, QAbstractAnimation::State)), Qt::DirectConnection);

    connect(scroller(), SIGNAL(stateChanged(QScroller::State)),
            SLOT(scrollStateChanged(QScroller::State)), Qt::DirectConnection);
}
Exemplo n.º 5
0
int VideoEnhancements()
{	
	int menu = 0;
	int quit = 0;
	short j;
	int redraw = 1;
	int i;
	unsigned char r,g,b;

	line = 0;
	scrollerx = 320 - MARGIN;

	while ( quit == 0)
	{
		if ( redraw )
			DrawMenu(&vemenu[0], vecount, menu );

		redraw = 0;

		j = PAD_ButtonsDown(0);

		if ( j & PAD_BUTTON_DOWN ) {
			menu++;
			redraw = 1;
		}

		if ( j & PAD_BUTTON_UP ) {
			menu--;
			redraw = 1;
		}

		if ( j & PAD_BUTTON_A ) {
			redraw = 1;
			switch ( menu ) {
				case 0:	/*** Scaler ***/
					screenscaler++;
					screenscaler = ( screenscaler > 2 ) ? 0 : screenscaler;

					switch ( screenscaler )
					{
						case 2: strcpy(vemenu[0], "Screen Scaler - GX"); break;
						case 1: strcpy(vemenu[0], "Screen Scaler - Cheesy"); break;
						case 0:	strcpy(vemenu[0], "Screen Scaler - 2x"); break;
					}
					break;
				case 1: /*** Palette ***/
					currpal++;
					if ( currpal > MAXPAL )
						currpal = 0;

					if ( currpal == 0 ) {
						strcpy(vemenu[1],"Palette - Default");
						/*** Do palette reset ***/
						FCEU_ResetPalette();
					} else {
						strcpy(vemenu[1],"Palette - ");
						strcat(vemenu[1], palettes[currpal-1].name);

						/*** Now setup this palette ***/
						for ( i = 0; i < 64; i++ )
						{
							r = palettes[currpal-1].data[i] >> 16;
							g = ( palettes[currpal-1].data[i] & 0xff00 ) >> 8;
							b = ( palettes[currpal-1].data[i] & 0xff );
							FCEUD_SetPalette( i, r, g, b);
							FCEUD_SetPalette( i+64, r, g, b);
							FCEUD_SetPalette( i+128, r, g, b);
							FCEUD_SetPalette( i+192, r, g, b);

						}
					}

					break;

				case 2: slimit ^=1;
					if ( slimit )
						strcpy(vemenu[2], "8 Sprite Limit - ON ");
					else
						strcpy(vemenu[2], "8 Sprite Limit - OFF");
					FCEUI_DisableSpriteLimitation( slimit );
					break;

				case 3: timing ^= 1;
					if ( timing )
						strcpy(vemenu[3], "Timing - PAL ");
					else
						strcpy(vemenu[3], "Timing - NTSC");

					FCEUI_SetVidSystem( timing );
					
					break;

				case 4: quit = 1; break;

				default: break;

			}
		}
		
		if ( j & PAD_BUTTON_B ) quit = 1;
		if ( menu < 0 )
			menu = vecount - 1;

		if ( menu == vecount )
			menu = 0;

		scroller(SCROLLY, &vestext[0], 2);	
        VIDEO_WaitVSync();

	}
Exemplo n.º 6
0
int StateManager()
{

	int menu = 0;
	int quit = 0;
	short j;
	int redraw = 1;
	//int i;

	line = 0;
	scrollerx = 320 - MARGIN;

	while ( quit == 0 )
	{
	
		if ( redraw ){
			sprintf(mcmenu[0], (slot == 0) ? "Use: SLOT A" : "Use: SLOT B");
			sprintf(mcmenu[1], (device == 0) ? "Device:  MCARD" : "Device: SDCARD");
			DrawMenu(&mcmenu[0], mccount, menu);
		} 

		redraw = 0;

		j = PAD_ButtonsDown(0);

		if ( j & PAD_BUTTON_DOWN ) {
			menu++;
			redraw = 1;
		}

		if ( j & PAD_BUTTON_UP ) {
			menu--;
			redraw = 1;
		}

		if ( j & PAD_BUTTON_A ) {
			redraw = 1;
			switch( menu ) {
				case 0 :
					slot ^= 1;
					break;
				case 1 : 
					device ^= 1;
					break;
				case 2 : 
					ManageState(0, slot, device); //Save
					break;
				case 3 :
					ManageState(1, slot, device); //Load
					break;
				case 4 : 
					quit = 1;//return 0 ; 
					break;
				default: 
					break;
			}
		}

		if ( j & PAD_BUTTON_B ) quit = 1;

		if ( menu < 0 )
			menu = mccount - 1;

		if ( menu == mccount )
			menu = 0;

		scroller(SCROLLY, &sgmtext[0], 2);
        VIDEO_WaitVSync();

	}

	return 0;
}
Exemplo n.º 7
0
void ConfigPAD()
{

	int menu = 0;
	int quit = 0;
	short j;
	int redraw = 1;
	int i;

	for ( i = 0; i < 6; i++ )
	{
		mpads[i] = padmenu[i][15] == 'A' ? 0 :
			     padmenu[i][15] == 'B' ? 1 :
			     padmenu[i][15] == 'X' ? 2 :
			     padmenu[i][15] == 'Y' ? 3 :
			     padmenu[i][15] == 'S' ? 4 :
			     padmenu[i][15] == 'Z' ? 5 : 0;
	}

	line = 0;
	scrollerx = 320 - MARGIN;

    while ( quit == 0 )
    {
        if ( redraw ) DrawMenu(&padmenu[0], configpadcount, menu);

        redraw = 0;
        j = PAD_ButtonsDown(0);
		
        if ( j & PAD_BUTTON_DOWN ) {
            menu++;
            redraw = 1;
        }

        if ( j & PAD_BUTTON_UP ) {
            menu--;
            redraw = 1;
        }

        if ( j & PAD_BUTTON_A ) {
            redraw = 1;
			switch( menu ) {

				case 0: i = 0; break;

				case 1: i = 1; break;

				case 2: i = 2; break;

				case 3: i = 3; break;

				case 4: i = 4; break;

				case 5: i = 5; break;

				case 6: i = -1;
					FSDisable ^= 1;
					if ( FSDisable )
						strcpy(padmenu[6], "    FOUR SCORE - OFF");
					else
						strcpy(padmenu[6], "    FOUR SCORE - ON ");
					
					FCEUI_DisableFourScore(FSDisable);
					break;
				
				case 7: i = -1;
					PADCAL += 5;
					if ( PADCAL > 90 )
						PADCAL = 40;

					sprintf(padmenu[7],"  ANALOG CLIP - %d", PADCAL);
					break;

				case 8: i = -1;
					PADTUR += 1;
					if ( PADTUR > 10 ) PADTUR += 4;
					if ( PADTUR > 30 )
						PADTUR = 2;

					sprintf(padmenu[8]," TURBO SPEED - %.2f pps", (float)60/PADTUR);
					break;
					
				case 9: quit=1; return; break;
				default: break;
			}

			if ( i >= 0 ) {
                mpads[i]++;
               	if ( mpads[i] == 6 ) mpads[i] = 0;

                padmenu[i][15] = PADMap( mpads[i], i );
			}
		}
		
        if ( j & PAD_BUTTON_B ) {
            quit=1; return;
        }

        if ( menu < 0 ) menu = configpadcount - 1;

        if ( menu == configpadcount ) menu = 0;

		scroller(SCROLLY, &text[0], 2);
        VIDEO_WaitVSync();
	}

	return;
}
Exemplo n.º 8
0
void filemenu(int mode)
{
	getstats(mode);
	if (button(100,100,170,120,"OPTIMIZE",9,13,base2,false,mode)==DDgui_LeftClick && mode!=DD_AfterCheck) { optimizeproject(); waitleftbutton=true; }
	if (button(100,121,170,141,"TextureO",9,13,base2,false,mode)==DDgui_LeftClick && mode!=DD_AfterCheck) { savetextureusefile(); waitleftbutton=true; }
	if (mode==DD_Draw)
	{
		glColor4f(buttontextlit);
		rectangle(661,120,775,264);
	}	  
	if (mode==DD_Check)
		if (leftclickinwindow(661,121,774,263) && mouseinwindow(661,121,774,260)) fscnselected=min(fscnbarpos+(my-121) / 10,filenum(prjlist)-1);
	if ((mode ==DD_Check) && mouseinwindow(661,121,774,263)) fscnbarpos-=wheel*4;
	scroller(775,120,790,264,15,15,filenum(prjlist),14,fscnbarpos,mode);
	if (mode==DD_Draw)
	{
		pf = prjlist;
		for (x=1;x<=fscnbarpos;x++) pf=pf->next;
		for (x=0;x<=13;x++)
		{
			if (pf!=NULL)
			{
				if (fscnbarpos+x==fscnselected) glColor4f(col4); else glColor4f(buttontextlit);
				glRasterPos2i(665,130+x*10);
				strcpy(st,pf->filedata.cFileName);
				glPrint(st,base2,18);
				pf=pf->next;
			}
		}

		glColor4f(buttontextlit);
		sprintf(s,"%d PROJECTS.",filenum(prjlist));
		glRasterPos2i(683,277);
		glPrint(s,base2);

	}
	glColor4f(1,1,1,1);
	if ((button(686,283,771,299,texbutton1,0,96.0/256.0,85.0/256.0,112.0/256.0,false,mode) == DDgui_LeftClick) && (mode!=DD_AfterCheck))
	{
		pf = prjlist;
		for (x=1;x<=fscnselected;x++) pf=pf->next;
		//sprintf(s,"%s%s",scenedir,pf->filedata.cFileName);
		memset(lastfilename,0,256);
		memcpy(lastfilename,pf->filedata.cFileName,strlen(pf->filedata.cFileName)-4);
		sprintf(s,"%s%s",projectdir,pf->filedata.cFileName);
		//loadaDDictscene(*actualscene,NULL,s,true,true,true,true,true);				
		LoadProject(s);
		modellviews[3].cam=actualscene->editview;
		modellviews[3].cam2=actualscene->editview;
		tTexture *tex=texturelist;
		while ((tex!=NULL) && (tex->number!=selectedtexture)) tex=tex->next;
		memcpy(generatedtexture.commands,tex->commands,sizeof(generatedtexture.commands));
		memcpy(generatedtexture.texts,tex->texts,sizeof(generatedtexture.texts));
		generatedtexture.commandnum=tex->commandnum;
		//memcpy(generatedtexture.layers,tex->layers,sizeof(generatedtexture.layers));
		for (y=0;y<=3;y++)
		{
			glBindTexture(GL_TEXTURE_2D, texlayers[y]);
			glTexImage2D(GL_TEXTURE_2D,0,3,256,256,0,GL_RGBA,GL_UNSIGNED_BYTE,generatedtexture.layers[y]);
		}				
		
		if (materiallist!=NULL)
		{
			matselected=0;
			material *mat=materiallist;
			for (x=1;x<=matselected;x++) mat=mat->next;
			mattexture=mat->handle;
		}				

		waitleftbutton=true;
	}

	if (button(685,300,770,316,texbutton1,0,144.0/256.0,85.0/256.0,160.0/256.0,false,mode) == DDgui_LeftClick) 
	{
		char *ss=readline("Enter Filename (.scn not needed)",210,0,base2,lastfilename);
		if (ss!="")
		{
			//sprintf(s,"%s%s.scn",scenedir,ss);
			//saveaDDictscene(*actualscene,NULL,s,scntexturesave, scncamerasave, scnselectionsave, scnlightsave, scnobjectsave);
			memset(lastfilename,0,256);
			memcpy(lastfilename,ss,strlen(ss));
			sprintf(s,"%s%s.64k",projectdir,ss);
			SaveProject(s);
		}
	}
	if (button(685,317,770,333,texbutton1,0,160.0/256.0,85.0/256.0,176.0/256.0,false,mode) == DDgui_LeftClick) 
	{
		char *ss=readline("Enter Filename (.scn not needed)",210,0,base2,"");
		if (ss!="")
		{
			sprintf(s,"%s%s.m64",minimaldir,ss);
			//SaveMinimalScene(*actualscene,NULL,s);
			saveminimalproject(s,2);
		}
	}
	/*RadioButton(681,341,scntexturesave,"TEXTURES",mode);
	RadioButton(681,355,scncamerasave,"CAMERAS",mode);
	RadioButton(681,369,scnselectionsave,"SELECTIONS",mode);
	RadioButton(681,383,scnlightsave,"LIGHTS",mode);
	RadioButton(681,397,scnobjectsave,"OBJECTS",mode);*/
}
Exemplo n.º 9
0
GeneralPrefsView::GeneralPrefsView(BRect frame, const char* title, uint32 redraw, uint32 flags)
	: BView(frame, title, redraw, flags), fLastindex(0)
{
	SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR));
	fPrefsItems[piWindow] = new AppWindowPrefsView(BRect(0, 0, 0, 0));
	fPrefsItems[piColor] = new ColorPrefsView(BRect(0, 0, 0, 0));
	fPrefsBox = new BBox(
		BRect(0.0, 0.0, fPrefsItems[piColor]->Bounds().right + 10 + be_plain_font->StringWidth("W"),
			  fPrefsItems[piWindow]->Bounds().bottom + be_plain_font->Size() / 2),
		"Bleat", B_FOLLOW_ALL_SIDES);
	fPrefsBox->AddChild(fPrefsItems[piWindow]);
	fPrefsBox->AddChild(fPrefsItems[piColor]);
	fPrefsList =
		new BListView(BRect(0.0, 0.0, fPrefsItems[piWindow]->Bounds().right / 2,
							fPrefsItems[piWindow]->Bounds().bottom),
					  "PrefsList", B_SINGLE_SELECTION_LIST, B_FOLLOW_LEFT | B_FOLLOW_TOP_BOTTOM);
	fPrefsList->MoveTo(5, 5);
	fPrefsList->AddItem(new BStringItem(S_PREFGEN_ALIAS_ITEM));
	fPrefsList->AddItem(new BStringItem(S_PREFGEN_APP_ITEM));
	fPrefsList->AddItem(new BStringItem(S_PREFGEN_COLOR_ITEM));
	fPrefsList->AddItem(new BStringItem(S_PREFGEN_FONT_ITEM));
	fPrefsList->AddItem(new BStringItem(S_PREFGEN_COMMAND_ITEM));
	fPrefsList->AddItem(new BStringItem(S_PREFGEN_EVENT_ITEM));
	fPrefsList->AddItem(new BStringItem(S_PREFGEN_DCC_ITEM));
	fPrefsList->AddItem(new BStringItem(S_PREFGEN_LOG_ITEM));
	fPrefsList->SetSelectionMessage(new BMessage(M_GENERALPREFS_SELECTION_CHANGED));
	BScrollView* scroller(new BScrollView("list scroller", fPrefsList,
										  B_FOLLOW_LEFT | B_FOLLOW_TOP_BOTTOM, 0, false, true));
	AddChild(scroller);
	ResizeTo(scroller->Frame().right + fPrefsBox->Bounds().Width() + 10,
			 fPrefsBox->Bounds().Height() + 5);
	fPrefsBox->MoveTo(scroller->Frame().right + 5, 5);
	AddChild(fPrefsBox);
	BRect bounds(fPrefsBox->Bounds());
	bounds.left += 3;
	bounds.right -= 3;
	bounds.top += 12;
	bounds.bottom -= 5;

	fPrefsItems[piAlias] = new AliasesPrefsView(bounds);
	fPrefsBox->AddChild(fPrefsItems[piAlias]);

	fPrefsItems[piWindow]->MoveTo(be_plain_font->StringWidth("i"), be_plain_font->Size() * 1.5);
	fPrefsItems[piWindow]->ResizeBy(be_plain_font->StringWidth("i") * 3,
									-1.2 * (be_plain_font->Size()));
	fPrefsItems[piWindow]->Hide();
	fPrefsItems[piColor]->MoveTo(be_plain_font->StringWidth("i"), be_plain_font->Size() * 1.5);
	fPrefsItems[piColor]->ResizeTo(bounds.Width() - 3, bounds.Height() - 3);

	fPrefsItems[piColor]->Hide();
	fPrefsItems[piFonts] = new FontPrefsView(bounds);
	fPrefsBox->AddChild(fPrefsItems[piFonts]);
	fPrefsItems[piFonts]->Hide();
	fPrefsItems[piCommands] = new CommandPrefsView(bounds);
	fPrefsBox->AddChild(fPrefsItems[piCommands]);
	fPrefsItems[piCommands]->Hide();
	fPrefsItems[piEvents] = new EventPrefsView(bounds);
	fPrefsBox->AddChild(fPrefsItems[piEvents]);
	fPrefsItems[piEvents]->Hide();

	fPrefsItems[piDCC] = new DCCPrefsView(bounds);
	fPrefsBox->AddChild(fPrefsItems[piDCC]);
	fPrefsItems[piDCC]->Hide();

	fPrefsItems[piLog] = new LogPrefsView(bounds);
	fPrefsBox->AddChild(fPrefsItems[piLog]);
	fPrefsItems[piLog]->Hide();
}
Exemplo n.º 10
0
void QtViewportInteractionEngine::panGestureEnded(const QPointF&  viewportTouchPoint, qint64 eventTimestampMillis)
{
    scroller()->handleInput(QScroller::InputRelease,  viewportTouchPoint, eventTimestampMillis);
}
Exemplo n.º 11
0
void QtViewportInteractionEngine::panGestureCancelled()
{
    // Stopping the scroller immediately stops kinetic scrolling and if the view is out of bounds it
    // is moved inside valid bounds immediately as well. This is the behavior that we want.
    scroller()->stop();
}
Exemplo n.º 12
0
void QtViewportInteractionEngine::panGestureRequestUpdate(const QPointF&  viewportTouchPoint, qint64 eventTimestampMillis)
{
    scroller()->handleInput(QScroller::InputMove,  viewportTouchPoint, eventTimestampMillis);
}
Exemplo n.º 13
0
void QtViewportInteractionEngine::panGestureStarted(const QPointF&  viewportTouchPoint, qint64 eventTimestampMillis)
{
    m_hadUserInteraction = true;
    scroller()->handleInput(QScroller::InputPress,  viewportTouchPoint, eventTimestampMillis);
}