QVector2D QcMapItem::from_coordinate_qt(const QGeoCoordinate & coordinate, bool clip_to_viewport) const { QcWgsCoordinate _coordinate(coordinate); QcVectorDouble position_px = from_coordinate(_coordinate, clip_to_viewport); return QVector2D(position_px.x(), position_px.y()); }
void GameController::CoordinateReleased() { for(int i=0;i<getLevel();++i) for(int j=0;j<getLevel();++j) setBlockColor(QPoint(i,j),GameData::BgColor); for(int i=0;i<getColorNumber()*2;++i) setBlockColor(gameSetting->Points[i],GameData::ColorSet[i/2]); for(int i=0;i<pipeManager->size();++i) { Pipe* pipe = pipeManager->at(i); if(pipeManager->currentPipe!=pipe) { while(!pipe->empty()) { QPoint _coordinate(pipe->back()); STATE _state = getBlockState(_coordinate); if((_state&WAY)==0||(_state&BREAK)!=0||(_state&CURRENT)!=0) pipe->pop_back(); else break; } } for(int j=0;j<pipe->size();++j) setBlockColor(pipe->at(j),pipe->Color); } for(int i=0;i<this->getLevel();++i) for(int j=0;j<this->getLevel();++j) setBlockState(QPoint(i,j),~(CURRENT|BREAK)); ++gameSetting->moves; emit UpdatePipeDisplay(); emit UpdateBlockDisplay(); if(CheckWin()) emit CompleteGame(); }