Ejemplo n.º 1
0
//
// sets up the display
//
void handle_init(AppContextRef ctx) {
  (void)ctx;

    window_init(&window, "Simplicity");
    window_stack_push(&window, true /* Animated */);
    window_set_background_color(&window, GColorBlack);
    window_set_fullscreen(&window, true);
    resource_init_current_app(&APP_RESOURCES);
    
    window_set_click_config_provider(&window, (ClickConfigProvider) config_provider);
    
    //
    // Initialize the bitmap linking arrays to link nowhere.
    //
    for(int i=0;i<_totalImages;i++)
    {
        _targetImage[i]=-1;
        _nextImage[i]=-1;
        _prevImage[i]=-1;
    }
    
    //
    //Slide group setup
    //
    //id is incremented for each resourceID we set.
    //remember to set the 4 array sizes to to number of images up in the global declarations.
    //
    
    int id=0; //start with ID 0.
    
    _bmpResourceID[id] = RESOURCE_ID_NAV_IMAGE_001;
        _targetImage[id] = id+7; //Fandom                   //fandom is 7 slides forward. select should take us there.
        _prevImage[id] = id+4;                              //for slide 0, up button should jump four slides forward to wrap menu.
        bmp_init_container( _bmpResourceID[id], &_image0);  //assign to _image0 so that inital screendraw can happen.
    _bmpResourceID[++id] = RESOURCE_ID_NAV_IMAGE_002;
        _targetImage[id] = id+15; //fantasy                 //fantasy is currently 13 slides forward. select should take us there.
    _bmpResourceID[++id] = RESOURCE_ID_NAV_IMAGE_003;
        _targetImage[id] = id+11; //family                   //alas, these offsets are somewhat fragile.
    _bmpResourceID[++id] = RESOURCE_ID_NAV_IMAGE_004;
        _targetImage[id] = id+18; //mockups
    _bmpResourceID[++id] = RESOURCE_ID_NAV_IMAGE_005;
        _targetImage[id] = id+1;  //help
        _nextImage[id] = id-4;                              //for slide 4, down button should jump four slides backward to wrap menu.

    //Help Group
    _bmpResourceID[++id] = RESOURCE_ID_HELP_IMAGE_001;
        _prevImage[id] = id+1;
    _bmpResourceID[++id] = RESOURCE_ID_HELP_IMAGE_002;
        _nextImage[id] = id-1;

    //Fandom Group
    _bmpResourceID[++id] = RESOURCE_ID_FANDOM_IMAGE_001;
        _prevImage[id] = id+5;
    _bmpResourceID[++id] = RESOURCE_ID_FANDOM_IMAGE_002;
    _bmpResourceID[++id] = RESOURCE_ID_FANDOM_IMAGE_003;
    _bmpResourceID[++id] = RESOURCE_ID_FANDOM_IMAGE_004;
    _bmpResourceID[++id] = RESOURCE_ID_FANDOM_IMAGE_005;
    _bmpResourceID[++id] = RESOURCE_ID_FANDOM_IMAGE_006;
        _nextImage[id] = id-5;
    
    //Family Group
    _bmpResourceID[++id] = RESOURCE_ID_FAMILY_IMAGE_001;
        _prevImage[id] = id+2;
    _bmpResourceID[++id] = RESOURCE_ID_FAMILY_IMAGE_002;
    _bmpResourceID[++id] = RESOURCE_ID_FAMILY_IMAGE_003;
        _nextImage[id] = id-2;
 
    //Fantasy Group
    _bmpResourceID[++id] = RESOURCE_ID_FANTASY_IMAGE_001;
        _prevImage[id] = id+4;
    _bmpResourceID[++id] = RESOURCE_ID_FANTASY_IMAGE_002;
    _bmpResourceID[++id] = RESOURCE_ID_FANTASY_IMAGE_003;
    _bmpResourceID[++id] = RESOURCE_ID_FANTASY_IMAGE_004;
    _bmpResourceID[++id] = RESOURCE_ID_FANTASY_IMAGE_005;
        _nextImage[id] = id-4;

    //Mockups Group
    _bmpResourceID[++id] = RESOURCE_ID_MOCKUP_IMAGE_001;
    _prevImage[id] = id+4;
    _bmpResourceID[++id] = RESOURCE_ID_MOCKUP_IMAGE_002;
    _bmpResourceID[++id] = RESOURCE_ID_MOCKUP_IMAGE_003;
    _bmpResourceID[++id] = RESOURCE_ID_MOCKUP_IMAGE_004;
    _bmpResourceID[++id] = RESOURCE_ID_MOCKUP_IMAGE_005;
    _nextImage[id] = id-4;

    //
    //Slide group setup end
    //
    
    
    //
    // create the bitmap layer at the back
    //
    bitmap_layer_init( &_currentPicture, GRect(0,0, 144, 168) );
    layer_add_child( &window.layer, &_currentPicture.layer );
    
    ScreenChange(0); // do initial screen draw.
    
    //
    // set the font we are using for time display.
    //
    GFont font = fonts_get_system_font(FONT_KEY_GOTHIC_24_BOLD);
    GFont font2 = fonts_get_system_font(FONT_KEY_GOTHIC_18);
    
    //fonts_load_custom_font(resource_get_handle(RESOURCE_ID_FONT_ROBOTO_CONDENSED_21));
    
    //
    // create the text layers
    //
    setupTextLayer( &_currentDate, &window, 0, 168-23, 144, 23, font2, GColorWhite, GColorBlack, GTextAlignmentRight);
    setupTextLayer( &_currentTime, &window, 0, 168-28, 144, 28, font, GColorWhite, GColorClear, GTextAlignmentLeft);
    
    layer_set_hidden(&_currentTime.layer, _hidingTime);
    layer_set_hidden(&_currentDate.layer, _hidingTime);
}
Ejemplo n.º 2
0
void up_long_click_handler(ClickRecognizerRef recognizer, Window *window) {
    _currentImage = 0;
    ScreenChange(_currentImage);
}
Ejemplo n.º 3
0
BOOL InitInstance(HINSTANCE hInstance,int nCmdShow )
{
	HDC		hDC;
	int		i;

	sysInf.ScreenW = WIN_SIZEX;
	sysInf.ScreenH = WIN_SIZEY;
	sysInf.hInstance = hInstance;
	sysInf.hMenu = LoadMenu( NULL, MAKEINTRESOURCE(IDR_MAINMENU) );
	CheckScreenMode_BPP24();
	SetMyMenuItem();

retryCreateWin:
	if(0==sysInf.full_screen){
		if(GetSystemMetrics(SM_CXSCREEN)<=WIN_SIZEX || GetSystemMetrics(SM_CYSCREEN)<=WIN_SIZEY){
			if(IDYES!=MessageBox(NULL,"この解像度では、Windowモードでは起動できません。フルスクリーンモードでゲームを起動しますか?","カラーモード",MB_YESNO|MB_ICONWARNING)){
				return (FALSE);
			}else{
				sysInf.full_screen = 1;
				goto retryCreateWin;
			}
		}
		sysInf.hWnd = CreateWindowEx(
			0,className,"アルルゥとあそぼ!!",
			WINDOWMODE_STYLE ,
			(GetSystemMetrics(SM_CXSCREEN)-sysInf.ScreenW)/2,(GetSystemMetrics(SM_CYSCREEN)-sysInf.ScreenH)/2,
			sysInf.ScreenW +GetSystemMetrics(SM_CXDLGFRAME)*2,
			sysInf.ScreenH +GetSystemMetrics(SM_CYDLGFRAME)*2 +GetSystemMetrics(SM_CYBORDER) +GetSystemMetrics(SM_CYSIZE) +GetSystemMetrics(SM_CYMENU),
			NULL, sysInf.hMenu, hInstance, NULL);

	}else{
		int full_screen = 1;
		sysInf.full_screen = 0;
		for(i=0; i<DispFreqMax; i++){
			if(sysInf.refreshRate==DispFreq[i]){
				full_screen = i+1;
				break;
			}
		}
		if(i==DispFreqMax)sysInf.refreshRate = 0;
		sysInf.hWnd = CreateWindowEx(
			0,className,"アルルゥとあそぼ!!",
			FULLMODE_STYLE,
			0, 0, sysInf.ScreenW, sysInf.ScreenH,
			NULL, NULL, hInstance, NULL);
		sysInf.hMenuWnd = CreateWindow(className,"menuWnd",WS_POPUP,
			0,0,
			WIN_SIZEX,GetSystemMetrics(SM_CYMENUSIZE),sysInf.hWnd,sysInf.hMenu,sysInf.hInstance,NULL);
		ScreenChange(full_screen , sysInf.refreshRate);
	}
	if( !sysInf.hWnd )return FALSE;
	hDC = GetDC(sysInf.hWnd);
	sysInf.bpp = GetDeviceCaps(hDC,BITSPIXEL);
	ReleaseDC(sysInf.hWnd,hDC);
	if(sysInf.bpp<16){
		MessageBox(sysInf.hWnd,"このゲームはHightColor(16Bit 65536色)モード以下のカラーモードでは動作しません。\nTrueColorかHightColorモードに切り替えて起動してください。","カラーモード",MB_OK|MB_ICONWARNING);
		return (FALSE);
	}
	SetCursor(LoadCursor(NULL,IDC_ARROW));
	return (TRUE);
} // InitInstance
Ejemplo n.º 4
0
LRESULT APIENTRY MainWndProc( HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam )
{
	int				i;
	PAINTSTRUCT		ps;

	switch( message ){
	case WM_CREATE:
		InitCommonControls();
		break;
	case WM_MOUSEWHEEL:
		sysInf.zDelta = (short) HIWORD(wParam);
		break;
    case WM_DESTROY:
	case WM_QUIT:
	case WM_CLOSE:
		if(IDYES==MessageBox(sysInf.hWnd,"アルルゥとあそぼ!!を終了してよろしいですか?","終了確認",MB_YESNO)){
			sysInf.bGameEnd = on;
		}
		return 0;
	case WM_ACTIVATE:
		for(i=0;i<g_iDIDeviceNum;i++){
			if(LOWORD(wParam) == WA_INACTIVE){
				g_pDIDevice[i]->Unacquire();
			}else{
				g_pDIDevice[i]->Acquire();
				g_pDIDevice[i]->Poll();
			}
		}
		sysInf.bIsActive = LOWORD(wParam) ? TRUE : FALSE;
		myOutputDebugString("ActivateHandle: ");
		if(sysInf.bIsActive)myOutputDebugString("Active\n");
		else myOutputDebugString("Non Active\n");
		if(sysInf.bIsActive)clearPadState();
		break;
	case WM_COMMAND:
		switch( LOWORD(wParam) ){
		  case ID_MYAPP_EXIT:
			if(IDYES==MessageBox(sysInf.hWnd,"アルルゥとあそぼ!!を終了してよろしいですか?","終了確認",MB_YESNO)){
				sysInf.bGameEnd = on;
			}
			return 0;
		  case ID_DISPCHANGE:
			if(lpMovie)	lpMovie->StopMovie();
			if(0==sysInf.full_screen){
				if(CheckOSw2k()){
					ScreenChange( 1 ,TRUE);
					for(i=0;i<DispFreqMax;i++){
						EnableMenuItem( sysInf.hMenu, ID_SUBMENU+i,  MF_ENABLED  );
						CheckMenuItem( sysInf.hMenu, ID_SUBMENU+i,   MF_UNCHECKED );
					}
					EnableMenuItem( sysInf.hMenu, ID_SUBMENU,  MF_GRAYED  );
					CheckMenuItem( sysInf.hMenu, ID_SUBMENU,   MF_CHECKED );
					EnableMenuItem( sysInf.hMenu, ID_DISPWINDOW, MF_ENABLED );
					CheckMenuItem( sysInf.hMenu, ID_DISPWINDOW,  MF_UNCHECKED );
				}else{
					ScreenChange(1,0);
					EnableMenuItem( sysInf.hMenu,ID_DISPFULL,   MF_GRAYED  );
					CheckMenuItem( sysInf.hMenu, ID_DISPFULL,   MF_CHECKED );
					EnableMenuItem( sysInf.hMenu,ID_DISPWINDOW, MF_ENABLED );
					CheckMenuItem( sysInf.hMenu, ID_DISPWINDOW, MF_UNCHECKED );
				}
			}else{
				ScreenChange(0,0);
				if(CheckOSw2k()){
					for(i=0;i<DispFreqMax;i++){
						EnableMenuItem( sysInf.hMenu, ID_SUBMENU+i,  MF_ENABLED  );
						CheckMenuItem( sysInf.hMenu, ID_SUBMENU+i,   MF_UNCHECKED );
					}
				}else{
					EnableMenuItem( sysInf.hMenu, ID_DISPFULL,  MF_ENABLED );
					CheckMenuItem( sysInf.hMenu, ID_DISPFULL,   MF_UNCHECKED );
				}
				EnableMenuItem( sysInf.hMenu, ID_DISPWINDOW, MF_GRAYED  );
				CheckMenuItem( sysInf.hMenu, ID_DISPWINDOW,  MF_CHECKED   );
			}
			break;
		  case ID_DISPFULL:
			if(lpMovie)	lpMovie->StopMovie();
			ScreenChange(1,0);
			EnableMenuItem( sysInf.hMenu,ID_DISPFULL,   MF_GRAYED  );
			CheckMenuItem( sysInf.hMenu, ID_DISPFULL,   MF_CHECKED );
			EnableMenuItem( sysInf.hMenu,ID_DISPWINDOW, MF_ENABLED );
			CheckMenuItem( sysInf.hMenu, ID_DISPWINDOW, MF_UNCHECKED );
			break;
		  case ID_DISPWINDOW:
			if(lpMovie)	lpMovie->StopMovie();
			ScreenChange(0,0);
			if(CheckOSw2k()){
				for(i=0;i<DispFreqMax;i++){
					EnableMenuItem( sysInf.hMenu, ID_SUBMENU+i,  MF_ENABLED  );
					CheckMenuItem( sysInf.hMenu, ID_SUBMENU+i,   MF_UNCHECKED );
				}
			}else{
				EnableMenuItem( sysInf.hMenu, ID_DISPFULL,  MF_ENABLED );
				CheckMenuItem( sysInf.hMenu, ID_DISPFULL,   MF_UNCHECKED );
			}
			EnableMenuItem( sysInf.hMenu, ID_DISPWINDOW, MF_GRAYED  );
			CheckMenuItem( sysInf.hMenu, ID_DISPWINDOW,  MF_CHECKED   );
			break;
		  case ID_SUBMENU:		case ID_SUBMENU+1:	case ID_SUBMENU+2:	case ID_SUBMENU+3:
		  case ID_SUBMENU+4:	case ID_SUBMENU+5:	case ID_SUBMENU+6:	case ID_SUBMENU+7:
			if(lpMovie)	lpMovie->StopMovie();
			ScreenChange( wParam-ID_SUBMENU+1 ,TRUE);
			for(i=0;i<DispFreqMax;i++){
				EnableMenuItem( sysInf.hMenu, ID_SUBMENU+i,  MF_ENABLED  );
				CheckMenuItem( sysInf.hMenu, ID_SUBMENU+i,   MF_UNCHECKED );
			}
			EnableMenuItem( sysInf.hMenu, LOWORD(wParam),  MF_GRAYED  );
			CheckMenuItem( sysInf.hMenu, LOWORD(wParam),   MF_CHECKED );
			EnableMenuItem( sysInf.hMenu, ID_DISPWINDOW, MF_ENABLED );
			CheckMenuItem( sysInf.hMenu, ID_DISPWINDOW,  MF_UNCHECKED );
			break;
		  case ID_AUTOREAD:
			sysInf.bAutoRead = !sysInf.bAutoRead;
			if(sysInf.bAutoRead){
				CheckMenuItem( sysInf.hMenu, ID_AUTOREAD,   MF_CHECKED );
			}else{
				CheckMenuItem( sysInf.hMenu, ID_AUTOREAD,   MF_UNCHECKED );
			}
			break;
		  case ID_READSKIP:
			sysInf.bReadSkip = !sysInf.bReadSkip;
			if(sysInf.bReadSkip){
				CheckMenuItem( sysInf.hMenu, ID_READSKIP,   MF_CHECKED );
				sysInf.bAlreadyRead = AVG_CheckScenarioFlag();
			}else{
				CheckMenuItem( sysInf.hMenu, ID_READSKIP,   MF_UNCHECKED );
			}
			break;
		  case ID_UPDATE:
			ShellExecute( sysInf.hWnd, NULL, "http://leaf.aquaplus.co.jp", NULL, NULL, SW_SHOWNORMAL );
			break;
		  case ID_VER:
			DialogBox( sysInf.hInstance, MAKEINTRESOURCE(IDD_ABOUTDIALOG), sysInf.hWnd, AboutDialogBoxProc );
			break;
		  case ID_CONFIG:
			DialogBox( sysInf.hInstance, MAKEINTRESOURCE(IDD_CONFIGDIALOG), sysInf.hWnd, ConfDialogBoxProc );
			break;
		  case ID_LOADEXEC:
			if(lpMovie)break;
			if(NULL==EXEC_LangBuf){
				EXEC_LangBuf  = (char *)&LangData.LangBuf;
				EXEC_LangInfo = &LangData;
			}
			if(NULL==saveWnd)saveWnd = new SaveWnd(load_mode);
			break;
		  case ID_SAVEEXEC:
			if(lpMovie || NULL==EXEC_LangBuf)break;
			if(NULL==saveWnd)saveWnd = new SaveWnd(save_mode);
			break;
		  case ID_BACKTITLE:
			selectWnd.selectEnd();
			ESC_InitEOprFlag();
			lpSoundDS->ChangeMusic(bgmHandle,pack_bgmfile,2,FALSE,0);
			my_delete(lpMenuWnd);
			my_delete(lpKabeSetWnd);
			my_delete(lpStaffmodeWnd);
			my_delete(lpStaffRoll);
			my_delete(lpMovie);
			lpMovie = new CMovie;
			lpMovie->OpenMovie("title.avi",-1,TRUE);
			break;
		}
		break;
	case WM_SYSCOMMAND:
		if(sysInf.full_screen){
			switch (wParam) {
				case SC_KEYMENU :
					return 0;
			}
		}
		break;
	case WM_DISPLAYCHANGE:
		if(!sysInf.bDisplayChange)break;
		SetTimer(sysInf.hWnd,1,500,NULL);
		break;
	case WM_TIMER:
		if(!sysInf.bDisplayChange || 1!=wParam)break;
		KillTimer(sysInf.hWnd,1);
		if(0==sysInf.full_screen){
			MoveWindow(sysInf.hWnd,
				(GetSystemMetrics(SM_CXSCREEN)-sysInf.ScreenW)/2,(GetSystemMetrics(SM_CYSCREEN)-sysInf.ScreenH)/2,
				sysInf.ScreenW +GetSystemMetrics(SM_CXDLGFRAME)*2,
				sysInf.ScreenH +GetSystemMetrics(SM_CYDLGFRAME)*2 +GetSystemMetrics(SM_CYBORDER)+GetSystemMetrics(SM_CYSIZE) +GetSystemMetrics(SM_CYMENU),
				TRUE);
		}else{
			MoveWindow(sysInf.hWnd,
				0, 0, sysInf.ScreenW, sysInf.ScreenH, TRUE);
			if(NULL==sysInf.hMenuWnd){
				sysInf.hMenuWnd = CreateWindow(className,"menuWnd",WS_POPUP,
					0,0,
					WIN_SIZEX,GetSystemMetrics(SM_CYMENUSIZE),sysInf.hWnd,sysInf.hMenu,sysInf.hInstance,NULL);
			}
		}
		sysInf.bDisplayChange = FALSE;
		break;
	case WM_PAINT:
		if(lpMovie)break;
		BeginPaint( sysInf.hWnd, &ps );
		BitBlt( ps.hdc, 0, 0, WIN_SIZEX, WIN_SIZEY, g_DibInf.memDC, 0, 0, SRCCOPY );
		EndPaint( sysInf.hWnd, &ps );
		break;
	case WM_SETCURSOR:
	default:
		break;
    }
	return DefWindowProc(hWnd, message, wParam, lParam);

} // MainWndProc
Ejemplo n.º 5
0
static int my_toggle_border(int sel) {
    ScreenChange();
    return 0;
}