QSObject QSRegExpClass::fetchValue( const QSObject *objPtr, const QSMember &mem ) const { if ( mem.type() != QSMember::Custom ) return QSWritableClass::fetchValue( objPtr, mem ); QRegExp *re = regExp( objPtr ); switch ( mem.index() ) { case Valid: return createBoolean( re->isValid() ); case Empty: return createBoolean( re->isEmpty() ); case MLength: return createNumber( re->matchedLength() ); case Source: return createString( source(objPtr) ); case Global: return createBoolean( isGlobal(objPtr) ); case IgnoreCase: return createBoolean( isIgnoreCase(objPtr) ); case CTexts: { QSArray array( env() ); QStringList ct = re->capturedTexts(); QStringList::ConstIterator it = ct.begin(); int i = 0; for ( ; it != ct.end(); ++it, ++i ) array.put( QString::number( i ), createString( *it ) ); array.put( QString::fromLatin1("length"), createNumber( i ) ); return array; } default: return createUndefined(); } }
static Value isNil(Context *ctx, const List<Value>& args) { if (args.getCount() != 1) { ctx->throwException(createException(ExcType::ValueError, "isNil takes one argument.")); } return createBoolean(args[0].type == ValueType::Nil); }
void ofxGtsSurface::getReverseDifference(ofxGtsSurface &source, ofxGtsSurface &result) { if( prepareBoolean(source)) { createBoolean(source, result, BOOLEAN_REVERSE_DIFFERENCE); } }
void ofxGtsSurface::getIntersection(ofxGtsSurface &source, ofxGtsSurface &result) { if( prepareBoolean(source)) { createBoolean(source, result, BOOLEAN_INTERSECTION); } }
void ofxGtsSurface::getUnion(ofxGtsSurface &source, ofxGtsSurface &result) { if( prepareBoolean(source)) { createBoolean(source, result, BOOLEAN_UNION); } }