• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++ composition函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C++中composition函数的典型用法代码示例。如果您正苦于以下问题:C++ composition函数的具体用法?C++ composition怎么用?C++ composition使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了composition函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: composition

void QgsComposerView::selectInvert()
{
  if ( !composition() )
  {
    return;
  }

  //check all items in composer
  QList<QGraphicsItem *> itemList = composition()->items();
  QList<QGraphicsItem *>::iterator itemIt = itemList.begin();
  for ( ; itemIt != itemList.end(); ++itemIt )
  {
    QgsComposerItem* mypItem = dynamic_cast<QgsComposerItem *>( *itemIt );
    QgsPaperItem* paperItem = dynamic_cast<QgsPaperItem*>( *itemIt );
    if ( mypItem && !paperItem )
    {
      //flip selected state for items (and deselect any locked items)
      if ( mypItem->selected() || mypItem->positionLock() )
      {

        mypItem->setSelected( false );
      }
      else
      {
        mypItem->setSelected( true );
        emit selectedItemChanged( mypItem );
      }
    }
  }
}
开发者ID:kiith-sa,项目名称:QGIS,代码行数:30,代码来源:qgscomposerview.cpp


示例2: mapToScene

void QgsComposerView::pasteItems( PasteMode mode )
{
  if ( !composition() )
  {
    return;
  }

  QDomDocument doc;
  QClipboard *clipboard = QApplication::clipboard();
  if ( doc.setContent( clipboard->mimeData()->data( "text/xml" ) ) )
  {
    QDomElement docElem = doc.documentElement();
    if ( docElem.tagName() == "ComposerItemClipboard" )
    {
      if ( composition() )
      {
        QPointF pt;
        if ( mode == PasteModeCursor )
        {
          // place items at cursor position
          pt = mapToScene( mapFromGlobal( QCursor::pos() ) );
        }
        else
        {
          // place items in center of viewport
          pt = mapToScene( viewport()->rect().center() );
        }
        bool pasteInPlace = ( mode == PasteModeInPlace );
        composition()->addItemsFromXML( docElem, doc, 0, true, &pt, pasteInPlace );
      }
    }
  }
}
开发者ID:snorfalorpagus,项目名称:QGIS,代码行数:33,代码来源:qgscomposerview.cpp


示例3: theSize

void QgsComposerLegend::doUpdateFilterByMap()
{
  if ( mComposerMap )
    mLegendModel2->setLayerStyleOverrides( mComposerMap->layerStyleOverrides() );
  else
    mLegendModel2->setLayerStyleOverrides( QMap<QString, QString>() );


  bool filterByExpression = QgsLayerTreeUtils::hasLegendFilterExpression( *( mCustomLayerTree ? mCustomLayerTree : QgsProject::instance()->layerTreeRoot() ) );

  if ( mComposerMap && ( mLegendFilterByMap || filterByExpression || mInAtlas ) )
  {
    int dpi = mComposition->printResolution();

    QgsRectangle requestRectangle;
    mComposerMap->requestedExtent( requestRectangle );

    QSizeF theSize( requestRectangle.width(), requestRectangle.height() );
    theSize *= mComposerMap->mapUnitsToMM() * dpi / 25.4;

    QgsMapSettings ms = mComposerMap->mapSettings( requestRectangle, theSize, dpi );

    QgsGeometry filterPolygon;
    if ( mInAtlas )
    {
      filterPolygon = composition()->atlasComposition().currentGeometry( composition()->mapSettings().destinationCrs() );
    }
    mLegendModel2->setLegendFilter( &ms, /* useExtent */ mInAtlas || mLegendFilterByMap, filterPolygon, /* useExpressions */ true );
  }
  else
    mLegendModel2->setLegendFilterByMap( 0 );
}
开发者ID:freightTrein,项目名称:QGIS,代码行数:32,代码来源:qgscomposerlegend.cpp


示例4: if

