lib Library API Documentation

KoZoomHandler Class Reference

This class handles the zooming and DPI stuff (conversions between pt values and pixels). More...

#include <kozoomhandler.h>

Inheritance diagram for KoZoomHandler:

KoTextZoomHandler ContextStyle List of all members.

Public Member Functions

virtual void setZoomAndResolution (int zoom, int dpiX, int dpiY)
double zoomedResolutionX () const
double zoomedResolutionY () const
double resolutionX () const
double resolutionY () const
virtual void setResolution (double resolutionX, double resolutionY)
int zoom () const
int zoomItX (double z) const
int zoomItY (double z) const
QPoint zoomPoint (const KoPoint &p) const
QRect zoomRect (const KoRect &r) const
QSize zoomSize (const KoSize &s) const
double unzoomItX (int x) const
double unzoomItY (int y) const
KoPoint unzoomPoint (const QPoint &p) const
KoRect unzoomRect (const QRect &r) const
int pixelToLayoutUnitX (int x) const
int pixelToLayoutUnitY (int y) const
QPoint pixelToLayoutUnit (const QPoint &p) const
QRect pixelToLayoutUnit (const QRect &r) const
int layoutUnitToPixelX (int lupix) const
int layoutUnitToPixelY (int lupix) const
int layoutUnitToPixelX (int x, int w) const
int layoutUnitToPixelY (int y, int h) const
QPoint layoutUnitToPixel (const QPoint &p) const
QRect layoutUnitToPixel (const QRect &r) const
int ptToPixelX (double pt) const
int ptToPixelY (double pt) const
QPoint ptToPixel (const KoPoint &p) const
double pixelXToPt (int x) const
double pixelYToPt (int y) const
KoPoint pixelToPt (const QPoint &p) const
int ptToLayoutUnitPixX (double x_pt) const
int ptToLayoutUnitPixY (double y_pt) const
QPoint ptToLayoutUnitPix (const KoPoint &p) const
double layoutUnitToFontSize (int luSize, bool) const

Protected Attributes

int m_zoom
double m_resolutionX
double m_resolutionY
double m_zoomedResolutionX
double m_zoomedResolutionY

Detailed Description

This class handles the zooming and DPI stuff (conversions between pt values and pixels).

An instance of KoZoomHandler operates at a given zoom (see setZoomAndResolution) so there is usually one instance of KoZoomHandler per view.

Definition at line 73 of file kozoomhandler.h.


Member Function Documentation

void KoZoomHandler::setZoomAndResolution int  zoom,
int  dpiX,
int  dpiY
[virtual]
 

Change the zoom factor to z (e.g.

150 for 150%) and/or change the resolution, given in DPI. This is done on startup, when zooming, and when printing. The same call combines both so that all the updating done behind the scenes is done only once, even if both zoom and DPI must be changed.

Reimplemented in ContextStyle.

Definition at line 36 of file kozoomhandler.cc.

References setZoomAndResolution().

Referenced by setZoomAndResolution().

double KoZoomHandler::zoomedResolutionX  )  const [inline]
 

Returns:
the conversion factor between pt and pixel, that takes care of the zoom and the DPI setting. Use zoomIt(pt) instead, though.

Definition at line 93 of file kozoomhandler.h.

void KoZoomHandler::setResolution double  resolutionX,
double  resolutionY
[virtual]
 

Set a resolution for X and Y, when no zoom applies (e.g.

when painting an embedded document. This will set the zoom to 100, and it will set zoomedResolution[XY] to the resolution[XY] parameters

Definition at line 51 of file kozoomhandler.cc.

References setResolution().

Referenced by setResolution().

QSize KoZoomHandler::zoomSize const KoSize s  )  const [inline]
 

Returns the size in pixels for a input size in points.

This function can return a size with 1 pixel to less, depending on the reference point and the width and/or the zoom level. It's save to use if the starting point is (0/0). You can use it if you don't know the starting point yet (like when inserting a picture), but then please take care of it afterwards, when you know the reference point.

Definition at line 137 of file kozoomhandler.h.

References KoSize::height(), KoSize::width(), and zoomSize().

Referenced by zoomSize().

int KoZoomHandler::pixelToLayoutUnitX int  x  )  const [inline]
 

The "[zoomed] view pixel" -> "layout unit pixel" conversions.

Definition at line 162 of file kozoomhandler.h.

References pixelToLayoutUnitX().

Referenced by Container::moveTo(), and pixelToLayoutUnitX().

int KoZoomHandler::layoutUnitToPixelX int  lupix  )  const [inline]
 

The "layout unit pixel" -> "[zoomed] view pixel" conversions.

Definition at line 176 of file kozoomhandler.h.

References layoutUnitToPixelX().

Referenced by Container::boundingRect(), Container::coveredRect(), EmptyElement::draw(), TextElement::draw(), MultilineElement::draw(), NameSequence::drawCursor(), SequenceElement::drawCursor(), Container::drawImage(), layoutUnitToPixelX(), and Container::recalc().

int KoZoomHandler::layoutUnitToPixelX int  x,
int  w
const
 

This variant converts a width, using a reference X position.

This prevents rounding problems.

Definition at line 72 of file kozoomhandler.cc.

References layoutUnitToPixelX().

int KoZoomHandler::layoutUnitToPixelY int  y,
int  h
const
 

This variant converts a height, using a reference Y position.

This prevents rounding problems.

Definition at line 80 of file kozoomhandler.cc.

int KoZoomHandler::ptToPixelX double  pt  )  const [inline]
 

Basic pt to pixel and pixel to pt conversions, valid at any zoom level, as well as at the Layout Unit level (and mostly useful for Layout Units).

Don't confuse with zoomIt, which also converts pt to pixels, but applying the zoom!

Definition at line 201 of file kozoomhandler.h.

References ptToPixelX().

Referenced by ptToPixelX().

int KoZoomHandler::ptToLayoutUnitPixX double  x_pt  )  const [inline]
 

The "document pt" -> "Layout Unit pixels" conversions, for convenience.

Definition at line 217 of file kozoomhandler.h.

References ptToLayoutUnitPixX().

Referenced by NameSequence::drawCursor(), SequenceElement::getChildPosition(), and ptToLayoutUnitPixX().

double KoZoomHandler::layoutUnitToFontSize int  luSize,
bool 
const
 

Given the font size for the font in layout units, in pt (use pointSize()) this returns the font size to use on screen the current zoom, in pt (use setPointSizeFloat()),.

Definition at line 65 of file kozoomhandler.cc.

References layoutUnitToFontSize().

Referenced by TextElement::draw(), layoutUnitToFontSize(), and KoTextFormat::screenPointSize().


The documentation for this class was generated from the following files:
KDE Logo
This file is part of the documentation for lib Library Version 1.3.3.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Tue Sep 28 04:04:05 2004 by doxygen 1.3.7 written by Dimitri van Heesch, © 1997-2003