lib
KoChild Class Reference
#include <KoChild.h>
Inheritance diagram for KoChild:

Detailed Description
KoChild is an abstract base class that represents the geometry associated with an embedded document.In general it handles its position relative to the embedded document's parent.
In detail it handles size, matrix operations and can give you a clip region. It can deal with scaling, rotation etc. because it makes heavy usage of QWMatrix.
After applying the matrix, viewGeometry() applies zooming, but can be reimplemented to also apply e.g. some translation by the application (e.g. for centering the page).
- See also:
- KoDocumentChild KoViewChild
Definition at line 41 of file KoChild.h.
Public Types | |
enum | Gadget { NoGadget, TopLeft, TopMid, TopRight, MidLeft, MidRight, BottomLeft, BottomMid, BottomRight, Move } |
Signals | |
void | changed (KoChild *thisChild) |
Public Member Functions | |
KoChild (QObject *parent=0, const char *name=0) | |
virtual | ~KoChild () |
void | setGeometry (const QRect &rect, bool noEmit=false) |
QRect | geometry () const |
virtual QRegion | region (const QWMatrix &=QWMatrix()) const |
virtual QPointArray | pointArray (const QWMatrix &matrix=QWMatrix()) const |
QRect | boundingRect () const |
virtual void | setScaling (double x, double y) |
virtual double | xScaling () const |
virtual double | yScaling () const |
virtual void | setShearing (double x, double y) |
virtual double | xShearing () const |
virtual double | yShearing () const |
virtual void | setRotation (double) |
virtual double | rotation () const |
virtual void | setRotationPoint (const QPoint &pos) |
virtual QPoint | rotationPoint () const |
bool | isRectangle () const |
virtual void | setClipRegion (QPainter &painter, bool combine=true) |
virtual void | transform (QPainter &painter) |
virtual void | setContentsPos (int x, int y) |
virtual QRect | contentRect () const |
virtual QRegion | frameRegion (const QWMatrix &matrix=QWMatrix(), bool solid=false) const |
virtual QPointArray | framePointArray (const QWMatrix &matrix=QWMatrix()) const |
virtual QWMatrix | matrix () const |
void | lock () |
void | unlock () |
bool | locked () const |
virtual QPointArray | oldPointArray (const QWMatrix &matrix) |
virtual void | setTransparent (bool transparent) |
virtual bool | isTransparent () const |
virtual Gadget | gadgetHitTest (const QPoint &p) |
Protected Member Functions | |
virtual QPointArray | pointArray (const QRect &r, const QWMatrix &matrix=QWMatrix()) const |
virtual void | updateMatrix () |
Member Enumeration Documentation
enum KoChild::Gadget |
The gadget generally identifies where a child has been hit (generally by the mouse pointer).
Based on this information different actions can be taken, for example moving the child or opening a context menu. NoGadget means that this child has not been hit.
- See also:
- gadgetHitTest
Member Function Documentation
void KoChild::setGeometry | ( | const QRect & | rect, | |
bool | noEmit = false | |||
) |
Sets a new geometry for this child document.
Use noEmit = true if you do not want the 'changed'-signal to be emitted
Definition at line 72 of file KoChild.cpp.
QRect KoChild::geometry | ( | ) | const |
- Returns:
- the rectangle that would be used to display this child document if the child is not rotated or subject to some other geometric transformation.
The rectangle is in the coordinate system of the parent, using unzoomed coordinates in points.
- See also:
- setGeometry
Definition at line 92 of file KoChild.cpp.
QRegion KoChild::region | ( | const QWMatrix & | = QWMatrix() |
) | const [virtual] |
- Returns:
- the region of this child part relative to the coordinate system of the parent.
The region is transformed with the passed matrix.
Definition at line 97 of file KoChild.cpp.
QPointArray KoChild::pointArray | ( | const QWMatrix & | matrix = QWMatrix() |
) | const [virtual] |
- Returns:
- the polygon which surrounds the child part.
The points are in coordinates of the parent. The points are transformed with the passed matrix.
Definition at line 102 of file KoChild.cpp.
QRect KoChild::boundingRect | ( | ) | const |
- Returns:
- the effective bounding rect after all transformations.
The coordinates of the rectangle are in the coordinate system of the parent.
Definition at line 112 of file KoChild.cpp.
void KoChild::setScaling | ( | double | x, | |
double | y | |||
) | [virtual] |
Scales the content of the child part.
However, that does not affect the size of the child part.
Definition at line 131 of file KoChild.cpp.
double KoChild::xScaling | ( | ) | const [virtual] |
double KoChild::yScaling | ( | ) | const [virtual] |
void KoChild::setShearing | ( | double | x, | |
double | y | |||
) | [virtual] |
double KoChild::xShearing | ( | ) | const [virtual] |
double KoChild::yShearing | ( | ) | const [virtual] |
void KoChild::setRotation | ( | double | ) | [virtual] |
double KoChild::rotation | ( | ) | const [virtual] |
void KoChild::setRotationPoint | ( | const QPoint & | pos | ) | [virtual] |
QPoint KoChild::rotationPoint | ( | ) | const [virtual] |
bool KoChild::isRectangle | ( | ) | const |
- Returns:
- true if the child part is an orthogonal rectangle relative to its parents coordinate system.
Definition at line 117 of file KoChild.cpp.
void KoChild::setClipRegion | ( | QPainter & | painter, | |
bool | combine = true | |||
) | [virtual] |
Sets the clip region of the painter, so that only pixels of the child part can be drawn.
- Parameters:
-
painter the painter do modify. combine tells whether the new clip region is an intersection of the current region with the childs region or whether only the childs region is set.
Definition at line 122 of file KoChild.cpp.
void KoChild::transform | ( | QPainter & | painter | ) | [virtual] |
Transforms the painter (its worldmatrix and the clipping) in such a way that the painter can be passed to the child part for drawing.
Definition at line 217 of file KoChild.cpp.
void KoChild::setContentsPos | ( | int | x, | |
int | y | |||
) | [virtual] |
Sets the position of the content relative to the child frame.
This can be used to create a border between the frame border and the actual content.
Definition at line 227 of file KoChild.cpp.
QRect KoChild::contentRect | ( | ) | const [virtual] |
- Returns:
- the contents rectangle that is visible.
This value depends on the scaling and the geometry. This is the value that is passed to KoDocument::paintContent.
Definition at line 233 of file KoChild.cpp.
QRegion KoChild::frameRegion | ( | const QWMatrix & | matrix = QWMatrix() , |
|
bool | solid = false | |||
) | const [virtual] |
- Returns:
- the region of the child frame.
If solid is set to true the complete area of the child region is returned, otherwise only the child border is returned.
Definition at line 244 of file KoChild.cpp.
QPointArray KoChild::framePointArray | ( | const QWMatrix & | matrix = QWMatrix() |
) | const [virtual] |
- Returns:
- the frame geometry including a border (6 pixels) as a point array with 4 points, one for each corner, transformed by given matrix.
Definition at line 239 of file KoChild.cpp.
QWMatrix KoChild::matrix | ( | ) | const [virtual] |
- Returns:
- the current transformation of this child as matrix.
This includes translation, scale, rotation, shearing.
- See also:
- updateMatrix
Definition at line 291 of file KoChild.cpp.
void KoChild::lock | ( | ) |
Locks this child and stores the current transformation.
A locked child does not emit changed signals.
This is useful if a series of changes are done on this child and only the final result is of interest (GUI updating,...).
Definition at line 296 of file KoChild.cpp.
void KoChild::unlock | ( | ) |
bool KoChild::locked | ( | ) | const |
If the child is locked, geometry changes (including scaling, rotation, .
..) are not backed up.
As long as this child is locked, the backed up geometry state can be recovered with oldPointArray.
- Returns:
- true when this child is locked.
- See also:
- locked unlock oldPointArray
Definition at line 314 of file KoChild.cpp.
QPointArray KoChild::oldPointArray | ( | const QWMatrix & | matrix | ) | [virtual] |
- Returns:
- the backed up geometry transformed by given matrix.
Definition at line 319 of file KoChild.cpp.
void KoChild::setTransparent | ( | bool | transparent | ) | [virtual] |
Marks this child as either transparent or not.
- Parameters:
-
transparent set this child to transparent (true) or opaque (false).
- See also:
- isTransparent
Definition at line 329 of file KoChild.cpp.
bool KoChild::isTransparent | ( | ) | const [virtual] |
It might be interesting for view updates and repainting in general whether a child is transparent or not.
- Returns:
- true when this child is marked as transparent.
Definition at line 334 of file KoChild.cpp.
KoChild::Gadget KoChild::gadgetHitTest | ( | const QPoint & | p | ) | [virtual] |
Different actions are taken depending on where a child frame is hit.
Two gadgets are known: one for the border (5 pixels) and one for the inner area.
- Returns:
- the gadget identification for the hit area.
- Parameters:
-
p the hit position.
- See also:
- Gadget
Definition at line 339 of file KoChild.cpp.
void KoChild::changed | ( | KoChild * | thisChild | ) | [signal] |
QPointArray KoChild::pointArray | ( | const QRect & | r, | |
const QWMatrix & | matrix = QWMatrix() | |||
) | const [protected, virtual] |
- Returns:
- point array with the 4 corners of given rectangle, which is transformed by given matrix.
- Parameters:
-
matrix the transformation of r. r the rectangle for which the point array should be created.
Definition at line 256 of file KoChild.cpp.
void KoChild::updateMatrix | ( | ) | [protected, virtual] |
Stores the current transformation of this child into a matrix.
- See also:
- matrix
Definition at line 275 of file KoChild.cpp.
The documentation for this class was generated from the following files: