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

okular

generator_p.cpp

Go to the documentation of this file.
00001 /***************************************************************************
00002  *   Copyright (C) 2007  Tobias Koenig <tokoe@kde.org>                     *
00003  *                                                                         *
00004  *   This program is free software; you can redistribute it and/or modify  *
00005  *   it under the terms of the GNU General Public License as published by  *
00006  *   the Free Software Foundation; either version 2 of the License, or     *
00007  *   (at your option) any later version.                                   *
00008  ***************************************************************************/
00009 
00010 #include "generator_p.h"
00011 
00012 #include <kdebug.h>
00013 
00014 #include "fontinfo.h"
00015 #include "generator.h"
00016 
00017 using namespace Okular;
00018 
00019 PixmapGenerationThread::PixmapGenerationThread( Generator *generator )
00020     : mGenerator( generator ), mRequest( 0 )
00021 {
00022 }
00023 
00024 void PixmapGenerationThread::startGeneration( PixmapRequest *request )
00025 {
00026     mRequest = request;
00027 
00028     start( QThread::InheritPriority );
00029 }
00030 
00031 void PixmapGenerationThread::endGeneration()
00032 {
00033     mRequest = 0;
00034 }
00035 
00036 PixmapRequest *PixmapGenerationThread::request() const
00037 {
00038     return mRequest;
00039 }
00040 
00041 QImage PixmapGenerationThread::image() const
00042 {
00043     return mImage;
00044 }
00045 
00046 void PixmapGenerationThread::run()
00047 {
00048     mImage = QImage();
00049 
00050     if ( mRequest )
00051         mImage = mGenerator->image( mRequest );
00052 }
00053 
00054 
00055 TextPageGenerationThread::TextPageGenerationThread( Generator *generator )
00056     : mGenerator( generator ), mPage( 0 )
00057 {
00058 }
00059 
00060 void TextPageGenerationThread::startGeneration( Page *page )
00061 {
00062     mPage = page;
00063 
00064     start( QThread::InheritPriority );
00065 }
00066 
00067 void TextPageGenerationThread::endGeneration()
00068 {
00069     mPage = 0;
00070 }
00071 
00072 Page *TextPageGenerationThread::page() const
00073 {
00074     return mPage;
00075 }
00076 
00077 TextPage* TextPageGenerationThread::textPage() const
00078 {
00079     return mTextPage;
00080 }
00081 
00082 void TextPageGenerationThread::run()
00083 {
00084     mTextPage = 0;
00085 
00086     if ( mPage )
00087         mTextPage = mGenerator->textPage( mPage );
00088 }
00089 
00090 
00091 FontExtractionThread::FontExtractionThread( Generator *generator, int pages )
00092     : mGenerator( generator ), mNumOfPages( pages ), mGoOn( true )
00093 {
00094 }
00095 
00096 void FontExtractionThread::startExtraction( bool async )
00097 {
00098     if ( async )
00099     {
00100         connect( this, SIGNAL( finished() ), this, SLOT( deleteLater() ) );
00101         start( QThread::InheritPriority );
00102     }
00103     else
00104     {
00105         run();
00106         deleteLater();
00107     }
00108 }
00109 
00110 void FontExtractionThread::stopExtraction()
00111 {
00112     mGoOn = false;
00113 }
00114 
00115 void FontExtractionThread::run()
00116 {
00117     for ( int i = -1; i < mNumOfPages && mGoOn; ++i )
00118     {
00119         FontInfo::List list = mGenerator->fontsForPage( i );
00120         foreach ( const FontInfo& fi, list )
00121         {
00122             emit gotFont( fi );
00123         }
00124         emit progress( i );
00125     }
00126 }
00127 
00128 #include "generator_p.moc"

okular

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

kdegraphics

Skip menu "kdegraphics"
  • okular
Generated for kdegraphics by doxygen 1.5.4
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal