void SoccerView::LoadFieldGeometry (SSL_GeometryFieldSize &fieldSize )
{
    printf("TODO(%s:%d) : Load dynamic list of field markings\n",
           __FILE__, __LINE__);

    scene->removeItem ( fieldItem );
    ConstructField();
    fieldItem = scene->addPath ( *field,*fieldLinePen,*fieldBrush );
}
Пример #2
0
void SoccerView::LoadFieldGeometry ( SSL_GeometryFieldSize &fieldSize )
{
  this->line_width = fieldSize.line_width();
  this->field_length = fieldSize.field_length();
  this->field_width = fieldSize.field_width();
  this->boundary_width = fieldSize.boundary_width();
  this->referee_width = fieldSize.referee_width();
  this->goal_width = fieldSize.goal_width();
  this->goal_depth = fieldSize.goal_depth();
  this->goal_wall_width = fieldSize.goal_wall_width();
  this->center_circle_radius = fieldSize.center_circle_radius();
  this->defense_radius = fieldSize.defense_radius();
  this->defense_stretch = fieldSize.defense_stretch();
  this->free_kick_from_defense_dist = fieldSize.free_kick_from_defense_dist();
  this->penalty_spot_from_field_line_dist = fieldSize.penalty_spot_from_field_line_dist();
  this->penalty_line_from_spot_dist = fieldSize.penalty_line_from_spot_dist();

  scene->removeItem ( fieldItem );
  ConstructField();
  fieldItem = scene->addPath ( *field,*fieldLinePen,*fieldBrush );
}
Пример #3
0
SoccerView::SoccerView(QMutex* _drawMutex)
{
  drawMutex = _drawMutex;
  shutdownSoccerView = false;
  glWidget = new QGLWidget ( QGLFormat ( QGL::DoubleBuffer ) );
  setViewport ( glWidget );
  LoadFieldGeometry();
  scene = new QGraphicsScene ( this );
  setScene ( scene );
  this->setViewportUpdateMode ( QGraphicsView::NoViewportUpdate );
  scene->setBackgroundBrush ( QBrush ( QColor ( 0,0x91,0x19,255 ),Qt::SolidPattern ) );
  scene->setSceneRect ( -3700,-2700,7400,5400 );
  ConstructField();
  fieldBrush = new QBrush ( Qt::NoBrush );
  fieldLinePen = new QPen();
  fieldLinePen->setColor ( Qt::white );
  fieldLinePen->setWidth ( 10 );
  fieldLinePen->setJoinStyle ( Qt::MiterJoin );
  fieldItem = scene->addPath ( *field,*fieldLinePen,*fieldBrush );
  fieldItem->setZValue(0);
  drawScale = 0.15;
  //this->setRenderHint ( QPainter::Antialiasing, true );
  this->setRenderHint ( QPainter::HighQualityAntialiasing, true );
  this->setDragMode ( QGraphicsView::ScrollHandDrag );
  this->setGeometry ( 400,100,1336,756 );
  scalingRequested = true;

  //LogPlayer data
//  playLogfile = new QPushButton(this);
//  playLogfile->setObjectName(QString::fromUtf8("play_logfile_button"));
//  playLogfile->setCheckable(false);
//  playLogfile->setText("Play Logfile");
//  playLogfile->setGeometry(10, 10, 150, 30);

  //Timer for casual redraw
  startTimer ( 1000 );
}
Пример #4
0
Field::Field(const String& name, ByteArray value, Store store) {
    ConstructField(name, value, 0, value.size(), store);
}
Пример #5
0
Field::Field(const String& name, ByteArray value, int32_t offset, int32_t length, Store store) {
    ConstructField(name, value, offset, length, store);
}
Пример #6
0
Field::Field(const String& name, const TokenStreamPtr& tokenStream) {
    ConstructField(name, tokenStream, TERM_VECTOR_NO);
}
Пример #7
0
Field::Field(const String& name, const TokenStreamPtr& tokenStream, TermVector termVector) {
    ConstructField(name, tokenStream, termVector);
}
Пример #8
0
Field::Field(const String& name, const ReaderPtr& reader, TermVector termVector) {
    ConstructField(name, reader, termVector);
}
Пример #9
0
Field::Field(const String& name, const ReaderPtr& reader) {
    ConstructField(name, reader, TERM_VECTOR_NO);
}
Пример #10
0
Field::Field(const String& name, const String& value, Store store, Index index, TermVector termVector) {
    ConstructField(name, value, store, index, termVector);
}
Пример #11
0
Field::Field(const String& name, const String& value, Store store, Index index) {
    ConstructField(name, value, store, index, TERM_VECTOR_NO);
}
PRBool 
nsXBLContentSink::OnOpenContainer(const PRUnichar **aAtts, 
                                  PRUint32 aAttsCount, 
                                  PRInt32 aNameSpaceID, 
                                  nsIAtom* aTagName,
                                  PRUint32 aLineNumber)
{
  if (mState == eXBL_Error) {
    return PR_TRUE;
  }
  
  if (aNameSpaceID != kNameSpaceID_XBL) {
    // Construct non-XBL nodes
    return PR_TRUE;
  }

  PRBool ret = PR_TRUE;
  if (aTagName == nsGkAtoms::bindings) {
    ENSURE_XBL_STATE(mState == eXBL_InDocument);
      
    NS_NewXBLDocumentInfo(mDocument, &mDocInfo);
    if (!mDocInfo) {
      mState = eXBL_Error;
      return PR_TRUE;
    }

    mDocument->BindingManager()->PutXBLDocumentInfo(mDocInfo);

    nsIURI *uri = mDocument->GetDocumentURI();
      
    PRBool isChrome = PR_FALSE;
    PRBool isRes = PR_FALSE;

    uri->SchemeIs("chrome", &isChrome);
    uri->SchemeIs("resource", &isRes);
    mIsChromeOrResource = isChrome || isRes;
      
    nsIXBLDocumentInfo* info = mDocInfo;
    NS_RELEASE(info); // We keep a weak ref. We've created a cycle between doc/binding manager/doc info.
    mState = eXBL_InBindings;
  }
  else if (aTagName == nsGkAtoms::binding) {
    ENSURE_XBL_STATE(mState == eXBL_InBindings);
    mState = eXBL_InBinding;
  }
  else if (aTagName == nsGkAtoms::handlers) {
    ENSURE_XBL_STATE(mState == eXBL_InBinding && mBinding);
    mState = eXBL_InHandlers;
    ret = PR_FALSE;
  }
  else if (aTagName == nsGkAtoms::handler) {
    ENSURE_XBL_STATE(mState == eXBL_InHandlers);
    mSecondaryState = eXBL_InHandler;
    ConstructHandler(aAtts, aLineNumber);
    ret = PR_FALSE;
  }
  else if (aTagName == nsGkAtoms::resources) {
    ENSURE_XBL_STATE(mState == eXBL_InBinding && mBinding);
    mState = eXBL_InResources;
    // Note that this mState will cause us to return false, so no need
    // to set ret to false.
  }
  else if (aTagName == nsGkAtoms::stylesheet || aTagName == nsGkAtoms::image) {
    ENSURE_XBL_STATE(mState == eXBL_InResources);
    NS_ASSERTION(mBinding, "Must have binding here");
    ConstructResource(aAtts, aTagName);
  }
  else if (aTagName == nsGkAtoms::implementation) {
    ENSURE_XBL_STATE(mState == eXBL_InBinding && mBinding);
    mState = eXBL_InImplementation;
    ConstructImplementation(aAtts);
    // Note that this mState will cause us to return false, so no need
    // to set ret to false.
  }
  else if (aTagName == nsGkAtoms::constructor) {
    ENSURE_XBL_STATE(mState == eXBL_InImplementation &&
                     mSecondaryState == eXBL_None);
    NS_ASSERTION(mBinding, "Must have binding here");
      
    mSecondaryState = eXBL_InConstructor;
    nsXBLProtoImplAnonymousMethod* newMethod =
      new nsXBLProtoImplAnonymousMethod();
    if (newMethod) {
      newMethod->SetLineNumber(aLineNumber);
      mBinding->SetConstructor(newMethod);
      AddMember(newMethod);
    }
  }
  else if (aTagName == nsGkAtoms::destructor) {
    ENSURE_XBL_STATE(mState == eXBL_InImplementation &&
                     mSecondaryState == eXBL_None);
    NS_ASSERTION(mBinding, "Must have binding here");
    mSecondaryState = eXBL_InDestructor;
    nsXBLProtoImplAnonymousMethod* newMethod =
      new nsXBLProtoImplAnonymousMethod();
    if (newMethod) {
      newMethod->SetLineNumber(aLineNumber);
      mBinding->SetDestructor(newMethod);
      AddMember(newMethod);
    }
  }
  else if (aTagName == nsGkAtoms::field) {
    ENSURE_XBL_STATE(mState == eXBL_InImplementation &&
                     mSecondaryState == eXBL_None);
    NS_ASSERTION(mBinding, "Must have binding here");
    mSecondaryState = eXBL_InField;
    ConstructField(aAtts, aLineNumber);
  }
  else if (aTagName == nsGkAtoms::property) {
    ENSURE_XBL_STATE(mState == eXBL_InImplementation &&
                     mSecondaryState == eXBL_None);
    NS_ASSERTION(mBinding, "Must have binding here");
    mSecondaryState = eXBL_InProperty;
    ConstructProperty(aAtts);
  }
  else if (aTagName == nsGkAtoms::getter) {
    ENSURE_XBL_STATE(mSecondaryState == eXBL_InProperty && mProperty);
    NS_ASSERTION(mState == eXBL_InImplementation, "Unexpected state");
    mProperty->SetGetterLineNumber(aLineNumber);
    mSecondaryState = eXBL_InGetter;
  }
  else if (aTagName == nsGkAtoms::setter) {
    ENSURE_XBL_STATE(mSecondaryState == eXBL_InProperty && mProperty);
    NS_ASSERTION(mState == eXBL_InImplementation, "Unexpected state");
    mProperty->SetSetterLineNumber(aLineNumber);
    mSecondaryState = eXBL_InSetter;
  }
  else if (aTagName == nsGkAtoms::method) {
    ENSURE_XBL_STATE(mState == eXBL_InImplementation &&
                     mSecondaryState == eXBL_None);
    NS_ASSERTION(mBinding, "Must have binding here");
    mSecondaryState = eXBL_InMethod;
    ConstructMethod(aAtts);
  }
  else if (aTagName == nsGkAtoms::parameter) {
    ENSURE_XBL_STATE(mSecondaryState == eXBL_InMethod && mMethod);
    NS_ASSERTION(mState == eXBL_InImplementation, "Unexpected state");
    ConstructParameter(aAtts);
  }
  else if (aTagName == nsGkAtoms::body) {
    ENSURE_XBL_STATE(mSecondaryState == eXBL_InMethod && mMethod);
    NS_ASSERTION(mState == eXBL_InImplementation, "Unexpected state");
    // stash away the line number
    mMethod->SetLineNumber(aLineNumber);
    mSecondaryState = eXBL_InBody;
  }

  return ret && mState != eXBL_InResources && mState != eXBL_InImplementation;
}