void QgsComposerView::addShape( Tool currentTool )
{
  QgsComposerShape::Shape shape = QgsComposerShape::Ellipse;

  if ( currentTool == AddRectangle )
    shape = QgsComposerShape::Rectangle;
  else if ( currentTool == AddTriangle )
    shape = QgsComposerShape::Triangle;

  if ( !mRubberBandItem || mRubberBandItem->rect().width() < 0.1 || mRubberBandItem->rect().width() < 0.1 )
  {
    scene()->removeItem( mRubberBandItem );
    delete mRubberBandItem;
    mRubberBandItem = 0;
    return;
  }
  if ( composition() )
  {
    QgsComposerShape* composerShape = new QgsComposerShape( mRubberBandItem->transform().dx(), mRubberBandItem->transform().dy(), mRubberBandItem->rect().width(), mRubberBandItem->rect().height(), composition() );
    composerShape->setShapeType( shape );
    composition()->addComposerShape( composerShape );
    scene()->removeItem( mRubberBandItem );
    delete mRubberBandItem;
    mRubberBandItem = 0;
    emit actionFinished();
    composition()->pushAddRemoveCommand( composerShape, tr( "Shape added" ) );
  }
}
开发者ID:andreasmitrou,项目名称:QGIS,代码行数:28,代码来源:qgscomposerview.cpp


示例5: pos

QPointF QgsComposerItem::pagePos() const
{
  QPointF p = pos();
  double h = composition()->paperHeight() + composition()->spaceBetweenPages();
  p.ry() -= ( page() - 1 ) * h;
  return p;
}
开发者ID:exlimit,项目名称:QGIS,代码行数:7,代码来源:qgscomposeritem.cpp


示例6: if

void QgsComposerView::addShape( Tool currentTool )
{
  QgsComposerShape::Shape shape = QgsComposerShape::Ellipse;

  if ( currentTool == AddRectangle )
    shape = QgsComposerShape::Rectangle;
  else if ( currentTool == AddTriangle )
    shape = QgsComposerShape::Triangle;

  if ( !mRubberBandItem || ( mRubberBandItem->rect().width() < 0.1 && mRubberBandItem->rect().height() < 0.1 ) )
  {
    removeRubberBand();
    return;
  }
  if ( composition() )
  {
    QgsComposerShape* composerShape = new QgsComposerShape( mRubberBandItem->transform().dx(), mRubberBandItem->transform().dy(), mRubberBandItem->rect().width(), mRubberBandItem->rect().height(), composition() );
    composerShape->setShapeType( shape );
    //new shapes use symbol v2 by default
    composerShape->setUseSymbolV2( true );
    composition()->addComposerShape( composerShape );
    removeRubberBand();

    composition()->clearSelection();
    composerShape->setSelected( true );
    emit selectedItemChanged( composerShape );

    emit actionFinished();
    composition()->pushAddRemoveCommand( composerShape, tr( "Shape added" ) );
  }
}
开发者ID:kiith-sa,项目名称:QGIS,代码行数:31,代码来源:qgscomposerview.cpp


示例7: composition

void QgsComposerItem::setItemPosition( double x, double y, double width, double height, ItemPositionMode itemPoint, bool posIncludesFrame, int page )
{
  double upperLeftX = x;
  double upperLeftY = y;

  if ( page > 0 )
  {
    double h = composition()->paperHeight() + composition()->spaceBetweenPages();
    upperLeftY += ( page - 1 ) * h;
  }

  //store the item position mode
  mLastUsedPositionMode = itemPoint;

  //adjust x-coordinate if placement is not done to a left point
  if ( itemPoint == UpperMiddle || itemPoint == Middle || itemPoint == LowerMiddle )
  {
    upperLeftX -= width / 2.0;
  }
  else if ( itemPoint == UpperRight || itemPoint == MiddleRight || itemPoint == LowerRight )
  {
    upperLeftX -= width;
  }

  //adjust y-coordinate if placement is not done to an upper point
  if ( itemPoint == MiddleLeft || itemPoint == Middle || itemPoint == MiddleRight )
  {
    upperLeftY -= height / 2.0;
  }
  else if ( itemPoint == LowerLeft || itemPoint == LowerMiddle || itemPoint == LowerRight )
  {
    upperLeftY -= height;
  }

  if ( posIncludesFrame )
  {
    //adjust position to account for frame size

    if ( mItemRotation == 0 )
    {
      upperLeftX += estimatedFrameBleed();
      upperLeftY += estimatedFrameBleed();
    }
    else
    {
      //adjust position for item rotation
      QLineF lineToItemOrigin = QLineF( 0, 0, estimatedFrameBleed(), estimatedFrameBleed() );
      lineToItemOrigin.setAngle( -45 - mItemRotation );
      upperLeftX += lineToItemOrigin.x2();
      upperLeftY += lineToItemOrigin.y2();
    }

    width -= 2 * estimatedFrameBleed();
    height -= 2 * estimatedFrameBleed();
  }

  setSceneRect( QRectF( upperLeftX, upperLeftY, width, height ) );
}
开发者ID:VladimirZhandarov,项目名称:QGIS,代码行数:58,代码来源:qgscomposeritem.cpp


