[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    branches/work/kviewshell-0.7/kviewshell
From:       Wilfried Huss <Wilfried.Huss () gmx ! at>
Date:       2006-03-12 11:28:24
Message-ID: 1142162904.602084.22518.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 517835 by whuss:

Beginning of the removal of the old single threaded DocumentRenderer-API.

 M  +0 -4      plugins/dvi/dviRenderer.h  
 M  +24 -55    shell/documentPageCache.cpp  
 M  +0 -14     shell/documentRenderer.h  


--- branches/work/kviewshell-0.7/kviewshell/plugins/dvi/dviRenderer.h #517834:517835
@@ -100,10 +100,6 @@
 
   virtual bool  supportsTextSearch() const {return true;}
 
-  /** The DVI plugin is not multithreaded because it uses
-      the QPainter API. */
-  virtual bool isMultiThreaded() const { return true; }
-
   bool          showPS() { return _postscript; }
   int           curr_page() { return current_page+1; }
   virtual bool  isValidFile(const QString& fileName) const;
--- branches/work/kviewshell-0.7/kviewshell/shell/documentPageCache.cpp \
#517834:517835 @@ -210,15 +210,13 @@
 
   if (thumbnail)
   {
-    if (renderer->isMultiThreaded())
-    {
-      // Prerender previous page
-      prerenderThumbnail(pageNumber - 1, width);
-      // Prerender next page
-      prerenderThumbnail(pageNumber + 2, width);
+    // Prerender previous page
+    prerenderThumbnail(pageNumber - 1, width);
+    // Prerender next page
+    prerenderThumbnail(pageNumber + 2, width);
 
-      prerenderThumbnail(pageNumber, width);
-    }
+    prerenderThumbnail(pageNumber, width);
+
     return true;
   }
   else
@@ -251,23 +249,22 @@
 
   if (page)
   {
-    if (renderer->isMultiThreaded())
+    // In continuous facing viewmode prerender the previous 2 and following 2 pages.
+    // In the other viewmodes prerender only the previous page and the following \
page. +    int k = 1;
+    if (KVSPrefs::viewMode() == KVSPrefs::EnumViewMode::ContinuousFacing)
     {
-      int k = 1;
-      if (KVSPrefs::viewMode() == KVSPrefs::EnumViewMode::ContinuousFacing)
-      {
-        k = 2;
-      }
+      k = 2;
+    }
 
-      for (int i = 2; i >= 1; i--)
-      {
-        // Prerender previous page
-        prerender(pageNumber - i);
-        // Prerender next page
-        prerender(pageNumber + i);
-      }
-      prerender(pageNumber);
+    for (int i = 2; i >= 1; i--)
+    {
+      // Prerender previous page
+      prerender(pageNumber - i);
+      // Prerender next page
+      prerender(pageNumber + i);
     }
+    prerender(pageNumber);
     return true;
   }
   else
@@ -320,7 +317,7 @@
   {
     if (resolutionInDPI > 0.0)
     {
-      if (async && renderer->isMultiThreaded())
+      if (async)
       {
         // Add to render queue
         JobId id(pageNr, resolutionInDPI, false);
@@ -421,38 +418,10 @@
 
   if (!renderer.isNull())
   {
-    if (renderer->isMultiThreaded())
-    {
-      JobId id(pageNr, \
                (double)(width)/sizeOfPage(pageNr).width().getLength_in_inch(), \
                true);
-      // Add to render queue
-      QueuedDocumentPage* queuedPage = new QueuedDocumentPage(thumbnailPage, id);
-      renderQueue->addRenderJob(queuedPage);
-
-      return 0;
-    }
-    else
-    {
-      QApplication::setOverrideCursor(waitCursor);
-      renderer->drawThumbnail((double)(width)/sizeOfPage(pageNr).width().getLength_in_inch(), \
                thumbnailPage);
-
-      // Paint image to the page
-      thumbnailPage->paintImage();
-      QApplication::restoreOverrideCursor();
-
-      JobId id(pageNr, \
                (double)(width)/sizeOfPage(pageNr).width().getLength_in_inch(), \
                true);
-      if (KVSPrefs::changeColors() && KVSPrefs::renderMode() != \
                KVSPrefs::EnumRenderMode::Paper)
-      {
-        ThumbnailPixmap* thumbnail = new \
                ThumbnailPixmap(thumbnailPage->getPageNumber(), \
                thumbnailPage->accessiblePixmap());
-        thumbnailCache.insert(id.key(), thumbnail, thumbnail->width() * \
                thumbnail->height());
-        return thumbnail;
-      }
-      else
-      {
-        ThumbnailPixmap* thumbnail = new \
                ThumbnailPixmap(thumbnailPage->getPageNumber(), \
                thumbnailPage->pixmap());
-        thumbnailCache.insert(id.key(), thumbnail, thumbnail->width() * \
                thumbnail->height());
-        return thumbnail;
-      }
-    }
+    JobId id(pageNr, (double)(width)/sizeOfPage(pageNr).width().getLength_in_inch(), \
true); +    // Add to render queue
+    QueuedDocumentPage* queuedPage = new QueuedDocumentPage(thumbnailPage, id);
+    renderQueue->addRenderJob(queuedPage);
   }
   return 0;
 }
--- branches/work/kviewshell-0.7/kviewshell/shell/documentRenderer.h #517834:517835
@@ -319,20 +319,6 @@
   */
   virtual bool supportsTextSearch() const {return false;}
 
-  /** @brief Flag to indicate if multiple threads are supported.
-
-      @note Reimplement this if your plugin is not thread safe.
-      KViewShell will then use a single thread for all operations,
-      which means the GUI will be blocked while the renderer
-      calculates pages.
-
-      @warning The option for single threaded operation will
-      probably be removed in future versions.
-
-      The default implementation returns 'true'.
-  */
-  virtual bool isMultiThreaded() const { return true; }
-
   /* This method will try to parse the reference part of the DVI
      file's URL, (either a number, which is supposed to be a page
      number, or src:(line)(filename)) and see if a corresponding


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic