CXnExtRenderingPluginAdapter Class Reference

class CXnExtRenderingPluginAdapter : public CCoeControl

Base class for the external rendering plug-ins. Widget developer can implement own rendering plug-in if stock plug-ins do not provide sufficient functionality. Baddly written plug-in can ruin the Homescreen performance as it runs in the Homescreen process. Power save mode must be obeyed in order to maximize the standby times of the device.

  // External rendering plug-in mandatory functions
  T_RenderingPlugin* T_RenderingPlugin::NewL()
      {
      T_RenderingPlugin* self = T_RenderingPlugin::NewLC();
      CleanupStack::Pop( self );
      return self;
      }
  //
  T_RenderingPlugin* T_RenderingPlugin::NewLC()
      {
      T_RenderingPlugin* self = new( ELeave ) T_RenderingPlugin();
      CleanupStack::PushL( self );
      self->ConstructL();
      return self;
      }
  //
  T_RenderingPlugin::~T_RenderingPlugin()
      {
      }
 //
  T_RenderingPlugin::T_RenderingPlugin()
      {
      // Do nothing
      }
  //
  void T_RenderingPlugin::ConstructL()
      {
      }
  //
  const TImplementationProxy KImplementationTable[] =
     {
  #ifdef __EABI__
      IMPLEMENTATION_PROXY_ENTRY( 0x22334455, T_RenderingPlugin::NewL )
  #else
      { { 0x22334455 }, T_RenderingPlugin::NewL }
  #endif
     };
  //
  EXPORT_C const TImplementationProxy* ImplementationGroupProxy(
      TInt& aTableCount )
      {
      aTableCount = sizeof( KImplementationTable ) / sizeof( TImplementationProxy );
      return KImplementationTable;
      }
extrenderingplugin.lib
Since
S60 v5.2

Inherits from

Public Member Functions
~CXnExtRenderingPluginAdapter()
IMPORT_C voidEnterPowerSaveModeL()
IMPORT_C voidExitPowerSaveModeL()
IMPORT_C voidFocusChanged(TDrawNow)
IMPORT_C TUidImplUid()
IMPORT_C CXnExtRenderingPluginAdapter *NewL(TUid)
IMPORT_C voidSetDataL(const TDesC8 &, const TDesC &, TInt)
IMPORT_C voidSetEventHandler(MXnExtEventHandler *)
IMPORT_C voidSizeChanged()
IMPORT_C voidSkinChanged()
Inherited Functions
CBase::CBase()
CBase::Delete(CBase *)
CBase::Extension_(TUint,TAny *&,TAny *)
CBase::operator new(TUint)
CBase::operator new(TUint,TAny *)
CBase::operator new(TUint,TLeave)
CBase::operator new(TUint,TLeave,TUint)
CBase::operator new(TUint,TUint)
CBase::~CBase()
CCoeControl::AccumulatedZoom()const
CCoeControl::ActivateGc()const
CCoeControl::ActivateL()
CCoeControl::BackedUpWindow()const
CCoeControl::Background()const
CCoeControl::CCoeControl()
CCoeControl::CCoeControl(CCoeEnv *)
CCoeControl::CCoeControl(const CCoeControl &)
CCoeControl::CapturesPointer()const
CCoeControl::ClaimPointerGrab(TBool)
CCoeControl::ClaimPointerGrab(TInt,TBool)
CCoeControl::CloseWindow()
CCoeControl::ComponentArrayExists()const
CCoeControl::ComponentControl(TInt)const
CCoeControl::Components()
CCoeControl::Components()const
CCoeControl::ConstructFromResourceL(TResourceReader &)
CCoeControl::ControlContext()const
CCoeControl::ControlEnv()const
CCoeControl::CopyControlContextFrom(const CCoeControl *)
CCoeControl::CountComponentControls()const
CCoeControl::CreateBackedUpWindowL(RWindowTreeNode &)
CCoeControl::CreateBackedUpWindowL(RWindowTreeNode &,TDisplayMode)
CCoeControl::CreateWindowL()
CCoeControl::CreateWindowL(RWindowGroup *)
CCoeControl::CreateWindowL(RWindowTreeNode &)
CCoeControl::CreateWindowL(const CCoeControl *)
CCoeControl::CustomGc()const
CCoeControl::DeactivateGc()const
CCoeControl::DrawBackground(const TRect &)const
CCoeControl::DrawDeferred()const
CCoeControl::DrawForeground(const TRect &)const
CCoeControl::DrawNow()const
CCoeControl::DrawNow(const TRect &)const
CCoeControl::DrawableWindow()const
CCoeControl::EnableDragEvents()
CCoeControl::EnableReportControlStateChange(TBool)
CCoeControl::EnableWindowTransparency()
CCoeControl::FindBackground()const
CCoeControl::FindFontProvider()const
CCoeControl::GetColor(TInt,TRgb &)const
CCoeControl::GetColorUseListL(CArrayFix< TCoeColorUse > &)const
CCoeControl::GetGc()const
CCoeControl::GetHelpContext(TCoeHelpContext &)const
CCoeControl::GrabbingComponent()const
CCoeControl::GrabbingComponent(TInt)const
CCoeControl::HandleComponentControlsResourceChange(TInt)
CCoeControl::HandleControlArrayEventL(CCoeControlArray::TEvent,const CCoeControlArray *,CCoeControl *,TInt)
CCoeControl::HandlePointerBufferReadyL()
CCoeControl::HandlePointerEventL(const TPointerEvent &)
CCoeControl::HandleRedrawEvent(const TRect &)const
CCoeControl::HandleResourceChange(TInt)
CCoeControl::HasBorder()const
CCoeControl::HitTest()const
CCoeControl::IgnoreEventsUntilNextPointerUp()
CCoeControl::Index(const CCoeControl *)const
CCoeControl::InitComponentArrayL()
CCoeControl::InputCapabilities()const
CCoeControl::IsActivated()const
CCoeControl::IsBackedUp()const
CCoeControl::IsBeingDestroyed()const
CCoeControl::IsBlank()const
CCoeControl::IsDimmed()const
CCoeControl::IsFocused()const
CCoeControl::IsNonFocusing()const
CCoeControl::IsReadyToDraw()const
CCoeControl::IsVisible()const
CCoeControl::LayoutManager()const
CCoeControl::MakeVisible(TBool)
CCoeControl::MaximumWidth()const
CCoeControl::MinimumSize()
CCoeControl::MopSupplyObject(TTypeUid)
CCoeControl::NotifyFontChange(const CCoeFontProvider *)
CCoeControl::Observer()const
CCoeControl::OfferKeyEventL(const TKeyEvent &,TEventCode)
CCoeControl::OverrideColorL(TInt,TRgb)
CCoeControl::OwnsWindow()const
CCoeControl::Parent()
CCoeControl::Parent()const
CCoeControl::Position()const
CCoeControl::PositionChanged()
CCoeControl::PositionRelativeToScreen()const
CCoeControl::PrepareForFocusGainL()
CCoeControl::PrepareForFocusLossL()
CCoeControl::ProcessPointerBufferReadyL()
CCoeControl::ProcessPointerEventL(const TPointerEvent &)
CCoeControl::Rect()const
CCoeControl::RecursivelyMergeInputCapabilities(TCoeInputCapabilities &)const
CCoeControl::RecursivelyMergedInputCapabilities()const
CCoeControl::RefetchPixelMappingL()
CCoeControl::RemoveFromParent()
CCoeControl::ReportEventL(MCoeControlObserver::TCoeEvent)
CCoeControl::RequestRelayout(const CCoeControl *)
CCoeControl::ResetGc()const
CCoeControl::ScreenFont(const TCoeFont &)const
CCoeControl::SetAdjacent(TInt)
CCoeControl::SetAllowStrayPointers()
CCoeControl::SetBackground(const MCoeControlBackground *)
CCoeControl::SetBlank()
CCoeControl::SetCanDrawOutsideRect()
CCoeControl::SetComponentsToInheritVisibility(TBool)
CCoeControl::SetContainerWindowL(RBackedUpWindow &)
CCoeControl::SetContainerWindowL(RWindow &)
CCoeControl::SetContainerWindowL(const CCoeControl &)
CCoeControl::SetControlContext(MCoeControlContext *)
CCoeControl::SetCornerAndSize(TGulAlignment,const TSize &)
CCoeControl::SetCustomGc(CWindowGc *)
CCoeControl::SetDimmed(TBool)
CCoeControl::SetExtent(const TPoint &,const TSize &)
CCoeControl::SetExtentToWholeScreen()
CCoeControl::SetFocus(TBool,TDrawNow)
CCoeControl::SetFocusing(TBool)
CCoeControl::SetFontProviderL(const CCoeFontProvider &)
CCoeControl::SetGc(CWindowGc *)const
CCoeControl::SetGloballyCapturing(TBool)
CCoeControl::SetHitTest(const MCoeControlHitTest *)
CCoeControl::SetLayoutManagerL(MCoeLayoutManager *)
CCoeControl::SetMaximumWidth(TInt)
CCoeControl::SetMopParent(MObjectProvider *)
CCoeControl::SetNeighbor(CCoeControl *)
CCoeControl::SetNonFocusing()
CCoeControl::SetObserver(MCoeControlObserver *)
CCoeControl::SetParent(CCoeControl *)
CCoeControl::SetPointerCapture(TBool)
CCoeControl::SetPosition(const TPoint &)
CCoeControl::SetRect(const TRect &)
CCoeControl::SetSize(const TSize &)
CCoeControl::SetSizeWithoutNotification(const TSize &)
CCoeControl::SetTextBaselineSpacing(TInt)
CCoeControl::SetUniqueHandle(TInt)
CCoeControl::SetZoomFactorL(TInt,TZoomType)
CCoeControl::Size()const
CCoeControl::SystemGc()const
CCoeControl::TextBaselineOffset(const TSize &)const
CCoeControl::TextDrawer(TInt)const
CCoeControl::UniqueHandle()const
CCoeControl::Window()const
CCoeControl::WriteInternalStateL(RWriteStream &)const
CCoeControl::WriteInternalStateNowL(RWriteStream &)const
CCoeControl::ZoomWithType()const
CCoeControl::operator=(const CCoeControl &)
CCoeControl::~CCoeControl()
Inherited Enumerations
CCoeControl:TZoomType
Private Attributes
TUid iDestructKey
TUid iImplUid
Inherited Attributes
CCoeControl::iCoeEnv
CCoeControl::iContext
CCoeControl::iPosition
CCoeControl::iSize

Constructor & Destructor Documentation

~CXnExtRenderingPluginAdapter()

IMPORT_C~CXnExtRenderingPluginAdapter()[virtual]

Destructor.

Since
Series 60 5.2

Member Functions Documentation

EnterPowerSaveModeL()

IMPORT_C voidEnterPowerSaveModeL()[virtual]

Is called when Homescreen enters power save mode. In power save mode all the timers, outstanding requests and animations must be cancelled in order to save battery.

Since
Series 60 5.2

ExitPowerSaveModeL()

IMPORT_C voidExitPowerSaveModeL()[virtual]

Is called when Homescreen exists power save mode.

Since
Series 60 5.2

FocusChanged(TDrawNow)

IMPORT_C voidFocusChanged(TDrawNowaDrawNow)[virtual]

Informs that plug-in element has gained a focus and highlight must be drawn if appropriate.

Since
Series 60 5.2

Parameters

TDrawNow aDrawNowwhether plug-in should draw itself.

ImplUid()

IMPORT_C TUidImplUid()const

Returns the ECOM implementation uid.

Since
Series 60 5.2

NewL(TUid)

IMPORT_C CXnExtRenderingPluginAdapter *NewL(TUidaImplUid)[static]

Two-phased constructor.

Since
Series 60 5.2

Parameters

TUid aImplUid

SetDataL(const TDesC8 &, const TDesC &, TInt)

IMPORT_C voidSetDataL(const TDesC8 &aData,
const TDesC &aType,
TIntaIndex
)[virtual]

Routes the data stream for the external rendering plugin.

Since
Series 60 5.2

Parameters

const TDesC8 & aDataData stream.
const TDesC & aTypeType of the stream.
TInt aIndexIndex of the data.

SetEventHandler(MXnExtEventHandler *)

IMPORT_C voidSetEventHandler(MXnExtEventHandler *aEventHandler)[virtual]

Sets the external event handler interface.

Since
Series 60 5.2

Parameters

MXnExtEventHandler * aEventHandlerEvent handler interface.

SizeChanged()

IMPORT_C voidSizeChanged()[virtual]

Informs that plug-in element size has changed. Size can change if the plug-in element is declared relatively to parent element.

Since
Series 60 5.2

SkinChanged()

IMPORT_C voidSkinChanged()[virtual]

Informs skin change. If plug-in is responsible of loading skin graphics, all the graphics must be reloaded.

Since
Series 60 5.2

Member Data Documentation

TUid iDestructKey

TUid iDestructKey[private]

Destruct key

TUid iImplUid

TUid iImplUid[private]

Implementation UID