diagrams-gtk 1.0.1.3 → 1.4
raw patch · 4 files changed
Files
- CHANGES.markdown +27/−1
- LICENSE +7/−4
- diagrams-gtk.cabal +6/−6
- src/Diagrams/Backend/Gtk.hs +9/−9
CHANGES.markdown view
@@ -1,3 +1,29 @@+1.4 (2016-10-26)+----------------++* Updates for diagrams 1.4:+ - allow diagrams-lib-1.4+ - allow diagrams-cairo-1.4++1.3.0.2 (16 June 2016)+----------------------++- allow `base-4.9`+- test on GHC 8.0.1++1.3.0.1 (24 January 2016)+-------------------------++- allow gtk-0.14++1.3 (19 April 2015)+-------------------++* Updates for diagrams 1.3:+ - allow base-4.8+ - require diagrams-lib-1.3+ - require diagrams-cairo-1.3+ 1.0.1.3 (8 Sept 2014) --------------------- @@ -8,7 +34,7 @@ * Require `diagrams-lib-1.2` and `diagrams-cairo-1.2` -1.0.1.1: 2 Junw 2014+1.0.1.1: 2 June 2014 ------------------- * Allow `diagrams-lib-1.2`
LICENSE view
@@ -1,7 +1,10 @@-Copyright (c) 2012-2014 the diagrams-gtk team:- - Jonas Haag- John Lato+Copyright (c) 2012-2015 the diagrams-gtk team:++ Daniel Bergey <bergey@teallabs.org>+ Jonas Haag <jonas@lophus.org>+ John Lato <jwlato@gmail.com>+ Jeffrey Rosenbluth <Jeffrey.Rosenbluth@gmail.com>+ Brent Yorgey <byorgey@gmail.com> All rights reserved.
diagrams-gtk.cabal view
@@ -1,5 +1,5 @@ name: diagrams-gtk-version: 1.0.1.3+version: 1.4 synopsis: Backend for rendering diagrams directly to GTK windows description: An optional add-on to the diagrams-cairo package which allows rendering diagrams directly to GTK windows.@@ -12,7 +12,7 @@ category: Graphics build-type: Simple cabal-version: >=1.10-tested-with: GHC == 7.4.2, GHC == 7.6.3, GHC == 7.8.2+tested-with: GHC == 7.6.3, GHC == 7.8.4, GHC == 7.10.2, GHC == 8.0.1 extra-source-files: CHANGES.markdown, README.markdown source-repository head@@ -21,10 +21,10 @@ library exposed-modules: Diagrams.Backend.Gtk- build-depends: base >= 4.2 && < 4.8,- diagrams-lib >= 1.2 && < 1.3,- diagrams-cairo >= 1.2 && < 1.3,- gtk >= 0.12.0 && < 0.14,+ build-depends: base >= 4.2 && < 4.10,+ diagrams-lib >= 1.3 && < 1.5,+ diagrams-cairo >= 1.3 && < 1.5,+ gtk >= 0.12.0 && < 0.15, cairo >= 0.12.4 && < 0.14 hs-source-dirs: src default-language: Haskell2010
src/Diagrams/Backend/Gtk.hs view
@@ -37,26 +37,26 @@ -- > widget `on` buttonPressEvent $ tryEvent $ do -- > click <- eventClick -- > (x,y) <- eventCoordinates--- > let result = runQuery (query $ toGtkCoords myDiagram) (P (x,y))+-- > let result = runQuery (query $ toGtkCoords myDiagram) (x ^& y) -- > do_something_with result -- -- `toGtkCoords` does no rescaling of the diagram, however it is centered in -- the window.-toGtkCoords :: Monoid' m => QDiagram Cairo R2 m -> QDiagram Cairo R2 m+toGtkCoords :: Monoid' m => QDiagram Cairo V2 Double m -> QDiagram Cairo V2 Double m toGtkCoords d = (\(_,_,d') -> d') $ adjustDia Cairo- (CairoOptions "" Absolute RenderOnly False)+ (CairoOptions "" absolute RenderOnly False) d -- | Render a diagram to a DrawingArea with double buffering, -- rescaling to fit the full area.-defaultRender :: Monoid' m => DrawingArea -> QDiagram Cairo R2 m -> IO ()+defaultRender :: Monoid' m => DrawingArea -> QDiagram Cairo V2 Double m -> IO () defaultRender drawingarea diagram = do drawWindow <- (widgetGetDrawWindow drawingarea) renderDoubleBuffered drawWindow opts diagram where opts w h = (CairoOptions { _cairoFileName = ""- , _cairoSizeSpec = Dims (fromIntegral w) (fromIntegral h)+ , _cairoSizeSpec = dims (V2 (fromIntegral w) (fromIntegral h)) , _cairoOutputType = RenderOnly , _cairoBypassAdjust = False }@@ -70,12 +70,12 @@ renderToGtk :: (DrawableClass dc, Monoid' m) => dc -- ^ widget to render onto- -> QDiagram Cairo R2 m -- ^ Diagram+ -> QDiagram Cairo V2 Double m -- ^ Diagram -> IO () renderToGtk drawable = do renderDoubleBuffered drawable opts where opts _ _ = (CairoOptions { _cairoFileName = ""- , _cairoSizeSpec = Absolute+ , _cairoSizeSpec = absolute , _cairoOutputType = RenderOnly , _cairoBypassAdjust = True }@@ -88,8 +88,8 @@ renderDoubleBuffered :: (Monoid' m, DrawableClass dc) => dc -- ^ drawable to render onto- -> (Int -> Int -> Options Cairo R2) -- ^ options, depending on drawable width and height- -> QDiagram Cairo R2 m -- ^ Diagram+ -> (Int -> Int -> Options Cairo V2 Double) -- ^ options, depending on drawable width and height+ -> QDiagram Cairo V2 Double m -- ^ Diagram -> IO () renderDoubleBuffered drawable renderOpts diagram = do (w,h) <- drawableGetSize drawable