Apply patch 6. Cleanup syborg specific variation by allowing the project file to build one specially for it. Fix include macros for test apps. Further tuning how the variant is build appears in later patches. Explicitly including platform_paths seems to make debugging easier for carbide. This might be removed if its bad practice or causes issues.
/* Copyright (c) 2009 The Khronos Group Inc.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and/or associated documentation files (the
* "Materials"), to deal in the Materials without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Materials, and to
* permit persons to whom the Materials are furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Materials.
*
* THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
* MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
*/
#ifndef _owfscreen_h
#define _owfscreen_h
/*
* owfscreen.h
*
* These functions connect composition/display to physical screen devices
*/
#include "owftypes.h"
#include "owfimage.h"
#include "owfextensions.h"
#ifdef __cplusplus
extern "C" {
#endif
#define OWF_INVALID_SCREEN_NUMBER (0)
/*
* On-screen context size and color format
* SEE: /graphics/graphicscomposition/graphicscompositionengine/openwfcmigraion/gceopenwfclayerimpl.h
* */
#define OWF_SURFACE_WIDTH (768) /* needs to be > 640 + 2 to allow S60 nHD config to work */
#define OWF_SURFACE_HEIGHT (768) /* needs to be > 640 + 2 to allow S60 nHD config to work */
#define OWF_SURFACE_PIXEL_FORMAT (OWF_IMAGE_XRGB8888)
#define OWF_SURFACE_LINEAR (OWF_FALSE)
#define OWF_SURFACE_ROWPADDING (4)
#define OWF_SURFACE_PREMULTIPLIED (OWF_FALSE)
typedef struct {
OWFint width;
OWFint height;
OWFint stride;
} OWF_ORIENTATION_INFO;
typedef struct {
OWFuint supportedRotations;
OWF_ROTATION initialRotation;
OWF_ROTATION currentRotation;
OWF_PIXEL_FORMAT pixelFormat;
OWF_ORIENTATION_INFO normal;
OWF_ORIENTATION_INFO flipped;
} OWF_SCREEN;
typedef void (*OWF_SCREEN_CALLBACK)(void* obj, OWFint screenNumber, char event);
/*!
* \brief Get systems's default screen
*
* \return The screen number of systems default screen
*/
OWF_API_CALL OWFint
OWF_Screen_GetDefaultNumber();
/*!
* \brief Get screen's dimensions
*
* \param screen screen number
* \param header returned screen attributes
*
* \return OWF_TRUE if screen exists
* \return OWF_FALSE if screen does not exist
*/
OWF_API_CALL OWFboolean
OWF_Screen_GetHeader(OWFint screen, OWF_SCREEN* header);
OWF_API_CALL OWFboolean
OWF_Number_Of_Screens(OWFint *pNumberOfScreens);
OWF_API_CALL OWFboolean
OWF_Screen_Valid(OWFint screen);
OWF_API_CALL OWFboolean
OWF_Screen_Valid_And_Available(OWFint screen);
/*!
* \brief Checks if the screen rotation support is enabled
*
* \param screen screen number
*
* \return OWF_TRUE if the screen rotation is enabled
* \return OWF_FALSE if the screen rotation is enabled
*/
OWF_API_CALL OWFboolean
OWF_Screen_Rotation_Supported(OWFint screen);
/*!
* \brief Create a new screen
*
* \param width
* \param height
*
* \return screen number
*/
OWF_API_CALL OWFint
OWF_Screen_Create(OWFint width, OWFint height, OWF_SCREEN_CALLBACK func, void* obj);
/*!
* \brief Destroy a screen
*
* \param screen number
*
* \return OWF_TRUE if screen exists
* \return OWF_FALSE if screen does not exist
*/
OWF_API_CALL void
OWF_Screen_Destroy(OWFint screenNumber);
/*!
* \brief Resize screen
*
* \param width
* \param height
*
* \return OWF_TRUE if resize OK
* \return OWF_FALSE if resize failed.
*/
OWF_API_CALL OWFboolean
OWF_Screen_Resize(OWFint screen, OWFint width, OWFint height);
/*!
* \brief Blit image to screen
*
* \param screen screen number
* \param rotation the context rotation
*
* \return OWF_TRUE if screen exists and blitting is OK
* \return OWF_FALSE if screen does not exist or blitting is not allowed.
*/
OWF_API_CALL OWFboolean
OWF_Screen_Blit(OWFint screen, void* buffer, OWF_ROTATION rotation);
/*!
* \brief Notify objects
*
* Send data to objects associated with screens
*
* \param data
*
*/
OWF_API_CALL void
OWF_Screen_Notify(void* data);
#ifdef __cplusplus
}
#endif
#endif