javauis/lcdui_akn/javalcdui/inc.nokialcdui/MMIDCanvasGraphicsItem.h
branchRCL_3
changeset 14 04becd199f91
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/javauis/lcdui_akn/javalcdui/inc.nokialcdui/MMIDCanvasGraphicsItem.h	Tue Apr 27 16:30:29 2010 +0300
@@ -0,0 +1,156 @@
+/*
+* Copyright (c) 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: Defines an interface for LCDUI Canvas Graphics Item component.
+*
+*/
+
+
+#ifndef MMIDCANVASGRAPHICSITEM_H
+#define MMIDCANVASGRAPHICSITEM_H
+
+// EXTERNAL INCLUDES
+#include    <e32std.h>
+#include    <lcdui.h>
+
+// FORWARD DECLARATIONS
+class MMIDCustomComponentContainer;
+
+// CLASS DESCRIPTION
+/**
+ * Interface for the Graphics item component.
+ *
+ * This interface can be used to interact as a custom UI component
+ * in LCDUI components that implement a container for custom
+ * components.
+ *
+ * The client can use this interface to access information about
+ * UI controls that the implementing class provides.
+ *
+ * @since S60 5.0
+ */
+class MMIDCanvasGraphicsItem : public MMIDComponent
+{
+public: // Type definitions
+
+public: // New methods
+    /**
+     * Returns the component type.
+     * @return  The component type as a MMIDComponent::TType enum.
+     */
+    virtual TType Type() const
+    {
+        return ECanvasGraphicsItem;
+    }
+
+    /**
+     * Sets the size of this canvas graphics item.
+     *
+     * @param aWidth
+     *          The width of the item in pixels.
+     * @param aHeight
+     *          The height of the item in pixels.
+     * @since S60 5.0
+     */
+    virtual void SetSizeL(const TInt aWidth, const TInt aHeight) = 0;
+
+    /**
+     * Sets the parent of this graphics item component. The parent must
+     * implement the custom component container interface in order to
+     * provide necessary services for registering custom UI components.
+     *
+     * The ownership of the parent is not transffered to this object.
+     *
+     * @param aComponentContainer The parent MIDP custom component
+     *        container.
+     * @since S60 5.0
+     */
+    virtual void SetParentL(
+        MMIDCustomComponentContainer* aComponentContainer) = 0;
+
+    /**
+     * Sets the direct container of this graphics item component.
+     *
+     * Note that the graphics item does not necessary need to have direct
+     * container. If the parent component is responsible for somekind of
+     * custom drawing using direct screena access, this method can be used
+     * to register the direct container.
+     *
+     * The graphics item adds itself to the direct container so that it
+     * is not able to draw on top of the graphics item when direct content
+     * is added to the screen.
+     *
+     * @param aDirectContainer The direct container of this compoennt if
+     *        any. <code>NULL</code> removes the current container.
+     * @since S60 5.0
+     */
+    virtual void SetDirectContainerL(
+        MDirectContainer* aDirectContainer) = 0;
+
+    /**
+     * Sets the elevation of this graphics item component.
+     *
+     * If the specified elevation exeeds to amount of items in the
+     * custom component container, the item becomes the topmost item
+     * in the custom component stack.
+     *
+     * Note that the elevation requsted may not be the actual elevation
+     * of the item (if, for example, the elevation is higher than the
+     * amount of all items). The actual elevation can be fetched using
+     * <code>Elevation()</code>.
+     *
+     * @param aElevation The new elevation (Z-position) of this item.
+     * @since S60 5.0
+     */
+    virtual void SetElevationL(TInt aElevation) = 0;
+
+    /**
+     * Returns the elevation of this graphics item component.
+     *
+     * @return The elevation of this graphics item component.
+     * @since S60 5.0
+     */
+    virtual TInt Elevation() = 0;
+
+    /**
+     * Sets this graphics item component visible if it is hidden.
+     *
+     * Depending on the current status of the graphics item, this operation
+     * is no-op if there is nothing to be done. (i.e. the graphics item is set
+     * hidden when it is already hidden).
+     *
+     * @param aVisible Indicates the visibility status of the graphics item.
+     * @since S60 5.0
+     */
+    virtual void SetVisibleL(TBool aVisible) = 0;
+
+    /**
+     * Sets the position of this graphics item component.
+     *
+     * @param aX The x coordinate of the anchor point.
+     * @param aY The y coordinate of the anchor point.
+     * @since S60 5.0
+     */
+    virtual void SetPosition(const TInt aX, const TInt aY) = 0;
+
+protected: // Destructor
+
+    /**
+     * Destructor. Disallows destruction through this interface
+     */
+    virtual ~MMIDCanvasGraphicsItem() {}
+};
+
+#endif // MMIDCANVASGRAPHICSITEM_H
+
+// End of file