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 void EnterPowerSaveModeL ()
IMPORT_C void ExitPowerSaveModeL ()
IMPORT_C void FocusChanged (TDrawNow)
IMPORT_C TUid ImplUid ()
IMPORT_C CXnExtRenderingPluginAdapter * NewL ( TUid )
IMPORT_C void SetDataL (const TDesC8 &, const TDesC &, TInt )
IMPORT_C void SetEventHandler (MXnExtEventHandler *)
IMPORT_C void SizeChanged ()
IMPORT_C void SkinChanged ()
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 void EnterPowerSaveModeL ( ) [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 void ExitPowerSaveModeL ( ) [virtual]

Is called when Homescreen exists power save mode.

Since
Series 60 5.2

FocusChanged(TDrawNow)

IMPORT_C void FocusChanged ( TDrawNow aDrawNow ) [virtual]

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

Since
Series 60 5.2

Parameters

TDrawNow aDrawNow whether plug-in should draw itself.

ImplUid()

IMPORT_C TUid ImplUid ( ) const

Returns the ECOM implementation uid.

Since
Series 60 5.2

NewL(TUid)

IMPORT_C CXnExtRenderingPluginAdapter * NewL ( TUid aImplUid ) [static]

Two-phased constructor.

Since
Series 60 5.2

Parameters

TUid aImplUid

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

IMPORT_C void SetDataL ( const TDesC8 & aData,
const TDesC & aType,
TInt aIndex
) [virtual]

Routes the data stream for the external rendering plugin.

Since
Series 60 5.2

Parameters

const TDesC8 & aData Data stream.
const TDesC & aType Type of the stream.
TInt aIndex Index of the data.

SetEventHandler(MXnExtEventHandler *)

IMPORT_C void SetEventHandler ( MXnExtEventHandler * aEventHandler ) [virtual]

Sets the external event handler interface.

Since
Series 60 5.2

Parameters

MXnExtEventHandler * aEventHandler Event handler interface.

SizeChanged()

IMPORT_C void SizeChanged ( ) [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 void SkinChanged ( ) [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