Java 类org.w3c.dom.smil.ElementTime 实例源码

项目:PeSanKita-android    文件:ElementParallelTimeContainerImpl.java   
public float getImplicitDuration() {
    float dur = -1.0F;
    if (ENDSYNC_LAST.equals(getEndSync())) {
        NodeList children = getTimeChildren();
        for (int i = 0; i < children.getLength(); ++i) {
            ElementTime child = (ElementTime) children.item(i);
            TimeList endTimeList = child.getEnd();
            for (int j = 0; j < endTimeList.getLength(); ++j) {
                Time endTime = endTimeList.item(j);
                if (endTime.getTimeType() == Time.SMIL_TIME_INDEFINITE) {
                    // Return "indefinite" here.
                    return -1.0F;
                }
                if (endTime.getResolved()) {
                    float end = (float)endTime.getResolvedOffset();
                    dur = (end > dur) ? end : dur;
                }
            }
        }
    } // Other endsync types are not supported now.

    return dur;
}
项目:TextSecure    文件:ElementParallelTimeContainerImpl.java   
public float getImplicitDuration() {
    float dur = -1.0F;
    if (ENDSYNC_LAST.equals(getEndSync())) {
        NodeList children = getTimeChildren();
        for (int i = 0; i < children.getLength(); ++i) {
            ElementTime child = (ElementTime) children.item(i);
            TimeList endTimeList = child.getEnd();
            for (int j = 0; j < endTimeList.getLength(); ++j) {
                Time endTime = endTimeList.item(j);
                if (endTime.getTimeType() == Time.SMIL_TIME_INDEFINITE) {
                    // Return "indefinite" here.
                    return -1.0F;
                }
                if (endTime.getResolved()) {
                    float end = (float)endTime.getResolvedOffset();
                    dur = (end > dur) ? end : dur;
                }
            }
        }
    } // Other endsync types are not supported now.

    return dur;
}
项目:qksms    文件:ElementParallelTimeContainerImpl.java   
public float getImplicitDuration() {
    float dur = -1.0F;
    if (ENDSYNC_LAST.equals(getEndSync())) {
        NodeList children = getTimeChildren();
        for (int i = 0; i < children.getLength(); ++i) {
            ElementTime child = (ElementTime) children.item(i);
            TimeList endTimeList = child.getEnd();
            for (int j = 0; j < endTimeList.getLength(); ++j) {
                Time endTime = endTimeList.item(j);
                if (endTime.getTimeType() == Time.SMIL_TIME_INDEFINITE) {
                    // Return "indefinite" here.
                    return -1.0F;
                }
                if (endTime.getResolved()) {
                    float end = (float)endTime.getResolvedOffset();
                    dur = (end > dur) ? end : dur;
                }
            }
        }
    } // Other endsync types are not supported now.

    return dur;
}
项目:TextSecureSMP    文件:ElementParallelTimeContainerImpl.java   
public float getImplicitDuration() {
    float dur = -1.0F;
    if (ENDSYNC_LAST.equals(getEndSync())) {
        NodeList children = getTimeChildren();
        for (int i = 0; i < children.getLength(); ++i) {
            ElementTime child = (ElementTime) children.item(i);
            TimeList endTimeList = child.getEnd();
            for (int j = 0; j < endTimeList.getLength(); ++j) {
                Time endTime = endTimeList.item(j);
                if (endTime.getTimeType() == Time.SMIL_TIME_INDEFINITE) {
                    // Return "indefinite" here.
                    return -1.0F;
                }
                if (endTime.getResolved()) {
                    float end = (float)endTime.getResolvedOffset();
                    dur = (end > dur) ? end : dur;
                }
            }
        }
    } // Other endsync types are not supported now.

    return dur;
}
项目:Silence    文件:ElementParallelTimeContainerImpl.java   
public float getImplicitDuration() {
    float dur = -1.0F;
    if (ENDSYNC_LAST.equals(getEndSync())) {
        NodeList children = getTimeChildren();
        for (int i = 0; i < children.getLength(); ++i) {
            ElementTime child = (ElementTime) children.item(i);
            TimeList endTimeList = child.getEnd();
            for (int j = 0; j < endTimeList.getLength(); ++j) {
                Time endTime = endTimeList.item(j);
                if (endTime.getTimeType() == Time.SMIL_TIME_INDEFINITE) {
                    // Return "indefinite" here.
                    return -1.0F;
                }
                if (endTime.getResolved()) {
                    float end = (float)endTime.getResolvedOffset();
                    dur = (end > dur) ? end : dur;
                }
            }
        }
    } // Other endsync types are not supported now.

    return dur;
}
项目:Securecom-Messaging    文件:ElementParallelTimeContainerImpl.java   
public float getImplicitDuration() {
    float dur = -1.0F;
    if (ENDSYNC_LAST.equals(getEndSync())) {
        NodeList children = getTimeChildren();
        for (int i = 0; i < children.getLength(); ++i) {
            ElementTime child = (ElementTime) children.item(i);
            TimeList endTimeList = child.getEnd();
            for (int j = 0; j < endTimeList.getLength(); ++j) {
                Time endTime = endTimeList.item(j);
                if (endTime.getTimeType() == Time.SMIL_TIME_INDEFINITE) {
                    // Return "indefinite" here.
                    return -1.0F;
                }
                if (endTime.getResolved()) {
                    float end = (float)endTime.getResolvedOffset();
                    dur = (end > dur) ? end : dur;
                }
            }
        }
    } // Other endsync types are not supported now.

    return dur;
}
项目:android-aosp-mms    文件:ElementParallelTimeContainerImpl.java   
public float getImplicitDuration() {
    float dur = -1.0F;
    if (ENDSYNC_LAST.equals(getEndSync())) {
        NodeList children = getTimeChildren();
        for (int i = 0; i < children.getLength(); ++i) {
            ElementTime child = (ElementTime) children.item(i);
            TimeList endTimeList = child.getEnd();
            for (int j = 0; j < endTimeList.getLength(); ++j) {
                Time endTime = endTimeList.item(j);
                if (endTime.getTimeType() == Time.SMIL_TIME_INDEFINITE) {
                    // Return "indefinite" here.
                    return -1.0F;
                }
                if (endTime.getResolved()) {
                    float end = (float)endTime.getResolvedOffset();
                    dur = (end > dur) ? end : dur;
                }
            }
        }
    } // Other endsync types are not supported now.

    return dur;
}
项目:android-aosp-mms    文件:SmilPlayer.java   
private synchronized void seekActiveMedia() {
    for (int i = mActiveElements.size() - 1; i >= 0; i--) {
        ElementTime element = mActiveElements.get(i);
        if (element instanceof SmilParElementImpl) {
            return;
        }
        double offset = getOffsetTime(element);
        if ((offset >= 0) && (offset <= mCurrentTime)) {
            if (LOCAL_LOGV) {
                Log.v(TAG, "[SEEK]  " + " at " + mCurrentTime
                        + " " + element);
            }
            element.seekElement( (float) (mCurrentTime - offset) );
        }
    }
}
项目:PeSanKita-android    文件:ElementTimeImpl.java   
public short getFillDefault() {
    String fillDefault = mSmilElement.getAttribute(FILLDEFAULT_ATTRIBUTE_NAME);
    if (fillDefault.equalsIgnoreCase(FILL_REMOVE_ATTRIBUTE)) {
        return FILL_REMOVE;
    } else if (fillDefault.equalsIgnoreCase(FILL_FREEZE_ATTRIBUTE)) {
        return FILL_FREEZE;
    } else if (fillDefault.equalsIgnoreCase(FILL_AUTO_ATTRIBUTE)) {
        return FILL_AUTO;
    } else if (fillDefault.equalsIgnoreCase(FILL_HOLD_ATTRIBUTE)) {
        // FIXME handle it as freeze for now
        return FILL_FREEZE;
    } else if (fillDefault.equalsIgnoreCase(FILL_TRANSITION_ATTRIBUTE)) {
        // FIXME handle it as freeze for now
        return FILL_FREEZE;
    } else {
        /*
         * fillDefault = inherit
         * Specifies that the value of this attribute (and of the fill behavior) are
         * inherited from the fillDefault value of the parent element.
         * This is the default value.
         */
        ElementTime parent = getParentElementTime();
        if (parent == null) {
            /*
             * fillDefault = auto
             * If there is no parent element, the value is "auto".
             */
            return FILL_AUTO;
        } else {
            return ((ElementTimeImpl) parent).getFillDefault();
        }
    }
}
项目:PeSanKita-android    文件:ElementSequentialTimeContainerImpl.java   
public NodeList getActiveChildrenAt(float instant) {
    NodeList allChildren = this.getTimeChildren();
    ArrayList<Node> nodes = new ArrayList<Node>();
    for (int i = 0; i < allChildren.getLength(); i++) {
        instant -= ((ElementTime) allChildren.item(i)).getDur();
        if (instant < 0) {
            nodes.add(allChildren.item(i));
            return new NodeListImpl(nodes);
        }
    }
    return new NodeListImpl(nodes);
}
项目:PeSanKita-android    文件:ElementSequentialTimeContainerImpl.java   
public float getDur() {
    float dur = super.getDur();
    if (dur == 0) {
        NodeList children = getTimeChildren();
        for (int i = 0; i < children.getLength(); ++i) {
            ElementTime child = (ElementTime) children.item(i);
            if (child.getDur() < 0) {
                // Return "indefinite" since containing a child whose duration is indefinite.
                return -1.0F;
            }
            dur += child.getDur();
        }
    }
    return dur;
}
项目:TextSecure    文件:ElementTimeImpl.java   
public short getFillDefault() {
    String fillDefault = mSmilElement.getAttribute(FILLDEFAULT_ATTRIBUTE_NAME);
    if (fillDefault.equalsIgnoreCase(FILL_REMOVE_ATTRIBUTE)) {
        return FILL_REMOVE;
    } else if (fillDefault.equalsIgnoreCase(FILL_FREEZE_ATTRIBUTE)) {
        return FILL_FREEZE;
    } else if (fillDefault.equalsIgnoreCase(FILL_AUTO_ATTRIBUTE)) {
        return FILL_AUTO;
    } else if (fillDefault.equalsIgnoreCase(FILL_HOLD_ATTRIBUTE)) {
        // FIXME handle it as freeze for now
        return FILL_FREEZE;
    } else if (fillDefault.equalsIgnoreCase(FILL_TRANSITION_ATTRIBUTE)) {
        // FIXME handle it as freeze for now
        return FILL_FREEZE;
    } else {
        /*
         * fillDefault = inherit
         * Specifies that the value of this attribute (and of the fill behavior) are
         * inherited from the fillDefault value of the parent element.
         * This is the default value.
         */
        ElementTime parent = getParentElementTime();
        if (parent == null) {
            /*
             * fillDefault = auto
             * If there is no parent element, the value is "auto".
             */
            return FILL_AUTO;
        } else {
            return ((ElementTimeImpl) parent).getFillDefault();
        }
    }
}
项目:TextSecure    文件:ElementSequentialTimeContainerImpl.java   
public NodeList getActiveChildrenAt(float instant) {
    NodeList allChildren = this.getTimeChildren();
    ArrayList<Node> nodes = new ArrayList<Node>();
    for (int i = 0; i < allChildren.getLength(); i++) {
        instant -= ((ElementTime) allChildren.item(i)).getDur();
        if (instant < 0) {
            nodes.add(allChildren.item(i));
            return new NodeListImpl(nodes);
        }
    }
    return new NodeListImpl(nodes);
}
项目:TextSecure    文件:ElementSequentialTimeContainerImpl.java   
public float getDur() {
    float dur = super.getDur();
    if (dur == 0) {
        NodeList children = getTimeChildren();
        for (int i = 0; i < children.getLength(); ++i) {
            ElementTime child = (ElementTime) children.item(i);
            if (child.getDur() < 0) {
                // Return "indefinite" since containing a child whose duration is indefinite.
                return -1.0F;
            }
            dur += child.getDur();
        }
    }
    return dur;
}
项目:qksms    文件:SmilPlayer.java   
public synchronized void init(ElementTime root) {
    mRoot = root;
    mAllEntries = getTimeline(mRoot, 0, Long.MAX_VALUE);
    mMediaTimeUpdatedEvent = ((DocumentEvent) mRoot).createEvent("Event");
    mMediaTimeUpdatedEvent.initEvent(MEDIA_TIME_UPDATED_EVENT, false, false);
    mActiveElements = new ArrayList<>();
}
项目:qksms    文件:SmilPlayer.java   
private synchronized double getOffsetTime(ElementTime element) {
    for (int i = mCurrentSlide; i < mCurrentElement; i++) {
        TimelineEntry entry = mAllEntries.get(i);
        if (element.equals(entry.getElement())) {
            return entry.getOffsetTime() * 1000;  // in ms
        }
    }
    return -1;
}
项目:qksms    文件:SmilPlayer.java   
private synchronized void seekActiveMedia() {
    for (int i = mActiveElements.size() - 1; i >= 0; i--) {
        ElementTime element = mActiveElements.get(i);
        if (element instanceof SmilParElementImpl) {
            return;
        }
        double offset = getOffsetTime(element);
        if ((offset >= 0) && (offset <= mCurrentTime)) {
            if (LOCAL_LOGV) Log.v(TAG, "[SEEK]  " + " at " + mCurrentTime
                        + " " + element);
            element.seekElement( (float) (mCurrentTime - offset) );
        }
    }
}
项目:qksms    文件:SmilPlayer.java   
private synchronized void endActiveElements() {
    for (int i = mActiveElements.size() - 1; i >= 0; i--) {
        ElementTime element = mActiveElements.get(i);
        if (LOCAL_LOGV) Log.v(TAG, "[STOP]  " + " at " + mCurrentTime + " " + element);
        element.endElement();
    }
}
项目:qksms    文件:SmilPlayer.java   
private synchronized void pauseActiveElements() {
    for (int i = mActiveElements.size() - 1; i >= 0; i--) {
        ElementTime element = mActiveElements.get(i);
        if (LOCAL_LOGV) Log.v(TAG, "[PAUSE]  " + " at " + mCurrentTime + " " + element);
        element.pauseElement();
    }
}
项目:qksms    文件:SmilPlayer.java   
private synchronized void resumeActiveElements() {
    int size = mActiveElements.size();
    for (int i = 0; i < size; i++) {
        ElementTime element = mActiveElements.get(i);
        if (LOCAL_LOGV) Log.v(TAG, "[RESUME]  " + " at " + mCurrentTime + " " + element);
        element.resumeElement();
    }
}
项目:qksms    文件:ElementTimeImpl.java   
public short getFillDefault() {
    String fillDefault = mSmilElement.getAttribute(FILLDEFAULT_ATTRIBUTE_NAME);
    if (fillDefault.equalsIgnoreCase(FILL_REMOVE_ATTRIBUTE)) {
        return FILL_REMOVE;
    } else if (fillDefault.equalsIgnoreCase(FILL_FREEZE_ATTRIBUTE)) {
        return FILL_FREEZE;
    } else if (fillDefault.equalsIgnoreCase(FILL_AUTO_ATTRIBUTE)) {
        return FILL_AUTO;
    } else if (fillDefault.equalsIgnoreCase(FILL_HOLD_ATTRIBUTE)) {
        // FIXME handle it as freeze for now
        return FILL_FREEZE;
    } else if (fillDefault.equalsIgnoreCase(FILL_TRANSITION_ATTRIBUTE)) {
        // FIXME handle it as freeze for now
        return FILL_FREEZE;
    } else {
        /*
         * fillDefault = inherit
         * Specifies that the value of this attribute (and of the fill behavior) are
         * inherited from the fillDefault value of the parent element.
         * This is the default value.
         */
        ElementTime parent = getParentElementTime();
        if (parent == null) {
            /*
             * fillDefault = auto
             * If there is no parent element, the value is "auto".
             */
            return FILL_AUTO;
        } else {
            return parent.getFillDefault();
        }
    }
}
项目:qksms    文件:ElementSequentialTimeContainerImpl.java   
public NodeList getActiveChildrenAt(float instant) {
    NodeList allChildren = this.getTimeChildren();
    ArrayList<Node> nodes = new ArrayList<Node>();
    for (int i = 0; i < allChildren.getLength(); i++) {
        instant -= ((ElementTime) allChildren.item(i)).getDur();
        if (instant < 0) {
            nodes.add(allChildren.item(i));
            return new NodeListImpl(nodes);
        }
    }
    return new NodeListImpl(nodes);
}
项目:qksms    文件:ElementSequentialTimeContainerImpl.java   
public float getDur() {
    float dur = super.getDur();
    if (dur == 0) {
        NodeList children = getTimeChildren();
        for (int i = 0; i < children.getLength(); ++i) {
            ElementTime child = (ElementTime) children.item(i);
            if (child.getDur() < 0) {
                // Return "indefinite" since containing a child whose duration is indefinite.
                return -1.0F;
            }
            dur += child.getDur();
        }
    }
    return dur;
}
项目:qksms    文件:SlideModel.java   
public void handleEvent(Event evt) {
    if (evt.getType().equals(SmilParElementImpl.SMIL_SLIDE_START_EVENT)) {
        if (LOCAL_LOGV) {
            Log.v(TAG, "Start to play slide: " + this);
        }
        mVisible = true;
    } else if (mFill != ElementTime.FILL_FREEZE) {
        if (LOCAL_LOGV) {
            Log.v(TAG, "Stop playing slide: " + this);
        }
        mVisible = false;
    }

    notifyModelChanged(false);
}
项目:qksms    文件:TextModel.java   
public void handleEvent(Event evt) {
    if (evt.getType().equals(SmilMediaElementImpl.SMIL_MEDIA_START_EVENT)) {
        mVisible = true;
    } else if (mFill != ElementTime.FILL_FREEZE) {
        mVisible = false;
    }

    notifyModelChanged(false);
}
项目:qksms    文件:ImageModel.java   
@Override
public void handleEvent(Event evt) {
    if (evt.getType().equals(SmilMediaElementImpl.SMIL_MEDIA_START_EVENT)) {
        mVisible = true;
    } else if (mFill != ElementTime.FILL_FREEZE) {
        mVisible = false;
    }

    notifyModelChanged(false);
}
项目:qksms    文件:VideoModel.java   
public void handleEvent(Event evt) {
    String evtType = evt.getType();
    if (LOCAL_LOGV || Log.isLoggable(LogTag.APP, Log.VERBOSE)) {
        Log.v(TAG, "[VideoModel] handleEvent " + evt.getType() + " on " + this);
    }

    MediaAction action = MediaAction.NO_ACTIVE_ACTION;
    if (evtType.equals(SmilMediaElementImpl.SMIL_MEDIA_START_EVENT)) {
        action = MediaAction.START;

        // if the Music player app is playing audio, we should pause that so it won't
        // interfere with us playing video here.
        pauseMusicPlayer();

        mVisible = true;
    } else if (evtType.equals(SmilMediaElementImpl.SMIL_MEDIA_END_EVENT)) {
        action = MediaAction.STOP;
        if (mFill != ElementTime.FILL_FREEZE) {
            mVisible = false;
        }
    } else if (evtType.equals(SmilMediaElementImpl.SMIL_MEDIA_PAUSE_EVENT)) {
        action = MediaAction.PAUSE;
        mVisible = true;
    } else if (evtType.equals(SmilMediaElementImpl.SMIL_MEDIA_SEEK_EVENT)) {
        action = MediaAction.SEEK;
        mSeekTo = ((EventImpl) evt).getSeekTo();
        mVisible = true;
    }

    appendAction(action);
    notifyModelChanged(false);
}
项目:TextSecureSMP    文件:ElementTimeImpl.java   
public short getFillDefault() {
    String fillDefault = mSmilElement.getAttribute(FILLDEFAULT_ATTRIBUTE_NAME);
    if (fillDefault.equalsIgnoreCase(FILL_REMOVE_ATTRIBUTE)) {
        return FILL_REMOVE;
    } else if (fillDefault.equalsIgnoreCase(FILL_FREEZE_ATTRIBUTE)) {
        return FILL_FREEZE;
    } else if (fillDefault.equalsIgnoreCase(FILL_AUTO_ATTRIBUTE)) {
        return FILL_AUTO;
    } else if (fillDefault.equalsIgnoreCase(FILL_HOLD_ATTRIBUTE)) {
        // FIXME handle it as freeze for now
        return FILL_FREEZE;
    } else if (fillDefault.equalsIgnoreCase(FILL_TRANSITION_ATTRIBUTE)) {
        // FIXME handle it as freeze for now
        return FILL_FREEZE;
    } else {
        /*
         * fillDefault = inherit
         * Specifies that the value of this attribute (and of the fill behavior) are
         * inherited from the fillDefault value of the parent element.
         * This is the default value.
         */
        ElementTime parent = getParentElementTime();
        if (parent == null) {
            /*
             * fillDefault = auto
             * If there is no parent element, the value is "auto".
             */
            return FILL_AUTO;
        } else {
            return ((ElementTimeImpl) parent).getFillDefault();
        }
    }
}
项目:TextSecureSMP    文件:ElementSequentialTimeContainerImpl.java   
public NodeList getActiveChildrenAt(float instant) {
    NodeList allChildren = this.getTimeChildren();
    ArrayList<Node> nodes = new ArrayList<Node>();
    for (int i = 0; i < allChildren.getLength(); i++) {
        instant -= ((ElementTime) allChildren.item(i)).getDur();
        if (instant < 0) {
            nodes.add(allChildren.item(i));
            return new NodeListImpl(nodes);
        }
    }
    return new NodeListImpl(nodes);
}
项目:TextSecureSMP    文件:ElementSequentialTimeContainerImpl.java   
public float getDur() {
    float dur = super.getDur();
    if (dur == 0) {
        NodeList children = getTimeChildren();
        for (int i = 0; i < children.getLength(); ++i) {
            ElementTime child = (ElementTime) children.item(i);
            if (child.getDur() < 0) {
                // Return "indefinite" since containing a child whose duration is indefinite.
                return -1.0F;
            }
            dur += child.getDur();
        }
    }
    return dur;
}
项目:Silence    文件:ElementTimeImpl.java   
public short getFillDefault() {
    String fillDefault = mSmilElement.getAttribute(FILLDEFAULT_ATTRIBUTE_NAME);
    if (fillDefault.equalsIgnoreCase(FILL_REMOVE_ATTRIBUTE)) {
        return FILL_REMOVE;
    } else if (fillDefault.equalsIgnoreCase(FILL_FREEZE_ATTRIBUTE)) {
        return FILL_FREEZE;
    } else if (fillDefault.equalsIgnoreCase(FILL_AUTO_ATTRIBUTE)) {
        return FILL_AUTO;
    } else if (fillDefault.equalsIgnoreCase(FILL_HOLD_ATTRIBUTE)) {
        // FIXME handle it as freeze for now
        return FILL_FREEZE;
    } else if (fillDefault.equalsIgnoreCase(FILL_TRANSITION_ATTRIBUTE)) {
        // FIXME handle it as freeze for now
        return FILL_FREEZE;
    } else {
        /*
         * fillDefault = inherit
         * Specifies that the value of this attribute (and of the fill behavior) are
         * inherited from the fillDefault value of the parent element.
         * This is the default value.
         */
        ElementTime parent = getParentElementTime();
        if (parent == null) {
            /*
             * fillDefault = auto
             * If there is no parent element, the value is "auto".
             */
            return FILL_AUTO;
        } else {
            return ((ElementTimeImpl) parent).getFillDefault();
        }
    }
}
项目:Silence    文件:ElementSequentialTimeContainerImpl.java   
public NodeList getActiveChildrenAt(float instant) {
    NodeList allChildren = this.getTimeChildren();
    ArrayList<Node> nodes = new ArrayList<Node>();
    for (int i = 0; i < allChildren.getLength(); i++) {
        instant -= ((ElementTime) allChildren.item(i)).getDur();
        if (instant < 0) {
            nodes.add(allChildren.item(i));
            return new NodeListImpl(nodes);
        }
    }
    return new NodeListImpl(nodes);
}
项目:Silence    文件:ElementSequentialTimeContainerImpl.java   
public float getDur() {
    float dur = super.getDur();
    if (dur == 0) {
        NodeList children = getTimeChildren();
        for (int i = 0; i < children.getLength(); ++i) {
            ElementTime child = (ElementTime) children.item(i);
            if (child.getDur() < 0) {
                // Return "indefinite" since containing a child whose duration is indefinite.
                return -1.0F;
            }
            dur += child.getDur();
        }
    }
    return dur;
}
项目:Securecom-Messaging    文件:ElementTimeImpl.java   
public short getFillDefault() {
    String fillDefault = mSmilElement.getAttribute(FILLDEFAULT_ATTRIBUTE_NAME);
    if (fillDefault.equalsIgnoreCase(FILL_REMOVE_ATTRIBUTE)) {
        return FILL_REMOVE;
    } else if (fillDefault.equalsIgnoreCase(FILL_FREEZE_ATTRIBUTE)) {
        return FILL_FREEZE;
    } else if (fillDefault.equalsIgnoreCase(FILL_AUTO_ATTRIBUTE)) {
        return FILL_AUTO;
    } else if (fillDefault.equalsIgnoreCase(FILL_HOLD_ATTRIBUTE)) {
        // FIXME handle it as freeze for now
        return FILL_FREEZE;
    } else if (fillDefault.equalsIgnoreCase(FILL_TRANSITION_ATTRIBUTE)) {
        // FIXME handle it as freeze for now
        return FILL_FREEZE;
    } else {
        /*
         * fillDefault = inherit
         * Specifies that the value of this attribute (and of the fill behavior) are
         * inherited from the fillDefault value of the parent element.
         * This is the default value.
         */
        ElementTime parent = getParentElementTime();
        if (parent == null) {
            /*
             * fillDefault = auto
             * If there is no parent element, the value is "auto".
             */
            return FILL_AUTO;
        } else {
            return ((ElementTimeImpl) parent).getFillDefault();
        }
    }
}
项目:Securecom-Messaging    文件:ElementSequentialTimeContainerImpl.java   
public NodeList getActiveChildrenAt(float instant) {
    NodeList allChildren = this.getTimeChildren();
    ArrayList<Node> nodes = new ArrayList<Node>();
    for (int i = 0; i < allChildren.getLength(); i++) {
        instant -= ((ElementTime) allChildren.item(i)).getDur();
        if (instant < 0) {
            nodes.add(allChildren.item(i));
            return new NodeListImpl(nodes);
        }
    }
    return new NodeListImpl(nodes);
}
项目:Securecom-Messaging    文件:ElementSequentialTimeContainerImpl.java   
public float getDur() {
    float dur = super.getDur();
    if (dur == 0) {
        NodeList children = getTimeChildren();
        for (int i = 0; i < children.getLength(); ++i) {
            ElementTime child = (ElementTime) children.item(i);
            if (child.getDur() < 0) {
                // Return "indefinite" since containing a child whose duration is indefinite.
                return -1.0F;
            }
            dur += child.getDur();
        }
    }
    return dur;
}
项目:android-aosp-mms    文件:SlideModel.java   
public void handleEvent(Event evt) {
    if (evt.getType().equals(SmilParElementImpl.SMIL_SLIDE_START_EVENT)) {
        if (LOCAL_LOGV) {
            Log.v(TAG, "Start to play slide: " + this);
        }
        mVisible = true;
    } else if (mFill != ElementTime.FILL_FREEZE) {
        if (LOCAL_LOGV) {
            Log.v(TAG, "Stop playing slide: " + this);
        }
        mVisible = false;
    }

    notifyModelChanged(false);
}
项目:android-aosp-mms    文件:TextModel.java   
public void handleEvent(Event evt) {
    if (evt.getType().equals(SmilMediaElementImpl.SMIL_MEDIA_START_EVENT)) {
        mVisible = true;
    } else if (mFill != ElementTime.FILL_FREEZE) {
        mVisible = false;
    }

    notifyModelChanged(false);
}
项目:android-aosp-mms    文件:ImageModel.java   
@Override
public void handleEvent(Event evt) {
    if (evt.getType().equals(SmilMediaElementImpl.SMIL_MEDIA_START_EVENT)) {
        mVisible = true;
    } else if (mFill != ElementTime.FILL_FREEZE) {
        mVisible = false;
    }

    notifyModelChanged(false);
}
项目:android-aosp-mms    文件:VideoModel.java   
public void handleEvent(Event evt) {
    String evtType = evt.getType();
    if (LOCAL_LOGV || Log.isLoggable(LogTag.APP, Log.VERBOSE)) {
        Log.v(TAG, "[VideoModel] handleEvent " + evt.getType() + " on " + this);
    }

    MediaAction action = MediaAction.NO_ACTIVE_ACTION;
    if (evtType.equals(SmilMediaElementImpl.SMIL_MEDIA_START_EVENT)) {
        action = MediaAction.START;

        // if the Music player app is playing audio, we should pause that so it won't
        // interfere with us playing video here.
        pauseMusicPlayer();

        mVisible = true;
    } else if (evtType.equals(SmilMediaElementImpl.SMIL_MEDIA_END_EVENT)) {
        action = MediaAction.STOP;
        if (mFill != ElementTime.FILL_FREEZE) {
            mVisible = false;
        }
    } else if (evtType.equals(SmilMediaElementImpl.SMIL_MEDIA_PAUSE_EVENT)) {
        action = MediaAction.PAUSE;
        mVisible = true;
    } else if (evtType.equals(SmilMediaElementImpl.SMIL_MEDIA_SEEK_EVENT)) {
        action = MediaAction.SEEK;
        mSeekTo = ((EventImpl) evt).getSeekTo();
        mVisible = true;
    }

    appendAction(action);
    notifyModelChanged(false);
}