Exemplo n.º 1
0
DrmObject::AtomicReturn DrmPlane::atomicReqPlanePopulate(drmModeAtomicReq *req)
{
    bool ret = true;

    if (m_next) {
        setPropValue(int(PropertyIndex::FbId), m_next->bufferId());
    } else {
        setPropValue(int(PropertyIndex::FbId), 0);
        setPropValue(int(PropertyIndex::SrcX), 0);
        setPropValue(int(PropertyIndex::SrcY), 0);
        setPropValue(int(PropertyIndex::SrcW), 0);
        setPropValue(int(PropertyIndex::SrcH), 0);
        setPropValue(int(PropertyIndex::CrtcX), 0);
        setPropValue(int(PropertyIndex::CrtcY), 0);
        setPropValue(int(PropertyIndex::CrtcW), 0);
        setPropValue(int(PropertyIndex::CrtcH), 0);
    }

    m_propsPending = 0;

    for (int i = int(PropertyIndex::SrcX); i < int(PropertyIndex::CrtcId); i++) {
        ret &= atomicAddProperty(req, i, propValue(i));
    }
    ret &= atomicAddProperty(req, int(PropertyIndex::CrtcId), m_next ? propValue(int(PropertyIndex::CrtcId)) : 0);

    if (!ret) {
        qCWarning(KWIN_DRM) << "Failed to populate atomic plane" << m_id;
        return DrmObject::AtomicReturn::Error;
    }
    if (!m_propsPending) {
        return DrmObject::AtomicReturn::NoChange;
    }
    return DrmObject::AtomicReturn::Success;
}
JNIEXPORT void JNICALL
Java_org_apache_subversion_javahl_SVNRepos_setRevProp
(JNIEnv *env, jobject jthis, jobject jpath, jobject jrevision,
 jstring jpropName, jstring jpropValue, jboolean jusePreRevPropChangeHook,
 jboolean jusePostRevPropChangeHook)
{
  JNIEntry(SVNRepos, setRevProp);
  SVNRepos *cl = SVNRepos::getCppObject(jthis);
  if (cl == NULL)
    {
      JNIUtil::throwError(_("bad C++ this"));
      return;
    }

  File path(jpath);
  if (JNIUtil::isExceptionThrown())
    return;

  Revision revision(jrevision);
  if (JNIUtil::isExceptionThrown())
    return;

  JNIStringHolder propName(jpropName);
  if (JNIUtil::isExceptionThrown())
    return;

  JNIStringHolder propValue(jpropValue);
  if (JNIUtil::isExceptionThrown())
    return;

  cl->setRevProp(path, revision, propName, propValue,
                 jusePreRevPropChangeHook ? true : false,
                 jusePostRevPropChangeHook ? true : false);
}
Exemplo n.º 3
0
DrmPlane::TypeIndex DrmPlane::type()
{
    uint64_t value = propValue(int(PropertyIndex::Type));
    int typeCount = int(TypeIndex::Count);
    for (int i = 0; i < typeCount; i++) {
            if (m_props[int(PropertyIndex::Type)]->enumMap(i) == value) {
                    return TypeIndex(i);
            }
    }
    return TypeIndex::Overlay;
}