示例8: composition

void float2_param_t::set_value( const Imath::V2f& x)
{
    float time = 1.0f;

    if( composition())
	time = composition()->frame();

    set_value_at_time( x, time);
}
开发者ID:apextw,项目名称:Ramen,代码行数:9,代码来源:float2_param.cpp


示例9: switch

void QgsComposerView::setCurrentTool( QgsComposerView::Tool t )
{
  mCurrentTool = t;

  //update mouse cursor for current tool
  if ( !composition() )
  {
    return;
  }
  switch ( t )
  {
    case QgsComposerView::Pan:
    {
      //lock cursor to prevent composer items changing it
      composition()->setPreventCursorChange( true );
      viewport()->setCursor( Qt::OpenHandCursor );
      break;
    }
    case QgsComposerView::Zoom:
    {
      //lock cursor to prevent composer items changing it
      composition()->setPreventCursorChange( true );
      //set the cursor to zoom in
      QPixmap myZoomQPixmap = QPixmap(( const char ** )( zoom_in ) );
      QCursor zoomCursor = QCursor( myZoomQPixmap, 7, 7 );
      viewport()->setCursor( zoomCursor );
      break;
    }
    case QgsComposerView::AddArrow:
    case QgsComposerView::AddHtml:
    case QgsComposerView::AddMap:
    case QgsComposerView::AddLegend:
    case QgsComposerView::AddLabel:
    case QgsComposerView::AddScalebar:
    case QgsComposerView::AddPicture:
    case QgsComposerView::AddRectangle:
    case QgsComposerView::AddEllipse:
    case QgsComposerView::AddTriangle:
    case QgsComposerView::AddTable:
    {
      //using a drawing tool
      //lock cursor to prevent composer items changing it
      composition()->setPreventCursorChange( true );
      QPixmap myCrosshairQPixmap = QPixmap(( const char ** )( cross_hair_cursor ) );
      QCursor crosshairCursor = QCursor( myCrosshairQPixmap, 8, 8 );
      viewport()->setCursor( crosshairCursor );
      break;
    }
    default:
    {
      //not using pan tool, composer items can change cursor
      composition()->setPreventCursorChange( false );
      viewport()->setCursor( Qt::ArrowCursor );
    }
  }
}
开发者ID:kiith-sa,项目名称:QGIS,代码行数:56,代码来源:qgscomposerview.cpp


示例10: composition

