• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdegraphics API Reference
  • KDE Home
  • Contact Us
 

okular

  • Okular
  • TileNode
Public Member Functions | Public Attributes | List of all members
Okular::TileNode Class Reference

#include <tilesmanager_p.h>

Public Member Functions

 TileNode ()
 
bool isValid () const
 

Public Attributes

bool dirty
 
double distance
 
int nTiles
 
TileNode * parent
 
QPixmap * pixmap
 
NormalizedRect rect
 
Rotation rotation
 
TileNode * tiles
 

Detailed Description

Node in the quadtree structure used by the tiles manager to store tiles.

Except for the first level, the tiles manager stores tiles in a quadtree structure. Each node stores the pixmap of a tile and its location on the page. There's a limit on the size of the pixmaps (TILES_MAXSIZE, defined in tilesmanager.cpp), and tiles that are bigger than that value are split into four children tiles, which are stored as children of the original tile. If children tiles are still too big, they are recursively split again. If the zoom level changes and a big tile goes below the limit, it is merged back into a leaf tile.

Definition at line 34 of file tilesmanager_p.h.

Constructor & Destructor Documentation

TileNode::TileNode ( )

Definition at line 631 of file tilesmanager.cpp.

Member Function Documentation

bool TileNode::isValid ( ) const

Definition at line 642 of file tilesmanager.cpp.

Member Data Documentation

bool Okular::TileNode::dirty

Whether the tile needs to be repainted (after a zoom or rotation) If a tile doesn't have a pixmap but all its children are updated (dirty = false), the parent tile is also considered updated.

Definition at line 70 of file tilesmanager_p.h.

double Okular::TileNode::distance

Distance between the tile and the viewport.

This is used by the evicting algorithm.

Definition at line 76 of file tilesmanager_p.h.

int Okular::TileNode::nTiles

Definition at line 84 of file tilesmanager_p.h.

TileNode* Okular::TileNode::parent

Definition at line 85 of file tilesmanager_p.h.

QPixmap* Okular::TileNode::pixmap

Associated pixmap or NULL if not present.

For each node, it is guaranteed that there's no more than one pixmap along the path from the root to the node itself. In fact, it is very frequent that a leaf node has no pixmap and one of its ancestors has. Such a situation shows, for example, when the parent tile still has a dirty tile from a previous lower zoom level.

Definition at line 55 of file tilesmanager_p.h.

NormalizedRect Okular::TileNode::rect

Location on the page in normalized coords.

Definition at line 44 of file tilesmanager_p.h.

Rotation Okular::TileNode::rotation

Rotation of this individual tile.

A rotation to the page does not immediately rotates the pixmaps in cache. This operation happens when pixmaps are going to be used.

Definition at line 63 of file tilesmanager_p.h.

TileNode* Okular::TileNode::tiles

Children tiles When a tile is split into multiple tiles, they're added as children.

nTiles can be either 0 (in leaf tiles) or 4 (in split tiles).

Definition at line 83 of file tilesmanager_p.h.


The documentation for this class was generated from the following files:
  • tilesmanager_p.h
  • tilesmanager.cpp
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:45:03 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

okular

Skip menu "okular"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kdegraphics API Reference

Skip menu "kdegraphics API Reference"
  •     libkdcraw
  •     libkexiv2
  •     libkipi
  •     libksane
  • okular

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal