PlatformTouchPoint::PlatformTouchPoint(const BlackBerry::Platform::TouchPoint& point)
    : m_id(point.id())
    , m_screenPos(point.screenPosition())
    // FIXME: We should be calculating a new viewport position from the current scroll
    // position and the documentContentPosition, in case we scrolled since the platform
    // event was created.
    , m_pos(point.documentViewportPosition())
{
    switch (point.state()) {
    case BlackBerry::Platform::TouchPoint::TouchReleased:
        m_state = TouchReleased;
        break;
    case BlackBerry::Platform::TouchPoint::TouchMoved:
        m_state = TouchMoved;
        break;
    case BlackBerry::Platform::TouchPoint::TouchPressed:
        m_state = TouchPressed;
        break;
    case BlackBerry::Platform::TouchPoint::TouchStationary:
        m_state = TouchStationary;
        break;
    default:
        m_state = TouchStationary; // make sure m_state is initialized
        BLACKBERRY_ASSERT(false);
        break;
    }
}
Exemple #2
0
bool RSS10Parser::parseXmlDoc(xmlDocPtr doc)
{
    if (!doc)
        return false;

    xmlNode* node = xmlDocGetRootElement(doc);
    if (!node) {
        xmlFreeDoc(doc);
        return false;
    }

    for (; node; node = node->next) {
        String name(reinterpret_cast<const char*>(node->name));

        if (name == "RDF") {
            xmlNode* childnode = node->children;
            for (; childnode; childnode = childnode->next) {
                if (childnode->type == XML_ELEMENT_NODE) {
                    name = String(reinterpret_cast<const char*>(childnode->name));
                    name.makeLower();
                    if (name == "channel") {
                        BLACKBERRY_ASSERT(!m_root);
                        if (!m_root)
                            m_root = parseFeed(childnode->children);
                    } else if (name == "item") {
                        BLACKBERRY_ASSERT(m_root);
                        if (m_root) {
                            RSSItem* item = parseItem(childnode->children);
                            if (item)
                                m_root->m_items.append(item);
                        }
                    }
                }
            }
        }
    }

    xmlFreeDoc(doc);

    return m_root;
}
Exemple #3
0
RSSItem* RSS10Parser::parseItem(xmlNode* node)
{
    BLACKBERRY_ASSERT(node);

    RSSItem* item = new RSSItem();

    for (; node; node = node->next) {
        String name(reinterpret_cast<const char*>(node->name));
        name.makeLower();

        parseItemBaseAttribute(item, name, node);
    }

    return item;
}
Exemple #4
0
RSSFeed* RSS10Parser::parseFeed(xmlNode* node)
{
    BLACKBERRY_ASSERT(node);

    RSSFeed* feed = new RSSFeed();

    for (; node; node = node->next) {
        String name(reinterpret_cast<const char*>(node->name));
        name.makeLower();

        parseItemBaseAttribute(feed, name, node);
    }

    return feed;
}