static oop StaticBlockClosure__whileFalse_(oop v__closure, oop v_stateful_self, oop v_self, oop v_aBlock) { _enter(&__info22); oop _1= 0; oop _2= 0; _line(107); /* ifFalse: */ _1= 0; _2= v_self; _line(109); _2=_sendv(s_value, 1, _2); if (_2) goto _l6; { _1= v_aBlock; _line(111); _1=_sendv(s_value, 1, _1); _1= v_self; _2= v_aBlock; _line(112); _1=_sendv(s_whileFalse_, 2, _1, _2); } _l6:; _1= v_self; _leave(); return _1; _leave(); }
static oop StaticBlockClosure__whileTrue_(oop v__closure, oop v_stateful_self, oop v_self, oop v_aBlock) { _enter(&__info20); oop _1= 0; oop _2= 0; _line(94); /* ifTrue: */ _1= 0; _2= v_self; _line(96); _2=_sendv(s_value, 1, _2); if (!_2) goto _l3; { _1= v_aBlock; _line(98); _1=_sendv(s_value, 1, _1); _1= v_self; _2= v_aBlock; _line(99); _1=_sendv(s_whileTrue_, 2, _1, _2); } _l3:; _1= v_self; _leave(); return _1; _leave(); }
static oop ArrayedCollection__withAll_(oop v__closure, oop v_stateful_self, oop v_self, oop v_aCollection) { _enter(&__info11); oop _state1= _sendv(s_new_5f_, 2, v__vector, 4); oop _1= 0; oop _2= 0; ((oop *)_state1)[2]= v_stateful_self; ((oop *)_state1)[1]= v_self; _line(62); _1= ((oop *)_state1)[1]; /* self */ _2= v_aCollection; _line(64); _2=_sendv(s_size, 1, _2); _line(64); _1=_sendv(s_new_, 2, _1, _2); ((oop *)_state1)[1]= _1; /* self */ ((oop *)_state1)[2]= _1; /* stateful_self */ _1= v_aCollection; /* Scope('e'->ArgumentVariableNode 'i'->ArgumentVariableNode) */ /* Scope('size'->SlotVariableNode 'self'->ArgumentVariableNode 'aCollection'->ArgumentVariableNode 'stateful_self'->ArgumentVariableNode) */ /* nil */ /* 2 */ /* 1 */ _2= _sendv(s_function_5f_arity_5f_outer_state_nlr_5f_, 6, v_BlockClosure, (oop)b_12, 2, 0, ((oop *)_state1), 0); _line(65); _1=_sendv(s_doWithIndex_, 2, _1, _2); _1= ((oop *)_state1)[1]; /* self */ _leave(); return _1; _leave(); }
static oop ArrayedCollection__collect_(oop v__closure, oop v_stateful_self, oop v_self, oop v_unaryBlock) { _enter(&__info15); oop _state1= _sendv(s_new_5f_, 2, v__vector, 3); oop _1= 0; oop _2= 0; ((oop *)_state1)[2]= v_unaryBlock; _line(78); _1= v_self; _line(81); _1=_sendv(s_species, 1, _1); _2= v_self; _line(81); _2=_sendv(s_size, 1, _2); _line(81); _1=_sendv(s_new_, 2, _1, _2); ((oop *)_state1)[1]= _1; /* answer */ _1= v_self; /* Scope('elt'->ArgumentVariableNode 'ind'->ArgumentVariableNode) */ /* Scope('size'->SlotVariableNode 'self'->ArgumentVariableNode 'answer'->TemporaryVariableNode 'unaryBlock'->ArgumentVariableNode 'stateful_self'->ArgumentVariableNode) */ /* nil */ /* 2 */ /* 1 */ _2= _sendv(s_function_5f_arity_5f_outer_state_nlr_5f_, 6, v_BlockClosure, (oop)b_16, 2, 0, ((oop *)_state1), 0); _line(82); _1=_sendv(s_doWithIndex_, 2, _1, _2); _1= ((oop *)_state1)[1]; /* answer */ _leave(); return _1; _leave(); }
static oop StaticBlockClosure__errorArgumentCount_(oop v__closure, oop v_stateful_self, oop v_self, oop v_actual) { _enter(&__info3); oop _1= 0; oop _2= 0; oop _3= 0; _line(44); _1= v_self; _2= l_4; _3= v_self; _line(46); _3=_sendv(s_arity, 1, _3); _line(46); _3=_sendv(s_printString, 1, _3); _line(46); _2=_sendv(s__2c, 2, _2, _3); _3= l_5; _line(46); _2=_sendv(s__2c, 2, _2, _3); _3= v_actual; _line(46); _3=_sendv(s_printString, 1, _3); _line(46); _2=_sendv(s__2c, 2, _2, _3); _3= l_6; _line(46); _2=_sendv(s__2c, 2, _2, _3); _line(46); _1=_sendv(s_error_, 2, _1, _2); _1= v_self; _leave(); return _1; _leave(); }
static oop ArrayedCollection___5fsize(oop v__closure, oop v_stateful_self, oop v_self) { _enter(&__info17); oop _1= 0; _line(86); _1= ((struct t_ArrayedCollection *)v_stateful_self)->v_size; _line(88); _1=_sendv(s__5fintegerValue, 1, _1); _leave(); return _1; _leave(); }
static oop StaticBlockClosure__arity(oop v__closure, oop v_stateful_self, oop v_self) { _enter(&__info2); oop _1= 0; oop _2= 0; _line(42); _1= v_SmallInteger; _2= ((struct t_StaticBlockClosure *)v_stateful_self)->v__arity; _line(42); _1=_sendv(s_value_5f_, 2, _1, _2); _leave(); return _1; _leave(); }
static oop ArrayedCollection__initialize(oop v__closure, oop v_stateful_self, oop v_self) { _enter(&__info3); oop _1= 0; _line(35); _1= v_self; _line(37); _1=_superv(v_SequenceableCollection, s_initialize, 1, _1); _1= l_4; ((struct t_ArrayedCollection *)v_stateful_self)->v_size= _1; _1= v_self; _leave(); return _1; _leave(); }
QList<QPointF> StrokeManager::interpolateStroke(int radius) { QList<QPointF> result; int time = singleshotTime.elapsed(); static const qreal smoothness = 0.5f; QLineF line(m_lastPixel, m_currentPixel); if (line.length() == 0) { return result; } qreal scaleFactor = line.length(); if (!hasTangent && scaleFactor > 0.01f) { hasTangent = true; // qDebug() << "scaleFactor" << scaleFactor << "current pixel " << m_currentPixel << "last pixel" << m_lastPixel; m_previousTangent = (m_currentPixel - m_lastPixel) * smoothness / (3.0 * scaleFactor); // qDebug() << "previous tangent" << m_previousTangent; QLineF _line(QPointF(0,0), m_previousTangent); // don't bother for small tangents, as they can induce single pixel wobbliness if (_line.length() < 2) { m_previousTangent = QPointF(0,0); } } else { QPointF c1 = m_lastPixel + m_previousTangent * scaleFactor; QPointF newTangent = (m_currentPixel - c1) * smoothness / (3.0 * scaleFactor); // qDebug() << "scalefactor1" << scaleFactor << m_previousTangent << newTangent; if (scaleFactor == 0) { newTangent = QPointF(0,0); } else { QLineF _line(QPointF(0,0), newTangent); if (_line.length() < 2) { newTangent = QPointF(0,0); } } QPointF c2 = m_currentPixel - newTangent * scaleFactor; // qDebug() << "scalefactor2" << scaleFactor << m_previousTangent << newTangent; result << m_lastPixel << c1 << c2 << m_currentPixel; m_previousTangent = newTangent; } previousTime = time; return result; }
// draw a horizontal or vertical line directly to the display static int _fastcall __drawline( LPTSTR pszCmdLine, int fVertical ) { register int nAttribute = -1; int nRow, nColumn, nLength, nStyle, n; // get the arguments & colors if (( pszCmdLine == NULL ) || ( *pszCmdLine == _TEXT('\0') )) return ( Usage( (( fVertical ) ? DRAWVLINE_USAGE : DRAWHLINE_USAGE ))); if ( sscanf( pszCmdLine, _TEXT("%d%d%d%d%n"), &nRow, &nColumn, &nLength, &nStyle, &n ) == 5 ) nAttribute = GetColors( pszCmdLine+n, 0 ); // if row or column == 999, center the line if ( nColumn == 999 ) { nColumn = ( GetScrCols() - (( fVertical ) ? 0 : nLength )) / 2; if ( nColumn < 0 ) nColumn = 0; } if ( nRow == 999 ) { nRow = ( GetScrRows() - (( fVertical ) ? nLength : 0 )) / 2; if ( nRow < 0 ) nRow = 0; } return ((( nAttribute == -1 ) || ( verify_row_col( nRow, nColumn )) || ( _line( nRow, nColumn, nLength, nStyle, fVertical, nAttribute, 1 ) != 0 )) ? Usage( (( fVertical ) ? DRAWVLINE_USAGE : DRAWHLINE_USAGE ) ) : 0 ); }
QList<QPointF> StrokeManager::tangentInpolOp(QList<QPointF> points) { int time = mSingleshotTime.elapsed(); static const qreal smoothness = 1.f; QLineF line( mLastPixel, mCurrentPixel); qreal scaleFactor = line.length() * 3.f; if ( !hasTangent && scaleFactor > 0.01f) { hasTangent = true; /* qDebug() << "scaleFactor" << scaleFactor << "current pixel " << mCurrentPixel << "last pixel" << mLastPixel; */ m_previousTangent = (mCurrentPixel - mLastPixel) * smoothness / (3.0 * scaleFactor); //qDebug() << "previous tangent" << m_previousTangent; QLineF _line(QPointF(0,0), m_previousTangent); // don't bother for small tangents, as they can induce single pixel wobbliness if (_line.length() < 2) { m_previousTangent = QPointF(0,0); } } else { QPointF c1 = mLastPixel + m_previousTangent * scaleFactor; QPointF newTangent = (mCurrentPixel - c1) * smoothness / (3.0 * scaleFactor); //qDebug() << "scalefactor1=" << scaleFactor << m_previousTangent << newTangent; if (scaleFactor == 0) { newTangent = QPointF(0,0); } else { //QLineF _line(QPointF(0,0), newTangent); //if (_line.length() < 2) //{ // newTangent = QPointF(0,0); //} } QPointF c2 = mCurrentPixel - newTangent * scaleFactor; //c1 = mLastPixel; //c2 = mCurrentPixel; points << mLastPixel << c1 << c2 << mCurrentPixel; /* qDebug() << mLastPixel << c1 << c2 << mCurrentPixel; */ m_previousTangent = newTangent; } return points; previousTime = time; }
static oop BlockClosure__function_5f_arity_5f_outer_state_nlr_5f_(oop v__closure, oop v_stateful_self, oop v_self, oop v__implementationAddress, oop v__argumentCount, oop v_outerBlock, oop v_variableArray, oop v__dynamicEnvironment) { _enter(&__info24); oop _1= 0; _line(126); { # define self ((struct t_BlockClosure *)v_self) # ifndef STAGE1 v_stateful_self= # endif v_self= _libid->alloc(v_self, sizeof(*self)); # undef self } _1= 0; _1= v__implementationAddress; ((struct t_BlockClosure *)v_stateful_self)->v__function= _1; _1= v__argumentCount; ((struct t_BlockClosure *)v_stateful_self)->v__arity= _1; _1= v_outerBlock; ((struct t_BlockClosure *)v_stateful_self)->v_outer= _1; _1= v_variableArray; ((struct t_BlockClosure *)v_stateful_self)->v_state= _1; _1= v__dynamicEnvironment; ((struct t_BlockClosure *)v_stateful_self)->v__nlr= _1; _1= v_self; _leave(); return _1; _leave(); }
static oop ArrayedCollection__new_(oop v__closure, oop v_stateful_self, oop v_self, oop v_anInteger) { _enter(&__info1); oop _1= 0; oop _2= 0; _line(25); _1= v_self; _line(27); _1=_superv(v_SequenceableCollection, s_new, 1, _1); _2= v_anInteger; _line(27); _1=_sendv(s_initialize_, 2, _1, _2); _leave(); return _1; _leave(); }
void TaxiwayProc ::MoveMarkPosition(const Point & newPtPos){ int recordpos=m_imarkPosAfterPtID; double relatePos=m_dmarkPosRelatePos; int nCount=m_location.getCount(); double minDist=m_dWidth*2.0; for(int i=0;i<nCount-1;i++){ Point & p1=m_location.getPoint(i); Point & p2=m_location.getPoint(i+1); //get distance to the line (p1,p2); DistanceUnit _dist=abs((p2.getY()-p1.getY())*(newPtPos.getX()-p1.getX())-(newPtPos.getY()-p1.getY())*(p2.getX()-p1.getX()))/p1.getDistanceTo(p2); if(_dist<minDist){ double r; ARCVector3 _line(p1,p2); r=( ARCVector3(p1,newPtPos).dot(_line) )/_line.Magnitude2(); if(r<1 && r>0){ relatePos=r; minDist=_dist; recordpos=i; } } } if(recordpos>=0){ NULL; }else { relatePos=0; recordpos=0; } m_dmarkPosRelatePos=relatePos; m_imarkPosAfterPtID=recordpos; }
static oop StaticBlockClosure__function_5f_arity_5f_(oop v__closure, oop v_stateful_self, oop v_self, oop v__implementationAddress, oop v__argumentCount) { _enter(&__info1); oop _1= 0; _line(30); { # define self ((struct t_StaticBlockClosure *)v_self) # ifndef STAGE1 v_stateful_self= # endif v_self= _libid->alloc(v_self, sizeof(*self)); # undef self } _1= 0; _1= v__argumentCount; ((struct t_StaticBlockClosure *)v_stateful_self)->v__arity= _1; _1= v__implementationAddress; ((struct t_StaticBlockClosure *)v_stateful_self)->v__function= _1; _1= v_self; _leave(); return _1; _leave(); }
/** setvideomode * init_cursor */ void setup_screen( void ) { extern int herc_align; registerfarbgidriver( EGAVGA_driver_far ); registerfarbgidriver( Herc_driver_far ); setgraph( ); if ( scrmode == HERCMONO ) { writech = hgcwritech; if ( herc_align ) { align = 40; }/* else { align = 0 (init already) }*/ } else { writech = ewritech; herc_align = 0; } init_graph_and_cursor( ); clsall( ); /* _rectangle( 0 + align, 0, 639 + align, 347 ); */ _rectangle( 0, 0, 639, 347 ); prakeaw( ); dispstrhgc( "¨ØÌÒŧ¡Ã³ìÁËÒÇÔ·ÂÒÅÑÂ", 6, 0, BOLDATTR ); /* _line( 0 + align, 24, 639 + align, 24 ); */ _line( 0, 24, 639, 24 ); }
static oop b_12(oop v__closure, oop v__self, oop v_e, oop v_i) { _enter(&__info12); oop _1= 0; oop _2= 0; oop _3= 0; _line(65); _1= ((oop *)((struct t_BlockClosure *)((struct t_BlockClosure *)v__self)->v_state))[1]; /* self */ _2= v_i; _3= v_e; _line(65); _1=_sendv(s_at_put_, 3, _1, _2, _3); _leave(); return _1; _leave(); }
static oop ArrayedCollection__initialize_(oop v__closure, oop v_stateful_self, oop v_self, oop v_anInteger) { _enter(&__info5); oop _1= 0; oop _2= 0; _line(41); _1= v_self; _2= v_anInteger; _line(43); _1=_superv(v_SequenceableCollection, s_initialize_, 2, _1, _2); _1= v_anInteger; ((struct t_ArrayedCollection *)v_stateful_self)->v_size= _1; _1= v_self; _leave(); return _1; _leave(); }
static oop ArrayedCollection__new_withAll_(oop v__closure, oop v_stateful_self, oop v_self, oop v_capacity, oop v_value) { _enter(&__info2); oop _1= 0; oop _2= 0; _line(30); _1= v_self; _2= v_capacity; _line(32); _1=_sendv(s_new_, 2, _1, _2); _2= v_value; _line(32); _1=_sendv(s_atAllPut_, 2, _1, _2); _leave(); return _1; _leave(); }
void TaxiwayProc ::getMarkingPosition(Point & startPos, double & rotateAngle ){ if(m_imarkPosAfterPtID >m_location.getCount()-2) m_imarkPosAfterPtID=m_location.getCount()-2; Line _line( m_location.getPoint(m_imarkPosAfterPtID),m_location.getPoint(m_imarkPosAfterPtID+1)); startPos= _line.getInlinePoint(m_dmarkPosRelatePos); ARCVector2 k; k.reset(m_location.getPoint(m_imarkPosAfterPtID),m_location.getPoint(m_imarkPosAfterPtID+1)); rotateAngle = k.AngleFromCoorndinateX(); }
static void _box(FILE* os, const char* format, ...) { _line(os); fprintf(os, "//\n"); fprintf(os, "// "); va_list ap; va_start(ap, format); vfprintf(os, format, ap); va_end(ap); fputc('\n', os); fprintf(os, "//\n"); _line(os); }
static oop ArrayedCollection__size(oop v__closure, oop v_stateful_self, oop v_self) { _enter(&__info13); oop _1= 0; _line(68); _1= ((struct t_ArrayedCollection *)v_stateful_self)->v_size; _leave(); return _1; _leave(); }
static oop StaticBlockClosure__value_value_value_value_value_(oop v__closure, oop v_stateful_self, oop v_self, oop v_a, oop v_b, oop v_c, oop v_d, oop v_e) { _enter(&__info17); oop _1= 0; oop _2= 0; _line(81); { # define self ((struct t_StaticBlockClosure *)v_self) if ((long)self->v__arity == 5) return ((_imp_t)(self->v__function))(0, v_self, v_a, v_b, v_c, v_d, v_e); # undef self } _1= 0; _1= v_self; _2= l_18; _line(84); _1=_sendv(s_errorArgumentCount_, 2, _1, _2); _leave(); return _1; _leave(); }
static oop b_16(oop v__closure, oop v__self, oop v_elt, oop v_ind) { _enter(&__info16); oop _1= 0; oop _2= 0; oop _3= 0; oop _4= 0; _line(82); _1= ((oop *)((struct t_BlockClosure *)((struct t_BlockClosure *)v__self)->v_state))[1]; /* answer */ _2= v_ind; _3= ((oop *)((struct t_BlockClosure *)((struct t_BlockClosure *)v__self)->v_state))[2]; /* unaryBlock */ _4= v_elt; _line(82); _3=_sendv(s_value_, 2, _3, _4); _line(82); _1=_sendv(s_at_put_, 3, _1, _2, _3); _leave(); return _1; _leave(); }
static oop ArrayedCollection__byteSize(oop v__closure, oop v_stateful_self, oop v_self) { _enter(&__info14); oop _1= 0; oop _2= 0; _line(73); _1= ((struct t_ArrayedCollection *)v_stateful_self)->v_size; _2= v_self; _line(75); _2=_sendv(s_elementSize, 1, _2); { int _l= (long)_1 >> 1; int _r= (long)_2 >> 1; int _s= (_l * _r); if ((1 & (long)_1 & (long)_2) && ((_r == 0) || (_s / _r == _l)) && ((_s ^ (_s << 1)) >= 0)) _1= (oop)(long)(_s << 1 | 1); else _1= _sendv(s__2a, 2, _1, _2); } _leave(); return _1; _leave(); }
static oop ArrayedCollection__with_(oop v__closure, oop v_stateful_self, oop v_self, oop v_anObject) { _enter(&__info6); oop _1= 0; oop _2= 0; oop _3= 0; _line(47); _1= v_self; _2= l_7; _line(49); _1=_sendv(s_new_, 2, _1, _2); _2= l_7; _3= v_anObject; _line(50); _sendv(s_at_put_, 3, _1, _2, _3); _1=_sendv(s_yourself, 1, _1); _leave(); return _1; _leave(); }
// draw a horizontal or vertical line directly to the display int drawline_cmd( int argc, char **argv ) { int attribute = -1; int row, col, len, width; // get the arguments & colors if (( argc >= 6 ) && ( sscanf( argv[1], "%d%d%d%d", &row, &col, &len, &width ) == 4 )) attribute = GetColors( argv[5], 0 ); return ((( attribute == -1 ) || ( verify_row_col( row, col )) || ( _line( row, col, len, width,(_ctoupper( argv[0][4] ) == 'V' ), attribute, 1 ) != 0 )) ? usage( DRAWLINE_USAGE ) : 0 ); }
static oop StaticBlockClosure__whileTrue(oop v__closure, oop v_stateful_self, oop v_self) { _enter(&__info19); oop _1= 0; _line(89); /* whileTrue: */ goto _l2; _l1:; { _1= v_nil; } _l2:; { _1= v_self; _line(91); _1=_sendv(s_value, 1, _1); } if (_1) goto _l1; _1= 0; _1= v_self; _leave(); return _1; _leave(); }
static oop StaticBlockClosure__whileFalse(oop v__closure, oop v_stateful_self, oop v_self) { _enter(&__info21); oop _1= 0; _line(102); /* whileFalse: */ goto _l5; _l4:; { _1= v_nil; } _l5:; { _1= v_self; _line(104); _1=_sendv(s_value, 1, _1); } if (!_1) goto _l4; _1= 0; _1= v_self; _leave(); return _1; _leave(); }
static oop StaticBlockClosure__repeat(oop v__closure, oop v_stateful_self, oop v_self) { _enter(&__info23); oop _1= 0; _line(115); /* whileTrue: */ goto _l8; _l7:; { _1= v_self; _line(117); _1=_sendv(s_value, 1, _1); } _l8:; { _1= v_true; } if (_1) goto _l7; _1= 0; _1= v_self; _leave(); return _1; _leave(); }