Kigs Framework  Doc version 0.8
Open source multi purpose Rapid Application Development framework
Public Member Functions | Protected Member Functions | Friends | List of all members
Node2D Class Reference

#include <Node2D.h>

Inheritance diagram for Node2D:
CoreModifiable GenericRefCountedBaseClass Box2DBody UIItem PassiveColoredMask UI3DLinkedItem UIControlBoxForScrollViewUI UICursor UICustomDraw UICustomInputItem UIDrawableItem UIGroupButton UIVideo

Public Member Functions

virtual bool Draw (TravState *state)
 draw the node More...
 
virtual void TravDraw (TravState *state)
 draw the TravState More...
 
void NotifyUpdate (const unsigned int) override
 this method is called to notify this that one of its attribute has changed. More...
 
Node2DgetFather () const
 
bool addItem (const CMSP &item, ItemPosition pos=Last DECLARE_DEFAULT_LINK_NAME) override
 add item at first or last position
 
- Public Member Functions inherited from CoreModifiable
void Init ()
 Modifiable managmenent.
 
void EmptyItemList ()
 remove all items (sons)
 
CMSP GetInstanceByPath (const std::string &path)
 return the instance corresponding to the given path in sons tree
 
std::string GetRuntimeID () const
 ID.
 
CoreModifiableAttributegetAttribute (KigsID labelid) const
 Attribute management.
 
u32 getNbArrayElements (KigsID attributeLabel) const
 return element count for an array type attribute
 
template<typename attribute_type , typename value_type >
attribute_type * AddDynamicAttribute (KigsID ID, const value_type &value)
 Dynamic attribute management.
 
const kigs::unordered_map< KigsID, ModifiableMethodStruct > * GetMethods ()
 Method management.
 
bool aggregateWith (CMSP &item, ItemPosition pos=Last)
 Aggregate management.
 
void flagAsNotificationCenterRegistered ()
 Flags.
 
void InitParametersFromList (const std::vector< CoreModifiableAttribute * > *params)
 Utility. More...
 
virtual void UninitModifiable ()
 called when InitModifiable has failled : reset read/write flag on all init params More...
 
virtual void ProtectedDestroy ()
 Destroy method decrement refcounter and delete instance if no more used. More...
 
virtual void addUser (CoreModifiable *user)
 add the given parent to list
 
virtual void removeUser (CoreModifiable *user)
 remove user (parent)
 
virtual bool removeItem (const CMSP &item)
 remove item (son)
 

Protected Member Functions

void InitModifiable () override
 initialize modifiable
 
- Protected Member Functions inherited from CoreModifiable
void UpdateAggregates (const Timer &timer, void *addParam)
 Internals.
 
void Export (std::vector< CoreModifiable * > &savedList, XMLNode *currentNode, bool recursive, ExportSettings *settings)
 Export. More...
 
CoreModifiableAttributeGenericCreateDynamicAttribute (CoreModifiable::ATTRIBUTE_TYPE type, KigsID ID)
 create and add dynamic attribute except arrays
 

Friends

class ModuleSceneGraph
 

Additional Inherited Members

- Static Public Member Functions inherited from CoreModifiable
static std::vector< CMSP > GetRootInstances (const KigsID &cid, bool exactTypeOnly=false)
 static method : return the set of all root instances of the given type
 
static void Append (std::string &XMLString, const std::list< CoreModifiable * > &toexport, bool recursive, ExportSettings *settings=nullptr)
 static method to export the several CoreModifiable to an XML file. if recursive flag is set to true, export also all sons tree More...
 
static void Export (const std::string &filename, CoreModifiable *toexport, bool recursive=false, ExportSettings *settings=nullptr)
 static method to export the given CoreModifiable to an XML file. if recursive flag is set to true, export also all sons tree More...
 
static XMLNodeExportToXMLNode (CoreModifiable *toexport, XML *owner_xml_file, bool recursive, ExportSettings *settings=nullptr)
 static method to export the given CoreModifiable to an XML Node. if recursive flag is set to true, export also all sons tree More...
 
static std::string ExportToXMLString (CoreModifiable *toexport, bool recursive, ExportSettings *settings=nullptr)
 static method to export the given CoreModifiable to an XML file. if recursive flag is set to true, export also all sons tree More...
 
static void Export (std::string &XMLString, const std::list< CoreModifiable * > &toexport, bool recursive, ExportSettings *settings=nullptr)
 static method to export the several CoreModifiable to an XML file. if recursive flag is set to true, export also all sons tree More...
 
static CMSP Import (const std::string &filename, bool noInit=false, bool keepImportFileName=false, ImportState *state=nullptr, const std::string &override_name="")
 return an new CoreModifiable instance using the description found in XML file given by name
 
static CMSP GetInstanceByGlobalPath (const std::string &path)
 static method : return the instance corresponding to the given path, and given search start
 
static void debugPrintfFullTree (int maxindent=3)
 Editor. More...
 
- Static Protected Member Functions inherited from CoreModifiable
template<typename StringType >
static CMSP Import (XMLNodeTemplate< StringType > *currentNode, CoreModifiable *currentModifiable, ImportState &importState)
 recusrive method to add sons and attributes found in the XML file
 

Detailed Description

A Node2D is the base class for all objects to be added to a 2DLayer.

2 A matrix is associated with each node to give the transformation applied to the node when drawing.

Attributes

Key : Anchor

Key : ClipSons

Key : CustomShader

Key : Dock

Key : Position

Key : PostScaleX

Key : PostScaleY

Key : PreScaleX

Key : PreScaleY

Key : Priority

Key : RotationAngle

Key : SizeModeX

Key : SizeModeY

Key : SizeX

Key : SizeY

Methods

Key : GetSize

Member Function Documentation

◆ Draw()

bool Node2D::Draw ( TravState state)
virtual

draw the node

Parameters
state: the current TravState
Returns
TRUE if this node is visible or we are in a "all visible" branch of the scenegraph

Reimplemented in UIItem, and UIScrollView.

◆ getFather()

Node2D * Node2D::getFather ( ) const

Node2D has only one Node2D father, so search in CoreModifiable parents, and found it

◆ NotifyUpdate()

void Node2D::NotifyUpdate ( const unsigned int  labelid)
override

this method is called to notify this that one of its attribute has changed.

Parameters
int: not used

◆ TravDraw()

void Node2D::TravDraw ( TravState state)
virtual

draw the TravState

Parameters
state: the current TravState

if this node was flagged as not visible, do nothing (return)


The documentation for this class was generated from the following files: