os/graphics/graphicscomposition/openwfcompositionengine/composition/include/wfcpipeline.h
author sl
Tue, 10 Jun 2014 14:32:02 +0200
changeset 1 260cb5ec6c19
permissions -rw-r--r--
Update contrib.
     1 /* Copyright (c) 2009 The Khronos Group Inc.
     2  * Portions copyright (c) 2009-2010  Nokia Corporation and/or its subsidiary(-ies)
     3  *
     4  * Permission is hereby granted, free of charge, to any person obtaining a
     5  * copy of this software and/or associated documentation files (the
     6  * "Materials"), to deal in the Materials without restriction, including
     7  * without limitation the rights to use, copy, modify, merge, publish,
     8  * distribute, sublicense, and/or sell copies of the Materials, and to
     9  * permit persons to whom the Materials are furnished to do so, subject to
    10  * the following conditions:
    11  *
    12  * The above copyright notice and this permission notice shall be included
    13  * in all copies or substantial portions of the Materials.
    14  *
    15  * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
    16  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
    17  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
    18  * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
    19  * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
    20  * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
    21  * MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
    22  */
    23 
    24 /*! \ingroup wfc
    25  *  \file wfcpipeline.h
    26  *
    27  *  \brief Composition pipeline interface
    28  */
    29 #ifndef WFCPIPELINE_H_
    30 #define WFCPIPELINE_H_
    31 
    32 #include <string.h>
    33 #include <stdlib.h>
    34 #include <math.h>
    35 
    36 #include "WF/wfc.h"
    37 #include "wfccontext.h"
    38 #include "wfcelement.h"
    39 #include "wfcimageprovider.h"
    40 #include "wfcstructs.h"
    41 #include "wfcscene.h"
    42 
    43 #include "owfobject.h"
    44 
    45 #include "owfnativestream.h"
    46 #include "owfmemory.h"
    47 #include "owfimage.h"
    48 #include "owfdebug.h"
    49 
    50 #ifdef __cplusplus
    51 extern "C"
    52 {
    53 #endif
    54 
    55 /*------------------------------------------------------------------------ *//*!
    56  *  \brief Composition pipeline preparation
    57  *
    58  *  \param context          Context
    59  *  \param element          Element
    60  *
    61  *  \return Boolean value indicating whether preparation succeeded
    62  *//*-------------------------------------------------------------------------*/
    63 OWF_API_CALL WFC_ELEMENT_STATE* 
    64 WFC_Pipeline_BeginComposition(WFC_CONTEXT* context, WFC_ELEMENT* element);
    65 
    66 
    67 /*------------------------------------------------------------------------ *//*!
    68  *  Composition pipeline cleanup
    69  *
    70  *  \param context          Context
    71  *  \param element          Element
    72  *//*-------------------------------------------------------------------------*/
    73 OWF_API_CALL void
    74 WFC_Pipeline_EndComposition(WFC_CONTEXT* context, WFC_ELEMENT* element,WFC_ELEMENT_STATE* elementState);
    75 
    76 /*------------------------------------------------------------------------ *//*!
    77  *  \brief Source conversion stage
    78  *
    79  *  \param context          Context
    80  *  \param element          Element
    81  *//*-------------------------------------------------------------------------*/
    82 OWF_API_CALL void
    83 WFC_Pipeline_ExecuteSourceConversionStage(WFC_CONTEXT* context,WFC_ELEMENT_STATE* elementState);
    84 
    85 /*------------------------------------------------------------------------ *//*!
    86  *  \brief Crop stage
    87  *
    88  *  \param context          Context
    89  *  \param element          Element
    90  *//*-------------------------------------------------------------------------*/
    91 OWF_API_CALL void
    92 WFC_Pipeline_ExecuteCropStage(WFC_CONTEXT* context, WFC_ELEMENT_STATE* elementState);
    93 
    94 /*------------------------------------------------------------------------ *//*!
    95  *  \brief Flip stage
    96  *
    97  *  \param context          Context
    98  *  \param element          Element
    99  *//*-------------------------------------------------------------------------*/
   100 OWF_API_CALL void
   101 WFC_Pipeline_ExecuteFlipStage(WFC_CONTEXT* context, WFC_ELEMENT_STATE* elementState);
   102 
   103 /*------------------------------------------------------------------------ *//*!
   104  *  \brief Rotation stage
   105  *
   106  *  \param context          Context
   107  *  \param element          Element
   108  *//*-------------------------------------------------------------------------*/
   109 OWF_API_CALL void
   110 WFC_Pipeline_ExecuteRotationStage(WFC_CONTEXT* context, WFC_ELEMENT_STATE* elementState);
   111 
   112 /*------------------------------------------------------------------------ *//*!
   113  *  \brief Scaling stage
   114  *
   115  *  \param context          Context
   116  *  \param element          Element
   117  *//*-------------------------------------------------------------------------*/
   118 OWF_API_CALL void
   119 WFC_Pipeline_ExecuteScalingStage(WFC_CONTEXT* context, WFC_ELEMENT_STATE* elementState);
   120 
   121 /*------------------------------------------------------------------------ *//*!
   122  *  \brief Blending stage
   123  *
   124  *  \param context          Context
   125  *  \param element          Element
   126  *//*-------------------------------------------------------------------------*/
   127 OWF_API_CALL void
   128 WFC_Pipeline_ExecuteBlendingStage(WFC_CONTEXT* context, WFC_ELEMENT_STATE* elementState);
   129 
   130 /*------------------------------------------------------------------------ *//*!
   131  *  \brief Composition pipeline preparation per context creation
   132  *
   133  *  \param context          Context
   134  *
   135  *  \return Boolean value indicating whether preparation succeeded
   136  *//*-------------------------------------------------------------------------*/
   137 OWF_API_CALL OWFboolean WFC_Pipeline_CreateState(WFC_CONTEXT* context);
   138 
   139 /*------------------------------------------------------------------------ *//*!
   140  *  \brief Composition pipeline pull-dowwn per context
   141  *
   142  *  \param context          Context
   143  *
   144  *  \return Boolean value indicating whether preparation succeeded
   145  *//*-------------------------------------------------------------------------*/
   146 OWF_API_CALL void WFC_Pipeline_DestroyState(WFC_CONTEXT* context);
   147 
   148 
   149 
   150 #ifdef __cplusplus
   151 }
   152 #endif
   153 #endif /* WFCPIPELINE_H_ */