コード例 #1
0
TInt COpenWFC_RI_DisplayUpdater::SetAttribute(TInt aAttributeId, TAny* aAttribute, TInt aAttributeSize)
    {
    LOG((" +++ COpenWFC_RI_DisplayUpdater::SetAttribute(%d, 0x%X, %d)", aAttributeId, aAttribute, aAttributeSize));
    // the only parameter we can modify is the current rotation
    TInt parameterSize = GetAttributeSize(aAttributeId);

    if (aAttributeSize != parameterSize || aAttribute == NULL)
        {
        LOG((" !!! COpenWFC_RI_DisplayUpdater::SetAttribute() Invalid parameter"));
        return KErrArgument;
        }
    
    switch (aAttributeId)
        {
        case EScreenAttributeCurrentRotation:
            iNewRotation = static_cast<TScreenRotation>(*((TUint32*)aAttribute));
            LOG((" +++ COpenWFC_RI_DisplayUpdater::SetAttribute(CurrentRotation, %d)", (TInt)iNewRotation));
            break;
        default:
            LOG((" !!! COpenWFC_RI_DisplayUpdater::SetAttribute() Invalid attribute"));
            return KErrNotSupported;
        }
    LOG((" --- COpenWFC_RI_DisplayUpdater::SetAttribute()"));
    return KErrNone;
    }
コード例 #2
0
ファイル: Vertex.cpp プロジェクト: flaming0/libdf3d
VertexFormat::VertexFormat(std::initializer_list<VertexAttribute> attribs)
    : VertexFormat()
{
    uint16_t totalOffset = 0;
    for (auto attrib : attribs)
    {
        uint16_t attribSize = GetAttributeSize(attrib);
        uint16_t attribCompCount = GetAttributeCompCount(attrib);
        DF3D_ASSERT(attribCompCount >= 1 && attribCompCount <= 4);

        m_attribs[attrib] = (totalOffset << 8) | attribCompCount;

        m_size += attribSize;
        totalOffset = m_size;
        DF3D_ASSERT(totalOffset <= (2 << 8));
    }
}
コード例 #3
0
TInt COpenWFC_RI_DisplayUpdater::GetAttribute(TInt aAttributeId, TAny* aAttribute, TInt aAttributeSize)
    {
    LOG((" +++ COpenWFC_RI_DisplayUpdater::GetAttribute(%d, 0x%X, %d)", aAttributeId, aAttribute, aAttributeSize));
    TInt parameterSize = GetAttributeSize(aAttributeId);

    if (aAttribute == NULL)
        {
        LOG((" !!! COpenWFC_RI_DisplayUpdater::GetAttribute() aAttribute NULL ptr"));
        return KErrArgument;
        }
    
    if (parameterSize == 0)
        {
        LOG((" !!! COpenWFC_RI_DisplayUpdater::GetAttribute() Not Supported parameter aAttributeId"));
        return KErrNotSupported;
        }
    
    if (aAttributeSize != parameterSize)
        {
        LOG((" !!! COpenWFC_RI_DisplayUpdater::GetAttribute() aAttributeSize wrong size"));
        return KErrArgument;
        }
    
    switch (aAttributeId)
        {
        case EScreenAttributeImplementationVersion:
            *((TUint32*)aAttribute) = KImplementationVersion;
            break;
        case EScreenAttributePixelFormat:
            *((TUint32*)aAttribute) = iScreenInfo.iPixelFormat;
            break;
        case EScreenAttributeBytesPerPixel:
            *((TUint32*)aAttribute) = iScreenInfo.iBytesPerPixel;
            break;
        case EScreenAttributeSupportedRotation:
            *((TUint32*)aAttribute) = iScreenInfo.iSupportedRotations;
            break;
        case EScreenAttributeNormalWidth:
            *((TUint32*)aAttribute) = iScreenInfo.iNormalWidth;
            break;
        case EScreenAttributeNormalHeight:
            *((TUint32*)aAttribute) = iScreenInfo.iNormalHeight;
            break;
        case EScreenAttributeNormalStride:
            *((TUint32*)aAttribute) = iScreenInfo.iNormalStride;
            break;
        case EScreenAttributeFlippedWidth:
            *((TUint32*)aAttribute) = iScreenInfo.iFlippedWidth;
            break;
        case EScreenAttributeFlippedHeight:
            *((TUint32*)aAttribute) = iScreenInfo.iFlippedHeight;
            break;
        case EScreenAttributeFlippedStride:
            *((TUint32*)aAttribute) = iScreenInfo.iFlippedStride;
            break;
        case EScreenAttributeDefaultRotation:
            *((TUint32*)aAttribute) = iScreenInfo.iDefaultRotation;
            break;
        case EScreenAttributeCurrentRotation:
            *((TUint32*)aAttribute) = iScreenInfo.iCurrentRotation;
            break;
        case EScreenAttributeScreenGeometry:
            *((TScreenGeometryAttribute*)aAttribute) = iScreenInfo;
            break;
        default:
            LOG((" !!! COpenWFC_RI_DisplayUpdater::GetAttribute() attribute unrecognised"));
            return KErrNotSupported;
        }
    
    LOG((" --- COpenWFC_RI_DisplayUpdater::GetAttribute() = %d", *((TUint32*)aAttribute)));
    return KErrNone;
    }