packages feed

manatee-pdfviewer 0.0.2 → 0.0.3

raw patch · 5 files changed

+72/−31 lines, 5 filesdep ~manatee-coresetup-changed

Dependency ranges changed: manatee-core

Files

Main.hs view
@@ -28,4 +28,5 @@ -- | Irc client render process. main :: IO () main = -    startupRender (\ pagePath client pageId -> PageBufferWrap <$> pdfBufferNew pagePath client pageId)+    startupRender (\ pagePath options client pageId -> +                       PageBufferWrap <$> pdfBufferNew pagePath options client pageId)
Manatee/Extension/PdfViewer/PdfBuffer.hs view
@@ -44,8 +44,8 @@     deriving Typeable  -- | New pdf viewer buffer.-pdfBufferNew :: String -> Client -> PageId -> IO PdfBuffer-pdfBufferNew path client pageId = do+pdfBufferNew :: String -> [String] -> Client -> PageId -> IO PdfBuffer+pdfBufferNew path _ client pageId = do   -- Get document.   document <- liftM (fromMaybe (error $ "pdfBufferNew: error when open file " ++ filepath))                      (documentNewFromFile ("file://" ++ filepath) Nothing)
Manatee/Extension/PdfViewer/PdfView.hs view
@@ -84,21 +84,20 @@   let viewer = PdfView pId scrolledWindow view buffer pageIndex scale    -- Redraw signal.-  view `on` exposeEvent $ tryEvent $ pdfViewDraw viewer+  view `on` exposeEvent $ tryEvent $ pdfViewHandleExpose viewer    return viewer --- | Draw for viewer.-pdfViewDraw :: PdfView -> EventM EExpose ()-pdfViewDraw view@(PdfView {pdfViewBuffer        = buffer-                          ,pdfViewScale         = viewScale-                          ,pdfViewPageIndex     = pageIndex-                          }) = do+-- | Handle expose signal.+pdfViewHandleExpose :: PdfView -> EventM EExpose ()+pdfViewHandleExpose view@(PdfView {pdfViewBuffer        = buffer+                                  ,pdfViewScale         = viewScale+                                  }) = do   (winWidth, _) <- eventWindowSize                       liftIO $ do     let (pageWidth, pageHeight) = pdfBufferPageSize buffer-        doc  = pdfBufferDocument buffer         area = pdfViewView view+    -- Init scale and size request.     readTVarIO viewScale       >>= \ value ->            -- Update scale value and area size request when haven't set.@@ -112,26 +111,40 @@                (truncate winWidth)                 (truncate (scaleValue * pageHeight * i2d (pdfBufferNPages buffer))) -    -- Get render index range and scale value.-    (indexRange, currentIndex) <- pdfViewGetIndexRange view-    scaleValue <- readTVarIO viewScale+    -- Draw.+    pdfViewDraw view  -    -- Update page information.-    writeTVarIO pageIndex currentIndex-    pageViewUpdateInfoStatus -      view -      "Page" -      ("Page (" ++ show (currentIndex + 1) ++ "/" ++ show (pdfBufferNPages buffer) ++ ")")+-- | Draw for viewer.+pdfViewDraw :: PdfView -> IO ()+pdfViewDraw view@(PdfView {pdfViewBuffer        = buffer+                          ,pdfViewScale         = viewScale+                          ,pdfViewPageIndex     = pageIndex+                          }) = do+  -- Init.+  let (_, pageHeight) = pdfBufferPageSize buffer+      doc  = pdfBufferDocument buffer+      area = pdfViewView view -    -- Render page.-    forM_ indexRange $ \ index -> do-          page <- documentGetPage doc index-          drawWindow <- widgetGetDrawWindow area-          renderWithDrawable drawWindow $ do-            setSourceRGB 1.0 1.0 1.0-            translate 0 (scaleValue * pageHeight * i2d index)-            scale scaleValue scaleValue-            pageRender page+  -- Get render index range and scale value.+  (indexRange, currentIndex) <- pdfViewGetIndexRange view+  scaleValue <- readTVarIO viewScale++  -- Update page information.+  writeTVarIO pageIndex currentIndex+  pageViewUpdateInfoStatus +    view +    "Page" +    ("Page (" ++ show (currentIndex + 1) ++ "/" ++ show (pdfBufferNPages buffer) ++ ")")++  -- Render page.+  forM_ indexRange $ \ index -> do+        page <- documentGetPage doc index+        drawWindow <- widgetGetDrawWindow area+        renderWithDrawable drawWindow $ do+          setSourceRGB 1.0 1.0 1.0+          translate 0 (scaleValue * pageHeight * i2d index)+          scale scaleValue scaleValue+          pageRender page                                          -- | Handle key action.  pdfViewHandleKeyAction :: PdfView -> Text -> SerializedEvent -> IO ()
Setup.hs view
@@ -1,3 +1,21 @@+-- Author:     Andy Stewart <lazycat.manatee@gmail.com>+-- Maintainer: Andy Stewart <lazycat.manatee@gmail.com>+-- +-- Copyright (C) 2010 Andy Stewart, all rights reserved.+-- +-- This program is free software: you can redistribute it and/or modify+-- it under the terms of the GNU General Public License as published by+-- the Free Software Foundation, either version 3 of the License, or+-- any later version.+-- +-- This program is distributed in the hope that it will be useful,+-- but WITHOUT ANY WARRANTY; without even the implied warranty of+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the+-- GNU General Public License for more details.+-- +-- You should have received a copy of the GNU General Public License+-- along with this program.  If not, see <http://www.gnu.org/licenses/>.+ import Distribution.Simple import Manatee.Core.Config import Manatee.Core.Types
manatee-pdfviewer.cabal view
@@ -1,5 +1,5 @@ name:			manatee-pdfviewer-version:		0.0.2+version:		0.0.3 Cabal-Version:	>= 1.6 license:		GPL-3 license-file:	LICENSE@@ -14,6 +14,15 @@  > sudo aptitude install poppler-data -y  .  And replace Chinese font string in file `/etc/fonts/conf.d/49-sansserif.conf'+ .+ Manual look <http://haskell.org/haskellwiki/Manatee>+ .+ Screenshot at <http://goo.gl/MkVw>+ .+ IRC channel: + .+ irc.freenode.net 6667 <##manatee>+ . author:			Andy Stewart maintainer:		Andy Stewart <lazycat.manatee@gmail.com> stability:		provisional@@ -27,7 +36,7 @@   location:     http://patch-tag.com/r/AndyStewart/manatee-pdfviewer    Library-     build-depends: base >= 4 && < 5, manatee-core >= 0.0.2, dbus-client >= 0.3 && < 0.4, stm >= 2.1.2.0,+     build-depends: base >= 4 && < 5, manatee-core >= 0.0.3, dbus-client >= 0.3 && < 0.4, stm >= 2.1.2.0,                     containers >= 0.3.0.0, gtk-serialized-event >= 0.12.0, poppler >= 0.12.1, gtk >= 0.12.0,                     cairo >= 0.12.0, text >= 0.7.1.0, mtl >= 1.1.0.2, utf8-string      exposed-modules: