imageeditor/plugins/ClipartPlugin/src/ImageEditorClipartPlugin.cpp
changeset 1 edfc90759b9f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/imageeditor/plugins/ClipartPlugin/src/ImageEditorClipartPlugin.cpp	Fri Jan 29 13:53:17 2010 +0200
@@ -0,0 +1,169 @@
+/*
+* Copyright (c) 2010 Ixonos Plc.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the "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:
+* Ixonos Plc
+*
+* Description: 
+* Clipart plugin's plugin class.
+*
+*/
+
+
+#include "ImageEditorClipartPlugin.h"
+#include "ImageEditorClipartControl.h"
+#include "ImageEditorPluginBaseDefs.h"
+#include "DrawUtils.h"
+#include "SystemParameters.h"
+
+//	CONSTANTS
+_LIT (KPgnResourceFile, "clipart.rsc");
+
+//=============================================================================
+EXPORT_C CImageEditorPluginBase * CreateImageEditorPlugin ()
+{
+	CImageEditorClipartPlugin * plugin = new (ELeave) CImageEditorClipartPlugin;
+	CleanupStack::PushL(plugin);
+	plugin->ConstructL();
+	CleanupStack::Pop(); // plugin
+    return plugin;
+}
+
+//=============================================================================
+CImageEditorClipartPlugin::CImageEditorClipartPlugin ()
+{
+
+}
+
+//=============================================================================
+void CImageEditorClipartPlugin::ConstructL ()
+{
+    CImageEditorPluginBase::ConstructL (KPgnResourcePath, KPgnResourceFile);
+}
+
+//=============================================================================
+CImageEditorClipartPlugin::~CImageEditorClipartPlugin ()
+{
+    iSysPars = NULL;
+    ReleasePlugin();
+}
+
+//=============================================================================
+TInt CImageEditorClipartPlugin::SetProperty (
+	TInt		aPropertyId, 
+	TDesC &		aPropertyValue
+	)
+{
+
+    TLex	parser;
+
+	//	Copy data
+	switch (aPropertyId) 
+	{
+		case KCapSystemParameters:
+		{
+			parser.Assign (aPropertyValue);
+            TInt tempval = 0;
+            parser.Val (tempval);
+            iSysPars = (const CSystemParameters *)tempval;
+			return KErrNone;
+		}
+		default:
+		{
+			return CImageEditorPluginBase::SetProperty (aPropertyId, aPropertyValue);
+		}
+	}
+}
+
+//=============================================================================
+TInt CImageEditorClipartPlugin::GetProperty (
+	TInt		aPropertyId, 
+	TDes &		aPropertyValue
+	)
+{
+	//	Clean buffer
+	aPropertyValue.Zero();
+
+	//	Copy data
+	switch (aPropertyId) 
+	{
+		case KCapParamStruct:
+		{
+			// Control found
+			if (iControl)
+			{
+				aPropertyValue.Copy ( ((CImageEditorClipartControl *)iControl)->GetParam() );
+				return KErrNone;
+			}
+
+			//	Control not found, return KErrNotReady
+			else
+			{
+				return KErrNotReady;
+			}
+		}
+        case KCapReadyToRender:
+		{
+            TBool readyToRender = EFalse;
+			if ( iControl )
+			{
+				readyToRender =  ((CImageEditorClipartControl *)iControl)->IsReadyToRender();
+			}
+			aPropertyValue.AppendNum ((TInt)readyToRender);
+			return KErrNone;
+		}
+        case KCapIsSlowPlugin:
+		{
+			aPropertyValue.AppendNum ((TInt)ETrue);
+			return KErrNone;
+		}
+		default:
+		{
+			return CImageEditorPluginBase::GetProperty (aPropertyId, aPropertyValue);
+		}
+	}
+}
+
+//=============================================================================
+TInt CImageEditorClipartPlugin::InitPluginL (
+	const TRect &		aRect,
+	CCoeControl *		aParent,
+	CCoeControl *&		aPluginControl
+	)
+{
+    //  Delete previous control
+	ReleasePlugin();
+
+    //  Create the control
+    iControl = CImageEditorClipartControl::NewL (aRect, aParent);
+    aPluginControl = iControl;
+
+    //  Set system parameters
+    ((CImageEditorClipartControl*)iControl)->SetSystemParameters (iSysPars);
+
+    return KErrNone;
+}
+
+//=============================================================================
+void CImageEditorClipartPlugin::ProcessImageL (CEditorImage * /*aImage*/ )
+{
+
+}
+
+//=============================================================================
+void CImageEditorClipartPlugin::ReleasePlugin ()
+{
+	delete iControl;
+	iControl = 0;
+}
+
+
+// End of File