Quick links: Tutorial - Examples - Files - Symbols.
Classes: Hierarchy - Index - List - Members.
Namespaces: Index - base - cs - display.

Public Member Functions | Protected Member Functions | List of all members
cogitantdisplay::DrawHandler Class Reference

Classe offrant l'accés aux méthodes de dessin. More...

#include "cogitant/display/operation.h"

Inheritance diagram for cogitantdisplay::DrawHandler:
cogitantdisplay::OperationHandler

Public Member Functions

 DrawHandler ()
 Constructeur par défaut. More...
 
void addOperation (OperationDraw *ope)
 Ajout d'une opération aux opérations gérées. More...
 
void deleteOperation (OperationDraw *ope)
 Suppression d'une opération. More...
 
OperationDrawfindOperation (Context const &context, Drawing const &drawing, Drawing::Element const *el=NULL) const
 Accès à l'opération pouvant gérer l'élément. More...
 
iFigure draw (Context &context, Drawing const &drawing, Drawing::Element const *el=NULL, bool recurs=true, iFigure parent=IFIGURE_NULL) const
 Dessin. More...
 
iFigure draw (Context &context, Drawing const &drawing, Clipping const &cl, Drawing::Element const *el=NULL, iFigure parent=IFIGURE_NULL) const
 Dessin des seuls éléments ayant une intersection non vide avec un clipping donné. More...
 
void addClipping (Context const &context, Drawing const &drawing, Drawing::Element const &el, bool linked, Clipping &clipping) const
 Ajout au clipping. More...
 
bool inClipping (Context const &context, Drawing const &drawing, Drawing::Element const &el, Clipping const &clipping) const
 Intersection avec un clipping. More...
 
bool isUnder (Context const &context, Drawing const &drawing, Drawing::Element const &el, Point const &point) const
 L'élément contient-il le point ? More...
 
bool under (Context const &context, Drawing const &drawing, Drawing::Element &el, Point const &point) const
 Y a t'il un élément au point donné. More...
 
virtual Point pos (Context const &context, Drawing const &drawing, Drawing::Element const &el, bool absolute) const
 Accès aux coordonnées d'un objet. More...
 
virtual Point posClient (Context const &context, Drawing const &drawing, Drawing::Element const &el, bool absolute) const
 Accès aux coordonnées de l'origine de la zone client d'un objet. More...
 
virtual Rect rect (Context const &context, Drawing const &drawing, Drawing::Element const &el, bool absolute) const
 Accès au rectangle englobant un objet. More...
 
virtual Size size (Context const &context, Drawing const &drawing, Drawing::Element const &el) const
 Accès à la taille d'un objet. More...
 
virtual Size sizeClient (Context const &context, Drawing const &drawing, Drawing::Element const &el) const
 Accès à la taille de la zone client d'un objet. More...
 
virtual bool pos (Context const &context, Drawing const &drawing, Drawing::Element const &el, bool absolute, Point const &point, bool resizeparent, bool usegrid, Clipping *clipping=NULL) const
 Fixer les coordonnées de l'élément. More...
 
virtual bool size (Context const &context, Drawing const &drawing, Drawing::Element const &el, Size const &size, bool resizeparent, bool usegrid, Clipping *clipping=NULL) const
 Fixer la taille de l'élément. More...
 
virtual bool sizeClient (Context const &context, Drawing const &drawing, Drawing::Element const &el, Size const &size, bool resizeparent, bool usegrid, Clipping *clipping=NULL) const
 Fixer la taille de la zone client de l'élément. More...
 
virtual bool calcAutoSize (Context const &context, Drawing const &drawing, Drawing::Element const &el, bool resizeparent, bool usegrid, Clipping *cl=NULL) const
 Calculer et modifier la taille de l'élément pour qu'il contienne exactement sous ses fils. More...
 
bool posRToA (Point &p, Context const &c, Drawing const &d, Drawing::Element const &el) const
 Transforme des coordonnées relatives en coordonnées absolues. More...
 
bool posAToR (Point &p, Context const &c, Drawing const &d, Drawing::Element const &el) const
 Transforme des coordonnées absolues en coordonnées relatives. More...
 
- Public Member Functions inherited from cogitantdisplay::OperationHandler
 OperationHandler ()
 Constructeur par défaut. More...
 
virtual ~OperationHandler ()
 Destructeur. More...
 
std::vector< Operation * > const & operations () const
 Accès aux opérations. More...
 

Protected Member Functions

void clippingRToA (Clipping &cl, Context const &c, Drawing const &d, Drawing::Element const &el) const
 Transforme un clipping relatif en un clipping absolu. More...
 
void clippingAToR (Clipping &cl, Context const &c, Drawing const &d, Drawing::Element const &el) const
 Transforme un clipping absolu en un clipping relatif. More...
 
- Protected Member Functions inherited from cogitantdisplay::OperationHandler
Operationfind (Context const &context, Drawing const &drawing, Drawing::Element const *el=NULL) const
 Accès à l'opération pouvant gérer l'élément. More...
 
