diff -r 6c158198356e -r ae942d28ec0e javauis/mmapi_qt/baseline/inc/mmmacontainer.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/javauis/mmapi_qt/baseline/inc/mmmacontainer.h Tue Aug 31 15:09:22 2010 +0300 @@ -0,0 +1,108 @@ +/* +* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + + +#ifndef MMMACONTAINER_H +#define MMMACONTAINER_H + +class MMMADirectContent; +class MUiEventConsumer; + +/** +A container on which content can be displayed. +Content can be drawn to container using direct screen access or frame buffer +mode. +*/ +class MMMAContainer +{ +public: + /** + Remove the content. This will called when the Player is closed. + */ + virtual void MdcRemoveContent() = 0; + + /** + Get the visiblity of the container. The content must not be displayed + when it's container is invisible. + If this changes MdcContainerVisibilityChanged should be called. + @returns "aVisible" ETrue if the container is visible, EFalse if it is invisible. + */ + virtual TBool MdcContainerVisibility() const = 0; + + /** + Repaint frame buffer to screen. + */ + virtual void MdcRepaint() const = 0; + + /** + Get the bounds of the area that the content can occupy. + The content should be clipped to this area. + @param aContentRect Maximum area the content can occupy in screen co-ordinates. + @param aParentRect Visible part of the parent in screen co-ordinates. + */ + virtual void MdcGetContentRect(TRect& aControlRect, + TRect& aParentRect) const = 0; + + /** + This method is called when content knows its preferred size. This method + will be called for example when video content obtains its size. Container + must inform new content rect using content's MdcContentBoundsChanged method. + @param aPreferredSize preferred size for the content. + */ + virtual void MdcInvalidate(const TSize& aPreferredSize) = 0; + + /** + Set the size of the render region for the video clip to be fullscreen. + After this call MESWTDirectContent must be informed about new draw area. + @param aFullScreen Indicates whether or not to render in full screen mode + */ + virtual void MdcSetDisplayFullScreen(TBool aFullScreen) = 0; + + /** + * Invokes callback aConsumer->MdcDSAResourcesCallback in UI thread. + * Used in case when MMAPI needs to start DSA within UI thread. + * + * @since S60 v5.0 + * @param "aConsumer" A consumer of callback + * @param "aIsInUiThread" Notifies that the method runs in UI thread + */ + virtual void MdcGetDSAResources( + MUiEventConsumer& aConsumer, + TBool aIsInUiThread) = 0; + + /** + * Invokes callback aConsumer->MdcUICallback in UI thread. + * Used in case when MMAPI needs to run some operation within UI thread. + * + * @since S60 v5.0 + * @param "aConsumer" A consumer of callback + * @param "aCallbackId" A number identifying the callback + */ + virtual void MdcGetUICallback( + MUiEventConsumer& aConsumer, + const TInt aCallbackId) = 0; + + /** + * Get the bounds of the content window. + * + * @returns The rect of the content window in screen co-ordinates. + */ + virtual TRect MdcContainerWindowRect() const = 0; +}; + + +#endif // MMMACONTAINER_H