xournal-render 0.5.0.0 → 0.5.1
raw patch · 5 files changed
+34/−34 lines, 5 filesdep ~xournal-typesPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: xournal-types
API changes (from Hackage documentation)
+ Graphics.Xournal.Render.BBox: cairoOneStrokeSelected :: StrokeBBox -> Render ()
Files
- src/Graphics/Xournal/Render/BBox.hs +17/−0
- src/Graphics/Xournal/Render/BBoxMapPDF.hs +3/−30
- src/Graphics/Xournal/Render/PDFBackground.hs +4/−0
- src/Graphics/Xournal/Render/Simple.hs +7/−1
- xournal-render.cabal +3/−3
src/Graphics/Xournal/Render/BBox.hs view
@@ -47,6 +47,23 @@ restore +cairoOneStrokeSelected :: StrokeBBox -> Render ()+cairoOneStrokeSelected sbbox = do + let s = gToStroke sbbox + case M.lookup (stroke_color s) predefined_pencolor of + Just (r,g,b,a) -> setSourceRGBA r g b a+ Nothing -> setSourceRGBA 0 0 0 1 + setLineWidth (stroke_width s * 4.0) + setLineCap LineCapRound+ setLineJoin LineJoinRound+ drawOneStrokeCurve . stroke_data $ s + stroke + setSourceRGBA 1 1 1 1+ setLineWidth (stroke_width s)+ drawOneStrokeCurve . stroke_data $ s + stroke++ cairoOneStrokeBBoxOnly :: StrokeBBox -> Render () cairoOneStrokeBBoxOnly sbbox = do let s = gToStroke sbbox
src/Graphics/Xournal/Render/BBoxMapPDF.hs view
@@ -127,29 +127,7 @@ Select (O (Just sz)) = normalizedothers in GPage (get g_dimension p) (get g_background p) (Select . O . Just $ replace s' sz) - -- GPage (gdimension p) (gbackground p) (gFromList (replace s' others)) - -- (s':others)) - -{--instance GCast TPageBBoxMapPDF TTempPageSelectPDF where- gcast = ttempPageSelectPDFFromTPageBBoxMapPDF--ttempPageSelectPDFFromTPageBBoxMapPDF :: TPageBBoxMapPDF -> TTempPageSelectPDF -ttempPageSelectPDFFromTPageBBoxMapPDF p = - let -- (x:xs) = gToList (glayers p)- normalizedothers = case get g_layers p of - NoSelect [] -> error "something wrong in ttemppageBBoxMapPDFBufFromTPageSelectPDFBuf" - NoSelect (x:xs) -> Select (gFromList (x:xs))- Select (O (Nothing)) -> error "something wrong in ttemppageBBoxMapPDFBufFromTPageSelectPDFBuf"- others@(Select (O (Just _))) -> others - Select (O (Just sz)) = normalizedothers - curr = current sz - currtemp = GLayer . TEitherAlterHitted . Left . gToList . gstrokes $ curr- in GPage (get g_dimension p) (get g_background p) - (TLayerSelectInPage currtemp normalizedothers)--} - instance GCast TPageBBoxMapPDFBuf TTempPageSelectPDFBuf where gcast = ttempPageSelectPDFBufFromTPageBBoxMapPDFBuf @@ -167,14 +145,7 @@ in GPage (get g_dimension p) (get g_background p) (TLayerSelectInPageBuf currtemp normalizedothers) - -{- let (x:xs) = gToList (get g_layers p)- l = GLayerBuf { - gbuffer = gbuffer x ,- gbstrokes = TEitherAlterHitted . Left . gToList . gbstrokes $ x- }- in GPage (gdimension p) (gbackground p) (TLayerSelectInPageBuf l xs) -}-+ ---------------------- @@ -337,6 +308,8 @@ case get g_buffer layer of LyBuf (Just sfc) -> do clipBBox mbbox setSourceSurface sfc 0 0 + -- setOperator OperatorSource+ -- setAntialias AntialiasNone paint resetClip _ -> cairoDrawLayerBBox mbbox (gcast layer :: TLayerBBox)
src/Graphics/Xournal/Render/PDFBackground.hs view
@@ -136,12 +136,16 @@ Nothing -> cairoRenderOption DrawBkgPDF (b,dim) Just sfc -> do setSourceSurface sfc 0 0 + -- setOperator OperatorSource+ -- setAntialias AntialiasNone paint BkgPDFPDF _ _ _ _ msfc -> do case msfc of Nothing -> cairoRenderOption DrawBkgPDF (b,dim) Just sfc -> do setSourceSurface sfc 0 0 + -- setOperator OperatorSource+ -- setAntialias AntialiasNone paint cairoRenderOption (DrawPDFInBBox mbbox) (b,dim) = do case b of
src/Graphics/Xournal/Render/Simple.hs view
@@ -24,10 +24,16 @@ drawOneStroke :: Stroke -> Render () drawOneStroke s = do + let opacity = if stroke_tool s == "highlighter" + then predefined_highlighter_opacity+ else 1.0+ case M.lookup (stroke_color s) predefined_pencolor of- Just (r,g,b,a) -> setSourceRGBA r g b a + Just (r,g,b,a) -> setSourceRGBA r g b (a*opacity) Nothing -> setSourceRGBA 0 0 0 1 setLineWidth . stroke_width $ s + setLineCap LineCapRound+ setLineJoin LineJoinRound drawOneStrokeCurve . stroke_data $ s stroke
xournal-render.cabal view
@@ -1,5 +1,5 @@ Name: xournal-render-Version: 0.5.0.0+Version: 0.5.1 Synopsis: Xournal file renderer Description: Rendering library using cairo for xournal file format License: BSD3@@ -32,7 +32,7 @@ bytestring == 0.9.*, poppler == 0.12.*, fclabels == 1.0.*, - xournal-types == 0.3.*,+ xournal-types >= 0.3.1 && < 0.4, TypeCompose == 0.9.* else Build-Depends: base == 4.*, @@ -42,7 +42,7 @@ strict == 0.3.*, bytestring == 0.9.*, fclabels == 1.0.*, - xournal-types == 0.3.*,+ xournal-types >= 0.3.1 && < 0.4, TypeCompose == 0.9.*