void deleteOp (Operation *op)
 Suppression d'une opération. More...
 

Additional Inherited Members

- Protected Attributes inherited from cogitantdisplay::OperationHandler
std::vector< Operation * > m_operations
 Les opérations gérées par l'OperationHandler. More...
 
- Static Protected Attributes inherited from cogitantdisplay::OperationHandler
static unsigned int s_nb
 Nombre handlers actuellement en mémoire.
 

Detailed Description

Classe offrant l'accés aux méthodes de dessin.

Constructor & Destructor Documentation

◆ DrawHandler()

cogitantdisplay::DrawHandler::DrawHandler ( )

Constructeur par défaut.

Member Function Documentation

◆ addClipping()

void cogitantdisplay::DrawHandler::addClipping ( Context const &  context,
Drawing const &  drawing,
Drawing::Element const &  el,
bool  linked,
Clipping clipping 
) const

Ajout au clipping.

Parameters
contextcontexte utilisé.
drawingdessin.
elélément à rajouter au clipping.
linkedsi true ajoute aussi les éléments liés.
clippingclipping exprimé en coordonnées absolues.

◆ addOperation()

void cogitantdisplay::DrawHandler::addOperation ( OperationDraw ope)

Ajout d'une opération aux opérations gérées.

Parameters
opeOpération à ajouter. Après l'ajout, cette opération ne doit plus être détruite.

◆ calcAutoSize()

virtual bool cogitantdisplay::DrawHandler::calcAutoSize ( Context const &  context,
Drawing const &  drawing,
Drawing::Element const &  el,
bool  resizeparent,
bool  usegrid,
Clipping cl = NULL 
) const
virtual

Calculer et modifier la taille de l'élément pour qu'il contienne exactement sous ses fils.

Parameters
contextcontexte utilisé.
drawingdessin.
elélément dont la taille doit être recalculée.
resizeparentsi true, redimensionne (récursivement) les parents de el afin qu'ils contiennent el modifié.
usegridsi true, utilise la grille du dessin afin que la nouvelle taille soit conforme à la largeur de la grille.
clsi non NULL ajoute au clipping une zone permettant de mettre à jout l'affichage pour montrer le changement de taille de l'élément.
Returns
true ssi la taille de l'objet a été modifiée.

◆ clippingAToR()

void cogitantdisplay::DrawHandler::clippingAToR ( Clipping cl,
Context const &  c,
Drawing const &  d,
Drawing::Element const &  el 
) const
protected

Transforme un clipping absolu en un clipping relatif.

See also
clippingRToA().

◆ clippingRToA()

void cogitantdisplay::DrawHandler::clippingRToA ( Clipping cl,
Context const &  c,
Drawing const &  d,
Drawing::Element const &  el 
) const
protected

Transforme un clipping relatif en un clipping absolu.