void QgsComposerView::keyPressEvent( QKeyEvent * e )
{
  if ( !composition() )
  {
    return;
  }

  QList<QgsComposerItem*> composerItemList = composition()->selectedComposerItems();
  QList<QgsComposerItem*>::iterator itemIt = composerItemList.begin();

  // increment used for cursor key item movement
  double increment = 1.0;
  if ( e->modifiers() & Qt::ShiftModifier )
  {
    //holding shift while pressing cursor keys results in a big step
    increment = 10.0;
  }

  if ( e->key() == Qt::Key_Left )
  {
    for ( ; itemIt != composerItemList.end(); ++itemIt )
    {
      ( *itemIt )->beginCommand( tr( "Item moved" ), QgsComposerMergeCommand::ItemMove );
      ( *itemIt )->move( -1 * increment, 0.0 );
      ( *itemIt )->endCommand();
    }
  }
  else if ( e->key() == Qt::Key_Right )
  {
    for ( ; itemIt != composerItemList.end(); ++itemIt )
    {
      ( *itemIt )->beginCommand( tr( "Item moved" ), QgsComposerMergeCommand::ItemMove );
      ( *itemIt )->move( increment, 0.0 );
      ( *itemIt )->endCommand();
    }
  }
  else if ( e->key() == Qt::Key_Down )
  {
    for ( ; itemIt != composerItemList.end(); ++itemIt )
    {
      ( *itemIt )->beginCommand( tr( "Item moved" ), QgsComposerMergeCommand::ItemMove );
      ( *itemIt )->move( 0.0, increment );
      ( *itemIt )->endCommand();
    }
  }
  else if ( e->key() == Qt::Key_Up )
  {
    for ( ; itemIt != composerItemList.end(); ++itemIt )
    {
      ( *itemIt )->beginCommand( tr( "Item moved" ), QgsComposerMergeCommand::ItemMove );
      ( *itemIt )->move( 0.0, -1 * increment );
      ( *itemIt )->endCommand();
    }
  }
}
开发者ID:andreasmitrou,项目名称:QGIS,代码行数:55,代码来源:qgscomposerview.cpp


示例11: QgsAddRemoveItemCommand

void QgsComposerView::pushAddRemoveCommand( QgsComposerItem* item, const QString& text, QgsAddRemoveItemCommand::State state )
{
  if ( !composition() )
  {
    return;
  }

  QgsAddRemoveItemCommand* c = new QgsAddRemoveItemCommand( state, item, composition(), text );
  connectAddRemoveCommandSignals( c );
  composition()->undoStack()->push( c );
}
开发者ID:CzendaZdenda,项目名称:qgis,代码行数:11,代码来源:qgscomposerview.cpp


示例12: switch

void QgsComposerView::setCurrentTool( QgsComposerView::Tool t )
{
  mCurrentTool = t;

  //update mouse cursor for current tool
  if ( !composition() )
  {
    return;
  }
  switch ( t )
  {
    case QgsComposerView::Pan:
    {
      //lock cursor to prevent composer items changing it
      composition()->setPreventCursorChange( true );
      viewport()->setCursor( defaultCursorForTool( Pan ) );
      break;
    }
    case QgsComposerView::Zoom:
    {
      //lock cursor to prevent composer items changing it
      composition()->setPreventCursorChange( true );
      //set the cursor to zoom in
      viewport()->setCursor( defaultCursorForTool( Zoom ) );
      break;
    }
    case QgsComposerView::AddArrow:
    case QgsComposerView::AddHtml:
    case QgsComposerView::AddMap:
    case QgsComposerView::AddLegend:
    case QgsComposerView::AddLabel:
    case QgsComposerView::AddScalebar:
    case QgsComposerView::AddPicture:
    case QgsComposerView::AddRectangle:
    case QgsComposerView::AddEllipse:
    case QgsComposerView::AddTriangle:
    case QgsComposerView::AddTable:
    {
      //using a drawing tool
      //lock cursor to prevent composer items changing it
      composition()->setPreventCursorChange( true );
      viewport()->setCursor( defaultCursorForTool( mCurrentTool ) );
      break;
    }
    default:
    {
      //not using pan tool, composer items can change cursor
      composition()->setPreventCursorChange( false );
      viewport()->setCursor( Qt::ArrowCursor );
    }
  }
}
开发者ID:dgstl,项目名称:QGIS,代码行数:52,代码来源:qgscomposerview.cpp


示例13: composition

void QgsLayoutView::deleteSelectedItems()
{
  if ( !currentLayout() )
  {
    return;
  }

#if 0 //TODO
  if ( mCurrentTool == QgsComposerView::EditNodesItem )
  {
    if ( mNodesItemIndex != -1 )
    {
      composition()->beginCommand( mNodesItem, tr( "Remove item node" ) );
      if ( mNodesItem->removeNode( mNodesItemIndex ) )
      {
        composition()->endCommand();
        if ( mNodesItem->nodesSize() > 0 )
        {
          mNodesItemIndex = mNodesItem->selectedNode();
          // setSelectedNode( mNodesItem, mNodesItemIndex );
        }
        else
        {
          mNodesItemIndex = -1;
          mNodesItem = nullptr;
        }
        scene()->update();
      }
      else
      {
        composition()->cancelCommand();
      }
    }
  }
  else
  {
#endif
    const QList<QgsLayoutItem *> selectedItems = currentLayout()->selectedLayoutItems();

    currentLayout()->undoStack()->beginMacro( tr( "Delete Items" ) );
    //delete selected items
    for ( QgsLayoutItem *item : selectedItems )
    {
      currentLayout()->removeLayoutItem( item );
    }
    currentLayout()->undoStack()->endMacro();
    currentLayout()->project()->setDirty( true );

#if 0
  }
#endif
}
开发者ID:giohappy,项目名称:QGIS,代码行数:52,代码来源:qgslayoutview.cpp


示例14: viewport

void QgsComposerView::keyReleaseEvent( QKeyEvent * e )
{
  if ( e->key() == Qt::Key_Space && !e->isAutoRepeat() && mPanning )
  {
    //end of panning with space key
    mPanning = false;

    //reset cursor
    if ( mCurrentTool == Pan )
    {
      viewport()->setCursor( Qt::OpenHandCursor );
    }
    else
    {
      if ( composition() )
      {
        //allow cursor changes again
        composition()->setPreventCursorChange( false );
      }
      viewport()->setCursor( Qt::ArrowCursor );
    }
    return;
  }
  else if ( e->key() == Qt::Key_Space && !e->isAutoRepeat() && mTemporaryZoomStatus != QgsComposerView::Inactive )
  {
    //temporary keyboard-based zoom tool is active and space key has been released
    if ( mMarqueeZoom )
    {
      //currently in the middle of a marquee operation, so don't switch tool back immediately
      //instead, wait until mouse button has been released before switching tool back
      mTemporaryZoomStatus = QgsComposerView::ActiveUntilMouseRelease;
    }
    else
    {
      //switch tool back
      mTemporaryZoomStatus = QgsComposerView::Inactive;
      setCurrentTool( mPreviousTool );
    }
  }
  else if ( mCurrentTool == QgsComposerView::Zoom )
  {
    //if zoom tool is active, respond to changes in the shift key status and update cursor accordingly
    if ( ! e->isAutoRepeat() )
    {
      QPixmap myZoomQPixmap = QPixmap(( const char ** )( e->modifiers() & Qt::ShiftModifier ? zoom_out : zoom_in ) );
      QCursor zoomCursor = QCursor( myZoomQPixmap, 7, 7 );
      viewport()->setCursor( zoomCursor );
    }
    return;
  }
}
开发者ID:kiith-sa,项目名称:QGIS,代码行数:51,代码来源:qgscomposerview.cpp


示例15: RAMEN_ASSERT

void corner_pin_node_t::param_changed( param_t *p, param_t::change_reason reason)
{
	RAMEN_ASSERT( composition());
	
	if( reason == param_t::user_edited && p == &param( "apply_track"))
	{		
		const tracker_node_t *tracker = ui::apply_corner_track_dialog_t::instance().exec();
		
		if( tracker)
		{
			float2_param_t *topleft		= dynamic_cast<float2_param_t*>( &param( "topleft"));
			float2_param_t *topright	= dynamic_cast<float2_param_t*>( &param( "topright"));
			float2_param_t *botleft		= dynamic_cast<float2_param_t*>( &param( "botleft"));
			float2_param_t *botright	= dynamic_cast<float2_param_t*>( &param( "botright"));
			
			float start_frame = composition()->start_frame();
			float end_frame = composition()->end_frame();
			
			param_set().begin_edit();
			
			for( float frame = start_frame; frame <= end_frame; frame += 1.0f)
			{
				boost::optional<Imath::V2f> p = tracker->tracker_pos( 0, frame);
				
				if( p)
					topleft->set_absolute_value_at_frame( p.get(), frame);

				p = tracker->tracker_pos( 1, frame);
				
				if( p)
					topright->set_absolute_value_at_frame( p.get(), frame);
				
				p = tracker->tracker_pos( 2, frame);

				if( p)
					botright->set_absolute_value_at_frame( p.get(), frame);
				
				p = tracker->tracker_pos( 3, frame);
				
				if( p)
					botleft->set_absolute_value_at_frame( p.get(), frame);
			}
			
			param_set().end_edit();
			update_widgets();
		}
	}
}
开发者ID:JohanAberg,项目名称:Ramen,代码行数:48,代码来源:corner_pin_node.cpp


