void LuaHostWin32::onViewChangeFrameSize(int index) { int w, h; switch (index) { case ID_VIEW_640_960: w = 640; h = 960; break; case ID_VIEW_640_1136: w = 640; h = 1136; break; case ID_VIEW_768_1024: w = 768; h = 1024; break; case ID_VIEW_1536_2048: w = 1536; h = 2048; break; case ID_VIEW_480_800: w = 480; h = 800; break; case ID_VIEW_480_854: w = 480; h = 854; break; case ID_VIEW_600_1024: w = 600; h = 1024; break; case ID_VIEW_720_1280: w = 720; h = 1280; break; case ID_VIEW_800_1280: w = 800; h = 1280; break; case ID_VIEW_1080_1920: w = 1080; h = 1920; break; case ID_VIEW_320_480: default: w = 320; h = 480; } if (m_project.isLandscapeFrame()) { int w2 = w; w = h; h = w2; } m_project.setFrameSize(CCSize(w, h)); m_project.setFrameScale(1.0f); relaunch(); }
void UiPlayer::onFileProjectConfig(void) { if (ProjectConfigDialog::showModal(m_hwnd, &m_project, "Change Project Config", "Relaunch")) { relaunch(); } }
void LuaHostWin32::onFileProjectConfig(void) { if (ProjectConfigDialog::showModal(m_hwnd, &m_project, "Change Project Config", "Relaunch")) { relaunch(); } }
void LuaHostWin32::onFileOpenProject(void) { if (ProjectConfigDialog::showModal(m_hwnd, &m_project)) { relaunch(); } }
void LuaHostWin32::onViewChangeDirection(int directionMode) { BOOL isLandscape = m_project.isLandscapeFrame(); if ((directionMode == ID_VIEW_PORTRAIT && isLandscape) || (directionMode == ID_VIEW_LANDSCAPE && !isLandscape)) { CCSize frameSize = m_project.getFrameSize(); frameSize.setSize(frameSize.height, frameSize.width); relaunch(); } }
// menu callback void UiPlayer::onFileOpenProject(void) { ProjectConfig project; if (!m_project.isWelcome()) { project = m_project; } if (ProjectConfigDialog::showModal(m_hwnd, &project)) { m_project = project; relaunch(); } }
void UiPlayer::onViewChangeOrientation(int viewMenuID) { bool isLandscape = m_project.isLandscapeFrame(); bool isNeedRelaunch = false; if (viewMenuID == ID_VIEW_PORTRAIT && isLandscape) { m_project.changeFrameOrientationToPortait(); isNeedRelaunch = true; } else if (viewMenuID == ID_VIEW_LANDSCAPE && !isLandscape) { m_project.changeFrameOrientationToLandscape(); isNeedRelaunch = true; } if (isNeedRelaunch) relaunch(); }
void UiPlayer::onViewChangeFrameSize(int viewMenuID) { int index = viewMenuID - ID_VIEW_SIZE; if (index >= 0 && index < SimulatorConfig::sharedDefaults()->getScreenSizeCount()) { SimulatorScreenSize size = SimulatorConfig::sharedDefaults()->getScreenSize(index); bool isLandscape = m_project.isLandscapeFrame(); m_project.setFrameSize(CCSize(size.width, size.height)); if (isLandscape) { m_project.changeFrameOrientationToLandscape(); } else { m_project.changeFrameOrientationToPortait(); } m_project.setFrameScale(1.0f); relaunch(); } }
void UiPlayer::onFileRelaunch(void) { relaunch(); }
void SimulatorWin::setupUI() { auto menuBar = player::PlayerProtocol::getInstance()->getMenuService(); // FILE menuBar->addItem("FILE_MENU", tr("File")); menuBar->addItem("EXIT_MENU", tr("Exit"), "FILE_MENU"); // VIEW menuBar->addItem("VIEW_MENU", tr("View")); SimulatorConfig *config = SimulatorConfig::getInstance(); int current = config->checkScreenSize(_project.getFrameSize()); for (int i = 0; i < config->getScreenSizeCount(); i++) { SimulatorScreenSize size = config->getScreenSize(i); std::stringstream menuId; menuId << "VIEWSIZE_ITEM_MENU_" << i; auto menuItem = menuBar->addItem(menuId.str(), size.title.c_str(), "VIEW_MENU"); if (i == current) { menuItem->setChecked(true); } } menuBar->addItem("DIRECTION_MENU_SEP", "-", "VIEW_MENU"); menuBar->addItem("DIRECTION_PORTRAIT_MENU", tr("Portrait"), "VIEW_MENU") ->setChecked(_project.isPortraitFrame()); menuBar->addItem("DIRECTION_LANDSCAPE_MENU", tr("Landscape"), "VIEW_MENU") ->setChecked(_project.isLandscapeFrame()); menuBar->addItem("VIEW_SCALE_MENU_SEP", "-", "VIEW_MENU"); std::vector<player::PlayerMenuItem*> scaleMenuVector; auto scale100Menu = menuBar->addItem("VIEW_SCALE_MENU_100", tr("Zoom Out").append(" (100%)"), "VIEW_MENU"); auto scale75Menu = menuBar->addItem("VIEW_SCALE_MENU_75", tr("Zoom Out").append(" (75%)"), "VIEW_MENU"); auto scale50Menu = menuBar->addItem("VIEW_SCALE_MENU_50", tr("Zoom Out").append(" (50%)"), "VIEW_MENU"); auto scale25Menu = menuBar->addItem("VIEW_SCALE_MENU_25", tr("Zoom Out").append(" (25%)"), "VIEW_MENU"); int frameScale = int(_project.getFrameScale() * 100); if (frameScale == 100) { scale100Menu->setChecked(true); } else if (frameScale == 75) { scale75Menu->setChecked(true); } else if (frameScale == 50) { scale50Menu->setChecked(true); } else if (frameScale == 25) { scale25Menu->setChecked(true); } else { scale100Menu->setChecked(true); } scaleMenuVector.push_back(scale100Menu); scaleMenuVector.push_back(scale75Menu); scaleMenuVector.push_back(scale50Menu); scaleMenuVector.push_back(scale25Menu); menuBar->addItem("REFRESH_MENU_SEP", "-", "VIEW_MENU"); menuBar->addItem("REFRESH_MENU", tr("Refresh"), "VIEW_MENU"); HWND &hwnd = _hwnd; ProjectConfig &project = _project; auto dispatcher = Director::getInstance()->getEventDispatcher(); dispatcher->addEventListenerWithFixedPriority(EventListenerCustom::create("APP.EVENT", [&project, &hwnd, scaleMenuVector](EventCustom* event){ auto menuEvent = dynamic_cast<AppEvent*>(event); if (menuEvent) { rapidjson::Document dArgParse; dArgParse.Parse<0>(menuEvent->getDataString().c_str()); if (dArgParse.HasMember("name")) { string strcmd = dArgParse["name"].GetString(); if (strcmd == "menuClicked") { player::PlayerMenuItem *menuItem = static_cast<player::PlayerMenuItem*>(menuEvent->getUserData()); if (menuItem) { if (menuItem->isChecked()) { return; } string data = dArgParse["data"].GetString(); auto player = player::PlayerProtocol::getInstance(); if ((data == "CLOSE_MENU") || (data == "EXIT_MENU")) { player->quit(); } else if (data == "REFRESH_MENU") { player->relaunch(); } else if (data.find("VIEW_SCALE_MENU_") == 0) // begin with VIEW_SCALE_MENU_ { string tmp = data.erase(0, strlen("VIEW_SCALE_MENU_")); float scale = atof(tmp.c_str()) / 100.0f; project.setFrameScale(scale); auto glview = static_cast<GLViewImpl*>(Director::getInstance()->getOpenGLView()); glview->setFrameZoomFactor(scale); // update scale menu state for (auto &it : scaleMenuVector) { it->setChecked(false); } menuItem->setChecked(true); // update window size RECT rect; GetWindowRect(hwnd, &rect); MoveWindow(hwnd, rect.left, rect.top, rect.right - rect.left, rect.bottom - rect.top + GetSystemMetrics(SM_CYMENU), FALSE); // fix: can not update window on some windows system ::SendMessage(hwnd, WM_MOVE, NULL, NULL); } else if (data.find("VIEWSIZE_ITEM_MENU_") == 0) // begin with VIEWSIZE_ITEM_MENU_ { string tmp = data.erase(0, strlen("VIEWSIZE_ITEM_MENU_")); int index = atoi(tmp.c_str()); SimulatorScreenSize size = SimulatorConfig::getInstance()->getScreenSize(index); if (project.isLandscapeFrame()) { std::swap(size.width, size.height); } project.setFrameSize(cocos2d::Size(size.width, size.height)); project.setWindowOffset(cocos2d::Vec2(player->getPositionX(), player->getPositionY())); player->openProjectWithProjectConfig(project); } else if (data == "DIRECTION_PORTRAIT_MENU") { project.changeFrameOrientationToPortait(); player->openProjectWithProjectConfig(project); } else if (data == "DIRECTION_LANDSCAPE_MENU") { project.changeFrameOrientationToLandscape(); player->openProjectWithProjectConfig(project); } } } } } }), 1); AppDelegate *app = _app; auto listener = EventListenerCustom::create(kAppEventDropName, [&project, app](EventCustom* event) { AppEvent *dropEvent = dynamic_cast<AppEvent*>(event); if (dropEvent) { string dirPath = dropEvent->getDataString() + "/"; string configFilePath = dirPath + CONFIG_FILE; if (FileUtils::getInstance()->isDirectoryExist(dirPath) && FileUtils::getInstance()->isFileExist(configFilePath)) { // parse config.json ConfigParser::getInstance()->readConfig(configFilePath); project.setProjectDir(dirPath); project.setScriptFile(ConfigParser::getInstance()->getEntryFile()); project.setWritablePath(dirPath); app->setProjectConfig(project); app->reopenProject(); } } }); dispatcher->addEventListenerWithFixedPriority(listener, 1); }
void AnglePlayer::onFileRelaunch(void) { relaunch(); }
void App::onFileRelaunch(void) { relaunch(); }
void BoyrunPlayer::onFileRelaunch(void) { relaunch(); }
void Quick_x_cclabelchangePlayer::onFileRelaunch(void) { relaunch(); }
void Game01Player::onFileRelaunch(void) { relaunch(); }
void LuaHostWin32::onFileRelaunch(void) { relaunch(); }