os/graphics/graphicscomposition/openwfcompositionengine/composition/include/wfcpipeline.h
changeset 0 bde4ae8d615e
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/os/graphics/graphicscomposition/openwfcompositionengine/composition/include/wfcpipeline.h	Fri Jun 15 03:10:57 2012 +0200
     1.3 @@ -0,0 +1,153 @@
     1.4 +/* Copyright (c) 2009 The Khronos Group Inc.
     1.5 + * Portions copyright (c) 2009-2010  Nokia Corporation and/or its subsidiary(-ies)
     1.6 + *
     1.7 + * Permission is hereby granted, free of charge, to any person obtaining a
     1.8 + * copy of this software and/or associated documentation files (the
     1.9 + * "Materials"), to deal in the Materials without restriction, including
    1.10 + * without limitation the rights to use, copy, modify, merge, publish,
    1.11 + * distribute, sublicense, and/or sell copies of the Materials, and to
    1.12 + * permit persons to whom the Materials are furnished to do so, subject to
    1.13 + * the following conditions:
    1.14 + *
    1.15 + * The above copyright notice and this permission notice shall be included
    1.16 + * in all copies or substantial portions of the Materials.
    1.17 + *
    1.18 + * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
    1.19 + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
    1.20 + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
    1.21 + * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
    1.22 + * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
    1.23 + * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
    1.24 + * MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
    1.25 + */
    1.26 +
    1.27 +/*! \ingroup wfc
    1.28 + *  \file wfcpipeline.h
    1.29 + *
    1.30 + *  \brief Composition pipeline interface
    1.31 + */
    1.32 +#ifndef WFCPIPELINE_H_
    1.33 +#define WFCPIPELINE_H_
    1.34 +
    1.35 +#include <string.h>
    1.36 +#include <stdlib.h>
    1.37 +#include <math.h>
    1.38 +
    1.39 +#include "WF/wfc.h"
    1.40 +#include "wfccontext.h"
    1.41 +#include "wfcelement.h"
    1.42 +#include "wfcimageprovider.h"
    1.43 +#include "wfcstructs.h"
    1.44 +#include "wfcscene.h"
    1.45 +
    1.46 +#include "owfobject.h"
    1.47 +
    1.48 +#include "owfnativestream.h"
    1.49 +#include "owfmemory.h"
    1.50 +#include "owfimage.h"
    1.51 +#include "owfdebug.h"
    1.52 +
    1.53 +#ifdef __cplusplus
    1.54 +extern "C"
    1.55 +{
    1.56 +#endif
    1.57 +
    1.58 +/*------------------------------------------------------------------------ *//*!
    1.59 + *  \brief Composition pipeline preparation
    1.60 + *
    1.61 + *  \param context          Context
    1.62 + *  \param element          Element
    1.63 + *
    1.64 + *  \return Boolean value indicating whether preparation succeeded
    1.65 + *//*-------------------------------------------------------------------------*/
    1.66 +OWF_API_CALL WFC_ELEMENT_STATE* 
    1.67 +WFC_Pipeline_BeginComposition(WFC_CONTEXT* context, WFC_ELEMENT* element);
    1.68 +
    1.69 +
    1.70 +/*------------------------------------------------------------------------ *//*!
    1.71 + *  Composition pipeline cleanup
    1.72 + *
    1.73 + *  \param context          Context
    1.74 + *  \param element          Element
    1.75 + *//*-------------------------------------------------------------------------*/
    1.76 +OWF_API_CALL void
    1.77 +WFC_Pipeline_EndComposition(WFC_CONTEXT* context, WFC_ELEMENT* element,WFC_ELEMENT_STATE* elementState);
    1.78 +
    1.79 +/*------------------------------------------------------------------------ *//*!
    1.80 + *  \brief Source conversion stage
    1.81 + *
    1.82 + *  \param context          Context
    1.83 + *  \param element          Element
    1.84 + *//*-------------------------------------------------------------------------*/
    1.85 +OWF_API_CALL void
    1.86 +WFC_Pipeline_ExecuteSourceConversionStage(WFC_CONTEXT* context,WFC_ELEMENT_STATE* elementState);
    1.87 +
    1.88 +/*------------------------------------------------------------------------ *//*!
    1.89 + *  \brief Crop stage
    1.90 + *
    1.91 + *  \param context          Context
    1.92 + *  \param element          Element
    1.93 + *//*-------------------------------------------------------------------------*/
    1.94 +OWF_API_CALL void
    1.95 +WFC_Pipeline_ExecuteCropStage(WFC_CONTEXT* context, WFC_ELEMENT_STATE* elementState);
    1.96 +
    1.97 +/*------------------------------------------------------------------------ *//*!
    1.98 + *  \brief Flip stage
    1.99 + *
   1.100 + *  \param context          Context
   1.101 + *  \param element          Element
   1.102 + *//*-------------------------------------------------------------------------*/
   1.103 +OWF_API_CALL void
   1.104 +WFC_Pipeline_ExecuteFlipStage(WFC_CONTEXT* context, WFC_ELEMENT_STATE* elementState);
   1.105 +
   1.106 +/*------------------------------------------------------------------------ *//*!
   1.107 + *  \brief Rotation stage
   1.108 + *
   1.109 + *  \param context          Context
   1.110 + *  \param element          Element
   1.111 + *//*-------------------------------------------------------------------------*/
   1.112 +OWF_API_CALL void
   1.113 +WFC_Pipeline_ExecuteRotationStage(WFC_CONTEXT* context, WFC_ELEMENT_STATE* elementState);
   1.114 +
   1.115 +/*------------------------------------------------------------------------ *//*!
   1.116 + *  \brief Scaling stage
   1.117 + *
   1.118 + *  \param context          Context
   1.119 + *  \param element          Element
   1.120 + *//*-------------------------------------------------------------------------*/
   1.121 +OWF_API_CALL void
   1.122 +WFC_Pipeline_ExecuteScalingStage(WFC_CONTEXT* context, WFC_ELEMENT_STATE* elementState);
   1.123 +
   1.124 +/*------------------------------------------------------------------------ *//*!
   1.125 + *  \brief Blending stage
   1.126 + *
   1.127 + *  \param context          Context
   1.128 + *  \param element          Element
   1.129 + *//*-------------------------------------------------------------------------*/
   1.130 +OWF_API_CALL void
   1.131 +WFC_Pipeline_ExecuteBlendingStage(WFC_CONTEXT* context, WFC_ELEMENT_STATE* elementState);
   1.132 +
   1.133 +/*------------------------------------------------------------------------ *//*!
   1.134 + *  \brief Composition pipeline preparation per context creation
   1.135 + *
   1.136 + *  \param context          Context
   1.137 + *
   1.138 + *  \return Boolean value indicating whether preparation succeeded
   1.139 + *//*-------------------------------------------------------------------------*/
   1.140 +OWF_API_CALL OWFboolean WFC_Pipeline_CreateState(WFC_CONTEXT* context);
   1.141 +
   1.142 +/*------------------------------------------------------------------------ *//*!
   1.143 + *  \brief Composition pipeline pull-dowwn per context
   1.144 + *
   1.145 + *  \param context          Context
   1.146 + *
   1.147 + *  \return Boolean value indicating whether preparation succeeded
   1.148 + *//*-------------------------------------------------------------------------*/
   1.149 +OWF_API_CALL void WFC_Pipeline_DestroyState(WFC_CONTEXT* context);
   1.150 +
   1.151 +
   1.152 +
   1.153 +#ifdef __cplusplus
   1.154 +}
   1.155 +#endif
   1.156 +#endif /* WFCPIPELINE_H_ */