graphicscomposition/openwfcompositionengine/composition/include/wfcelement.h
changeset 0 5d03bc08d59c
child 152 9f1c3fea0f87
equal deleted inserted replaced
-1:000000000000 0:5d03bc08d59c
       
     1 /* Copyright (c) 2009 The Khronos Group Inc.
       
     2  *
       
     3  * Permission is hereby granted, free of charge, to any person obtaining a
       
     4  * copy of this software and/or associated documentation files (the
       
     5  * "Materials"), to deal in the Materials without restriction, including
       
     6  * without limitation the rights to use, copy, modify, merge, publish,
       
     7  * distribute, sublicense, and/or sell copies of the Materials, and to
       
     8  * permit persons to whom the Materials are furnished to do so, subject to
       
     9  * the following conditions:
       
    10  *
       
    11  * The above copyright notice and this permission notice shall be included
       
    12  * in all copies or substantial portions of the Materials.
       
    13  *
       
    14  * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
       
    15  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
       
    16  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
       
    17  * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
       
    18  * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
       
    19  * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
       
    20  * MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
       
    21  */
       
    22 /*! \ingroup wfc
       
    23  *  \file wfcelement.h
       
    24  *
       
    25  *  \brief Element handling interface
       
    26  */
       
    27 #ifndef WFCELEMENT_H_
       
    28 #define WFCELEMENT_H_
       
    29 
       
    30 #include "WF/wfc.h"
       
    31 #include "wfcstructs.h"
       
    32 
       
    33 #ifdef __cplusplus
       
    34 extern "C"
       
    35 {
       
    36 #endif
       
    37 
       
    38 /*!
       
    39  *  \brief Create new element into context
       
    40  *
       
    41  *  \param context Context into which to create the element
       
    42  *
       
    43  *  \return New element object or NULL
       
    44  */
       
    45 OWF_API_CALL WFC_ELEMENT*
       
    46 WFC_Element_Create(WFC_CONTEXT* context);
       
    47 
       
    48 OWF_API_CALL WFC_ELEMENT*
       
    49 WFC_Element_Clone(WFC_ELEMENT* element);
       
    50 
       
    51 OWF_API_CALL void
       
    52 WFC_Element_Destroy(WFC_ELEMENT* element);
       
    53 
       
    54 OWF_API_CALL WFCErrorCode
       
    55 WFC_Element_SetAttribiv(WFC_ELEMENT* element,
       
    56                         WFCElementAttrib attrib,
       
    57                         WFCint count,
       
    58                         const WFCint* values);
       
    59 
       
    60 OWF_API_CALL WFCErrorCode
       
    61 WFC_Element_SetAttribfv(WFC_ELEMENT* element,
       
    62                         WFCElementAttrib attrib,
       
    63                         WFCint count,
       
    64                         const WFCfloat* values);
       
    65 
       
    66 OWF_API_CALL WFCErrorCode
       
    67 WFC_Element_GetAttribiv(WFC_ELEMENT* element,
       
    68                         WFCElementAttrib attrib,
       
    69                         WFCint count,
       
    70                         WFCint* values);
       
    71 
       
    72 OWF_API_CALL WFCErrorCode
       
    73 WFC_Element_GetAttribfv(WFC_ELEMENT* element,
       
    74                         WFCElementAttrib attrib,
       
    75                         WFCint count,
       
    76                         WFCfloat* values);
       
    77 
       
    78 OWF_API_CALL WFCboolean
       
    79 WFC_Element_HasConflicts(WFC_ELEMENT* element);
       
    80 
       
    81 /** Returns False if attribute values "will not affect composition results" in API doc **/ 
       
    82 OWF_API_CALL WFCboolean
       
    83 WFC_Element_AffectsCompositionResults(WFC_ELEMENT* element);
       
    84 
       
    85 OWF_API_CALL void
       
    86 WFC_Element_Commit(WFC_ELEMENT* element);
       
    87 
       
    88 #ifdef __cplusplus
       
    89 }
       
    90 #endif
       
    91 
       
    92 #endif /*WFCELEMENT_H_*/