-- "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
-- <http://www.gnu.org/licenses/agpl.html>.
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
}