| class CAlfLineVisual : public CAlfVisual |
Line visual draws a line along a curve path.
A line visual will draw a bendy line that follows a specified curve path. Width and alpha functions can be set to change the opacity and thickness of the line along its length.
Note that the Bitgdi renderer contains only a minimal implementation of line drawing. There is no aliasing or shading on the line, and thickness and alpha functions have no effect. The entire thickness of a Bitgdi line is set by the initial thickness at point 0. Usage:
//Create curvepath, which can be used as a path for linevisual CAlfCurvePath* path = CAlfCurvePath::NewL( &iEnv ); path->AppendArcL( TPoint(120, 120), TSize(60, 60), 180, 180 + 270, 0.5 ); path->AppendLineL( TPoint(120, 180), TPoint(20, 180), 0.5 ); //Create linevisual CAlfLineVisual* line = CAlfLineVisual::AddNewL( control ); //set curvepath instance, with ownership transfered to visual line->SetPath( path, EAlfHasOwnership ); //Line opacity function. Line visuals can use a mapping function to determine the opacity //of the line along the path. //member variable : LinearMappingFunction linearFunc; linearFunc.SetFactor( 1 ); //setlinevisual alpha function line->SetAlphaFunction( &linearFunc ); //Similerly, line visuals can use a mapping function to determine the width of the //line along the path. linearFunc.SetFactor( 60 ); line->SetWidthFunction( &linearFunc ); *
| Public Member Functions | |
|---|---|
| CAlfLineVisual() | |
| ~CAlfLineVisual() | |
| IMPORT_C CAlfLineVisual * | AddNewL(CAlfControl &, CAlfLayout *) |
| IMPORT_C void | ConstructL(CAlfControl &) |
| IMPORT_C const TAlfTimedValue & | EndPos() |
| IMPORT_C CAlfVisual * | FindTag(const TDesC8 &) |
| IMPORT_C const TAlfImage & | Image() |
| IMPORT_C CAlfCurvePath * | Path() |
| IMPORT_C void | RemoveAndDestroyAllD() |
| IMPORT_C void | SetAlphaFunction(MAlfMappingFunction *) |
| IMPORT_C void | SetColor(const TRgb &) |
| IMPORT_C void | SetEndPos(const TAlfTimedValue &) |
| IMPORT_C void | SetImage(const TAlfImage &) |
| IMPORT_C void | SetPath(CAlfCurvePath *, TAlfOwnership) |
| IMPORT_C void | SetShadowThickness(const TAlfTimedValue &) |
| IMPORT_C void | SetStartPos(const TAlfTimedValue &) |
| IMPORT_C void | SetThickness(const TAlfTimedValue &) |
| IMPORT_C void | SetWidthFunction(MAlfMappingFunction *) |
| IMPORT_C const TAlfTimedValue & | ShadowThickness() |
| IMPORT_C const TAlfTimedValue & | StartPos() |
| IMPORT_C const TAlfTimedValue & | Thickness() |
| IMPORT_C void | UpdateChildrenLayout(TInt) |
| Protected Member Functions | |
|---|---|
| IMPORT_C void | DoRemoveAndDestroyAllD() |
| IMPORT_C void | PropertyOwnerExtension(const TUid &, TAny **) |
| Private Attributes | |
|---|---|
| TLineVisualPrivateData * | iLineVisualData |
| IMPORT_C CAlfLineVisual * | AddNewL | ( | CAlfControl & | aOwnerControl, |
| CAlfLayout * | aParentLayout = 0 | |||
| ) | [static] | |||
Constructor, which gives ownership to the control.
| CAlfControl & aOwnerControl | The control |
| CAlfLayout * aParentLayout = 0 | If given, the parent layout. |
| IMPORT_C void | ConstructL | ( | CAlfControl & | aOwner | ) | [virtual] |
Second-phase constructor.
| CAlfControl & aOwner |
| IMPORT_C void | DoRemoveAndDestroyAllD | ( | ) | [protected, virtual] |
From CAlfVisual CAlfVisual
| IMPORT_C CAlfVisual * | FindTag | ( | const TDesC8 & | aTag | ) | [virtual] |
Finds a visual whose tag descriptor contains a specific tag.
CAlfVisual::FindTag() is the basic implementation that checks if this visual's tag matches the specified tag. CAlfLayout::FindTag() extends the search into child visuals, covering recursively entire visual hierarchies.
Todo: how should several visuals with matching tag to be handled ??
CAlfVisual::Tag() CAlfVisual::SetTagL() CAlfVisual::IsTagged() CAlfLayout::FindTag()
| const TDesC8 & aTag | Tag to look for. If this tag is found as a part of a visual's colon-separated tag descriptor, it is treated as a match and the visual is returned. The tag to look for cannot contain separator characters (:). |
| IMPORT_C CAlfCurvePath * | Path | ( | ) |
Returns the path of the visual. The path can be modified via this reference.
| IMPORT_C void | PropertyOwnerExtension | ( | const TUid & | aExtensionUid, |
| TAny ** | aExtensionParams | |||
| ) | [protected, virtual] | |||
! future proofing
| IMPORT_C void | SetAlphaFunction | ( | MAlfMappingFunction * | aFunction | ) |
Sets the alpha mapping function that generates alpha values for the path.
| MAlfMappingFunction * aFunction |
| IMPORT_C void | SetColor | ( | const TRgb & | aColor | ) |
Sets the color of the line.
| const TRgb & aColor |
| IMPORT_C void | SetEndPos | ( | const TAlfTimedValue & | aEndPos | ) |
| const TAlfTimedValue & aEndPos |
| IMPORT_C void | SetImage | ( | const TAlfImage & | aImage | ) |
Sets the image used by the line.
| const TAlfImage & aImage |
| IMPORT_C void | SetPath | ( | CAlfCurvePath * | aPath, |
| TAlfOwnership | aOwnership | |||
| ) | ||||
Sets the path instance of the visual.
| CAlfCurvePath * aPath | |
| TAlfOwnership aOwnership |
| IMPORT_C void | SetShadowThickness | ( | const TAlfTimedValue & | aShadowThickness | ) |
| const TAlfTimedValue & aShadowThickness |
| IMPORT_C void | SetStartPos | ( | const TAlfTimedValue & | aStartPos | ) |
| const TAlfTimedValue & aStartPos |
| IMPORT_C void | SetThickness | ( | const TAlfTimedValue & | aThickness | ) |
| const TAlfTimedValue & aThickness |
| IMPORT_C void | SetWidthFunction | ( | MAlfMappingFunction * | aFunction | ) |
Sets the width mapping function that generates width values for the path.
| MAlfMappingFunction * aFunction |
| IMPORT_C const TAlfTimedValue & | ShadowThickness | ( | ) | const |
Thickness of the shadow around the line.
| IMPORT_C void | UpdateChildrenLayout | ( | TInt | aTransitionTime = 0 | ) | [virtual] |
Update the layout of all children. Subclasses can call this to recalculate the layout of all children.
| TInt aTransitionTime = 0 | Time for layout transition in milliseconds. Any negative value uses value given in CAlfEnv::StaticSetLayoutTransitionTime() |
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.