示例16: composition

void VirtualCompositorWorker::QueueComposite(hwc_display_contents_1_t *dc) {
  std::unique_ptr<VirtualComposition> composition(new VirtualComposition);

  composition->outbuf_acquire_fence.Set(dc->outbufAcquireFenceFd);
  dc->outbufAcquireFenceFd = -1;
  if (dc->retireFenceFd >= 0)
    close(dc->retireFenceFd);
  dc->retireFenceFd = CreateNextTimelineFence();

  for (size_t i = 0; i < dc->numHwLayers; ++i) {
    hwc_layer_1_t *layer = &dc->hwLayers[i];
    if (layer->flags & HWC_SKIP_LAYER)
      continue;
    composition->layer_acquire_fences.emplace_back(layer->acquireFenceFd);
    layer->acquireFenceFd = -1;
    if (layer->releaseFenceFd >= 0)
      close(layer->releaseFenceFd);
    layer->releaseFenceFd = CreateNextTimelineFence();
  }

  composition->release_timeline = timeline_;

  Lock();
  while (composite_queue_.size() >= kMaxQueueDepth) {
    Unlock();
    sched_yield();
    Lock();
  }

  composite_queue_.push(std::move(composition));
  SignalLocked();
  Unlock();
}
开发者ID:vlinhd11,项目名称:external_drm_hwcomposer,代码行数:33,代码来源:virtualcompositorworker.cpp


示例17: composition

// composition, combine two substitutions
Substitution
Substitution::operator*(const Substitution &s) const
{
    Substitution composition(*this);
    MustBeTrue(s.applyTo(composition.term) == OK);
    return(composition);
}
开发者ID:ombt,项目名称:ombt,代码行数:8,代码来源:substitution.c


示例18: mapToScene

void QgsComposerView::wheelEvent( QWheelEvent* event )
{
  if ( currentTool() == MoveItemContent )
  {
    //move item content tool, so scroll events get handled by the selected composer item

    QPointF scenePoint = mapToScene( event->pos() );
    //select topmost item at position of event
    QgsComposerItem* theItem = composition()->composerItemAt( scenePoint );
    if ( theItem )
    {
      if ( theItem->isSelected() )
      {
        QPointF itemPoint = theItem->mapFromScene( scenePoint );
        theItem->beginCommand( tr( "Zoom item content" ) );
        theItem->zoomContent( event->delta(), itemPoint.x(), itemPoint.y() );
        theItem->endCommand();
      }
    }
  }
  else
  {
    //not using move item content tool, so zoom whole composition
    wheelZoom( event );
  }
}
开发者ID:kiith-sa,项目名称:QGIS,代码行数:26,代码来源:qgscomposerview.cpp


示例19: Q_UNUSED

void QgsComposerItem::updatePagePos( double newPageWidth, double newPageHeight )
{
  Q_UNUSED( newPageWidth )
  QPointF curPagePos = pagePos();
  int curPage = page() - 1;
  setY( curPage * ( newPageHeight + composition()->spaceBetweenPages() ) + curPagePos.y() );
  emit sizeChanged();
}
开发者ID:VladimirZhandarov,项目名称:QGIS,代码行数:8,代码来源:qgscomposeritem.cpp


示例20: getRandomWhiteheadAuto

Map RMap::getRandomAuto( int nOfGens, int len )
{
  Map m = getRandomWhiteheadAuto(nOfGens);
  for (int i=1;i<len;i++)
    m = composition( m, getRandomWhiteheadAuto( nOfGens ));

  return m;
}
开发者ID:stevens-crag,项目名称:crag,代码行数:8,代码来源:Map.cpp



注:本文中的composition函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ compower_accumulate函数代码示例发布时间:2022-05-30
下一篇:
C++ compose函数代码示例发布时间:2022-05-30
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap