MOpenWFC_RI_Display_Update Class Reference

#include <WF/openwfc_ri_display_update.h>

class MOpenWFC_RI_Display_Update

Abstract interface used by OPENWF-C SI in order to display the composed content.

Public Member Functions
pure virtual TInt CommitAttribute()
pure virtual TInt GetAttribute(TInt, TAny *, TInt)
pure virtual TInt SetAttribute(TInt, TAny *, TInt)
pure virtual TInt SetLayerSurface(TInt, SymbianStreamType, TInt *)
pure virtual TInt SetTopLayerSurface(SymbianStreamType, TInt *)
pure virtual TInt UpdateDisplay()

Member Function Documentation

CommitAttribute ( )

TInt CommitAttribute()[pure virtual]

Commits the display attribute.

Return Value
KErrNone or a system wide error

GetAttribute ( TInt, TAny *, TInt )

TInt GetAttribute(TIntaAttributeId,
TAny *aAttribute,
TIntaAttributeSize
)[pure virtual]

Retrieves one of the display attributes

Parameters
aAttributeIdThe attribute ID to be retrieved.
aAttributePointer to the attribute to be retrieved
aAttributeSizeSize in bytes of attribute to be retrieved
Return Value
KErrNone or a system wide error

SetAttribute ( TInt, TAny *, TInt )

TInt SetAttribute(TIntaAttributeId,
TAny *aAttribute,
TIntaAttributeSize
)[pure virtual]

Sets one of the display attributes

Parameters
aAttributeIdThe attribute ID to be retrieved.
aAttributePointer to the attribute to be retrieved
aAttributeSizeSize in bytes of attribute to be retrieved
Return Value
KErrNone or a system wide error

SetLayerSurface ( TInt, SymbianStreamType, TInt * )

TInt SetLayerSurface(TIntaLayer,
SymbianStreamTypeaStream,
TInt *aNonTrivialAttributes = NULL
)[pure virtual]

Associates a stream with a specific layer. Must have been called successfully before calling UpdateDisplay. Note that currently this method is called each composition, but it is only necessary to call it when the stream stack changes, when all layers should be re-specified in turn before the next UpdateDisplay call.

This method may fail if any attributes of the stream cannot be handled by the display device. The aNonTrivialAttributes is a zero-terminated list of attribute keys and values that do not match the trivial cases for direct composition, but that some devices may support, representing eg mirror, scale, rotation, offset, undersize or oversize cases, and could be used to represent multiple layers. The implementation of this method will fail if it does not recogise any of the keys or cannot accept the value associated with that key for direct display. All platforms should accept an empty or NULL list, but some may simply fail if the list is non-empty, so the caller should keep the list brief.

If the method fails, then the caller must compose the content into a simpler format, and call SetTopLayerSurface (or SetLayerSurface) again before calling UpdateDisplay.

Parameters
aLayerThe layer id. The layer number "0" is the topmost layer.
aStreamThe stream Id to be associated with the specified layer, or SYMBIAN_INVALID_HANDLE.
aNonTrivialAttributesAttribute integer pair list of any non-trivial attribute values.
Return Value
KErrNone or a system wide error

SetTopLayerSurface ( SymbianStreamType, TInt * )

TInt SetTopLayerSurface(SymbianStreamTypeaStream,
TInt *aNonTrivialAttributes = NULL
)[pure virtual]

Associates a stream with the topmost display layer (overlay). Must have been called successfully before calling UpdateDisplay. Also used to specify the composed output stream as the display layer. Note that currently this method is called each composition, but it is only necessary to call it when the top stream changes.

This method may fail if any attributes of the stream cannot be handled by the display device. The aNonTrivialAttributes is a zero-terminated list of attribute keys and values that do not match the trivial cases for direct composition, but that some devices may support, representing eg mirror, scale, rotation, offset, or oversize cases. The implementation of this method will stop processing the list and fail if it does not recogise any of the keys or cannot accept the value associated with that key for direct display. All platforms should accept an empty or NULL list, but some may simply fail if the list is non-empty, so the caller should keep the list brief.

If the method fails, then the caller must compose the content into a simpler format, and call SetTopLayerSurface again before calling UpdateDisplay. It is expected that there will be at least 1 pre-determined simpler format or stream handle that will always succeed.

Parameters
aStreamThe stream Id to be associated with the topmost layer
aNonTrivialAttributesAttribute integer pair list of any non-trivial attribute values.
Return Value
KErrNone or a system wide error

UpdateDisplay ( )

TInt UpdateDisplay()[pure virtual]

Update (flush/post) the screen

Return Value
KErrNone or a system wide error