Parameters
clle clipping (exprimé en entrée en coordonnées relatives à l'origine de la zone client du parent de el).
ccontexte utilisé.
ddessin dont sont issus ce clipping.
elélément de dessin correspondant à cl. L'origine (absolue) du repère dans lequel les coordonnées de cl sont exprimées est donc le point origine de la zone client du parent de el. Ce sont les coordonnées de ce point qui sont utilisées pour transformer cl en clipping absolu.

◆ deleteOperation()

void cogitantdisplay::DrawHandler::deleteOperation ( OperationDraw ope)

Suppression d'une opération.

Parameters
opeOpération à supprimer. L'opération est supprimée de la liste des opérations gérées, puis elle est détruite.

◆ draw() [1/2]

iFigure cogitantdisplay::DrawHandler::draw ( Context context,
Drawing const &  drawing,
Drawing::Element const *  el = NULL,
bool  recurs = true,
iFigure  parent = IFIGURE_NULL 
) const

Dessin.

Parameters
contextcontexte utilisé.
drawingdessin.
elélément de dessin à afficher ou le dessin complet si NULL.
recurssi true, dessine aussi récursivement les fils de el.
parentidentificateur de la figure parent des figures créées pour le dessin de el.

◆ draw() [2/2]

iFigure cogitantdisplay::DrawHandler::draw ( Context context,
Drawing const &  drawing,
Clipping const &  cl,
Drawing::Element const *  el = NULL,
iFigure  parent = IFIGURE_NULL 
) const

Dessin des seuls éléments ayant une intersection non vide avec un clipping donné.

Parameters
contextcontexte utilisé.
drawingdessin.
clclipping.
elélément de dessin à afficher ou le dessin complet si NULL.
parentidentificateur de la figure parent des figures créées pour le dessin de el.

◆ findOperation()

OperationDraw* cogitantdisplay::DrawHandler::findOperation ( Context const &  context,
Drawing const &  drawing,
Drawing::Element const *  el = NULL 
) const

Accès à l'opération pouvant gérer l'élément.

Parameters
contextcontexte utilisé.
drawingdessin
elélément de dessin à gérer. Si NULL l'opération recherchée est celle qui permet de gérer le dessin dans son entier.

◆ inClipping()

bool cogitantdisplay::DrawHandler::inClipping ( Context const &  context,
Drawing const &  drawing,
Drawing::Element const &  el,
Clipping const &  clipping 
) const

Intersection avec un clipping.

Parameters
contextcontexte utilisé.
drawingdessin.
elélément recherché.
clippingclipping exprimé en coordonnées absolues.

◆ isUnder()

bool cogitantdisplay::DrawHandler::isUnder ( Context const &  context,
Drawing const &  drawing,
Drawing::Element const &  el,
Point const &  point 
) const

L'élément contient-il le point ?

Parameters
contextcontexte utilisé.
drawingdessin.
elélément interrogé.
pointpoint exprimé en coordonnées absolues.

◆ pos() [1/2]

virtual Point cogitantdisplay::DrawHandler::pos ( Context const &  context,
Drawing const &  drawing,
Drawing::Element const &  el,
bool  absolute 
) const
virtual

Accès aux coordonnées d'un objet.

Parameters
contextcontexte utilisé.
drawingdessin.
elélément interrogé.
absolutesi true retourne les coordonnées absolues, sinon retourne les coordonnées relatives à l'origine de la zone client du parent.

◆ pos() [2/2]

virtual bool cogitantdisplay::DrawHandler::pos ( Context const &  context,
Drawing const &  drawing,
Drawing::Element const &  el,
bool  absolute,
Point const &  point,
bool  resizeparent,
bool  usegrid,
Clipping clipping = NULL 
) const
virtual

Fixer les coordonnées de l'élément.

◆ posAToR()

bool cogitantdisplay::DrawHandler::posAToR ( Point p,
Context const &  c,
Drawing const &  d,
Drawing::Element const &  el 
) const

Transforme des coordonnées absolues en coordonnées relatives.

Les coordonnées relatives (dans p) sont exprimées relativement à l'origine de la zone client du parent de el. Attention: les coordonnées retournées peuvent être négatives dans le cas où l'origine de la zone client du parent de el est plus bas, plus à droite que le point p (coordonnées absolue).

◆ posClient()

virtual Point cogitantdisplay::DrawHandler::posClient ( Context const &  context,
Drawing const &  drawing,
Drawing::Element const &  el,
bool  absolute 
) const
virtual

Accès aux coordonnées de l'origine de la zone client d'un objet.

Parameters
contextcontexte utilisé.
drawingdessin.
elélément interrogé.
absolutesi true retourne les coordonnées absolues, sinon retourne les coordonnées relatives à l'origine de la zone client du parent.

◆ posRToA()

bool cogitantdisplay::DrawHandler::posRToA ( Point p,
Context const &  c,
Drawing const &  d,
Drawing::Element const &  el 
) const

Transforme des coordonnées relatives en coordonnées absolues.

Les coordonnées relatives (dans p) sont exprimées relativement à l'origine de la zone client du parent de el. En sortie, p contient les coordonnées absolues.

◆ rect()

virtual Rect cogitantdisplay::DrawHandler::rect ( Context const &  context,
Drawing const &  drawing,
Drawing::Element const &  el,
bool  absolute 
) const
virtual

Accès au rectangle englobant un objet.

Parameters
contextcontexte utilisé.
drawingdessin.
elélément interrogé.
absolutesi true retourne les coordonnées absolues, sinon retourne les coordonnées relatives à l'origine de la zone client du parent.

◆ size() [1/2]

virtual Size cogitantdisplay::DrawHandler::size ( Context const &  context,
Drawing const &  drawing,
Drawing::Element const &  el 
) const
virtual

Accès à la taille d'un objet.

◆ size() [2/2]

virtual bool cogitantdisplay::DrawHandler::size ( Context const &  context,
Drawing const &  drawing,
Drawing::Element const &  el,
Size const &  size,
bool  resizeparent,
bool  usegrid,
Clipping clipping = NULL 
) const
virtual

Fixer la taille de l'élément.

◆ sizeClient() [1/2]

virtual Size cogitantdisplay::DrawHandler::sizeClient ( Context const &  context,
Drawing const &  drawing,
Drawing::Element const &  el 
) const
virtual

Accès à la taille de la zone client d'un objet.

◆ sizeClient() [2/2]

virtual bool cogitantdisplay::DrawHandler::sizeClient ( Context const &  context,
Drawing const &  drawing,
Drawing::Element const &  el,
Size const &  size,
bool  resizeparent,
bool  usegrid,
Clipping clipping = NULL 
) const
virtual

Fixer la taille de la zone client de l'élément.

◆ under()

bool cogitantdisplay::DrawHandler::under ( Context const &  context,
Drawing const &  drawing,
Drawing::Element el,
Point const &  point 
) const

Y a t'il un élément au point donné.

Parameters
contextcontexte utilisé.
drawingdessin.
el(R) l'élément situé sous le point point.
pointpoint à interroger.
Returns
true s'il y a effectivement un élément, dans ce cas, l'élément est retourné dans el.