-- "happlets-lib-gtk.cabal" build configuration for this project. -- -- Copyright (C) 2017-2018 Ramin Honary. -- -- "happlets-gtk" is free software: you can redistribute it and/or modify -- it under the terms of the GNU Affero General Public License (AGPL) as -- published by the Free Software Foundation. -- -- "happlets-lib-gtk" 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 Affero General Public License for more details. -- -- You should have received a copy of the GNU General Public License -- along with this program (see the file called "LICENSE"). If not, see -- . NAME: happlets-lib-gtk VERSION: 0.1.0.0 AUTHOR: Ramin Honary COPYRIGHT: (C) 2017-2018 Ramin Honary, all rights reserved. MAINTAINER: RaminHAL9001@gmail.com HOMEPAGE: https://github.com/RaminHAL9001/happlets-lib-gtk LICENSE: AGPL LICENSE-FILE: LICENSE BUILD-TYPE: Simple CABAL-VERSION: >= 1.18 CATEGORY: GUI, Game SYNOPSIS: The "Haskell Applets" Gtk+ ver. 2 back-end for "happlets". DESCRIPTION: . *WARNING:* There are still some known bugs in this package, it is being uploaded to Hackage for evaluation purposes only. Although it is being actively developed, there is no release schedule for a production-ready version of this package. Contributions to the repository on GitHub are welcome. . This packages provides the Gtk+ v2 back-end to the "happlets" GUI framework. To create a Gtk+ applet, import the "Happlets.Lib.Gtk" module. "Happlets.Lib.Gtk" re-exports the "Happlets" module, so you can use all of the primitives provided by the "Happlets" module to construct your applet. In your "main" function, launch the main event loop by passing the 'Happlets.Lib.Gtk.gtkHapplet' function as the "Provider" either to the 'Happlets.Initialize.happlet' function or to the 'Happlets.Initialize.simpleHapplet' function. . For an example of how to program your own Happlet, run the "cabal configure" command with the "--enable-tests" flag set. This will build the "Happlets.Lib.Gtk.TestSuite" executable program. Refer to the source code for "TestSuite" to see how the application is structured. . The goal of the Happlets project is to allow you to create very simple, thread-safe applications that contain nothing more than a single window with a drawing canvas that can respond to user input events, like mouse clicks, key-presses, or frame animation events. The intention is to create a minimal programming platform for small, single-purpose graphical applications which simply displays some interactive graphic, for example a plot of some data, or a simple game. Naturally, the Happlet program can be arbitrarily complex, but it may be better to consider other, FRP-based solutions if managing events becomes too difficult. . Library { HS-SOURCE-DIRS: src DEFAULT-LANGUAGE: Haskell2010 GHC-OPTIONS: -Wall -fno-warn-name-shadowing -fno-warn-unused-do-bind EXPOSED-MODULES: Happlets.Lib.Gtk BUILD-DEPENDS: cairo >=0.13.3.0 && <0.14.0.0, diagrams-cairo >=1.4 && <2.0, diagrams-core >=1.4 && <2.0, diagrams-lib >=1.4.0.0 && <2.0.0.0, glib >=0.12.0.0 && <0.14.0.0, gtk >=0.13.0 && <0.15.0, happlets >=0.1.0.0 && <1.0.0.0, lens >=4.0.0.0 && <5.0.0.0, linear >=1.20.0 && <2.0.0.0, mtl >=2.2.0 && <=2.2.1, pango >=0.13.4.0 && <0.14.0.0, semigroups >=0.16.0 && <0.19.0, text >=1.1.1.4 && <=2.0.0.0, time >=1.4.0.0 && <=1.6.0.0, base >=4.7 && <4.9 DEFAULT-EXTENSIONS: DeriveDataTypeable DeriveFunctor ExistentialQuantification FlexibleContexts FlexibleInstances FunctionalDependencies GeneralizedNewtypeDeriving ImplicitParams LambdaCase MultiParamTypeClasses OverloadedStrings RankNTypes ScopedTypeVariables StandaloneDeriving } Test-suite happlets-lib-gtk-test { TYPE: exitcode-stdio-1.0 MAIN-IS: Happlets/Lib/Gtk/TestSuite.hs HS-SOURCE-DIRS: src DEFAULT-LANGUAGE: Haskell2010 GHC-OPTIONS: -threaded -Wall -fno-warn-name-shadowing -fno-warn-unused-do-bind -main-is Happlets.Lib.Gtk.TestSuite OTHER-MODULES: Happlets.Lib.Gtk BUILD-DEPENDS: -- bytestring >=0.10.0.0 && <1.0.0.0, cairo >=0.13.3.0 && <0.14.0.0, -- colour >=2.0.0 && <3.0.0, -- containers >=0.5.5.0 && <=0.5.7.0, diagrams-cairo >=1.4 && <2.0, diagrams-core >=1.4 && <2.0, diagrams-lib >=1.4.0.0 && <2.0.0.0, glib >=0.12.0.0 && <0.14.0.0, gtk >=0.13.0 && <0.15.0, happlets >=0.1.0.0 && <1.0.0.0, lens >=4.0.0.0 && <5.0.0.0, linear >=1.20.0 && <2.0.0.0, mtl >=2.2.0 && <=2.2.1, semigroups >=0.16.0 && <0.19.0, text >=1.1.1.4 && <=2.0.0.0, time >=1.4.0.0 && <=1.6.0.0, -- transformers >=0.3.0.0 && <=0.4.3.0, -- unix >=2.7.0.0 && <=2.8.0.0, base >=4.7 && <4.9 DEFAULT-EXTENSIONS: DeriveDataTypeable DeriveFunctor ExistentialQuantification FlexibleContexts FlexibleInstances FunctionalDependencies GeneralizedNewtypeDeriving ImplicitParams LambdaCase MultiParamTypeClasses OverloadedStrings RankNTypes ScopedTypeVariables StandaloneDeriving }