happlets-0.1.0.0: happlets.cabal
-- "happlets.cabal" build configuration for this project.
--
-- Copyright (C) 2017-2018 Ramin Honary.
--
-- "happlets" 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" 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
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
LICENSE: AGPL
LICENSE-FILE: LICENSE
BUILD-TYPE: Simple
CABAL-VERSION: >= 1.18
CATEGORY: GUI, Game
SYNOPSIS: "Haskell Applets" provides an event handler and a canvas for building simple GUI apps.
DESCRIPTION:
.
This package is provides the Happlets API that is common to all Happlet
back-end provider libraries. Along with this package, it is necessary to
install a back-end library such as 'happlets-lib-gtk'. Currently Gtk+
version 2 with a Cairo-based canvas is the only back-end available. Gtk+
version 3, Xlib, SDL2, GLUT, and (possibly) Wayland back-ends are all
feasible and may be implemented in the future.
.
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.
.
A happlet back-end provider may provide additional widget API functions,
but using these APIs will result in your applet being dependent on the
specific back-end and will thus not be as portable as programming for
the "happlets" package alone. Happlets aims to achieve a balance between
being as minimal as possible, but still provide enough graphics drawing
primitives to be useful for the widest range of possible applications.
.
The Gtk+ v2 back-end provider can be downloaded from this link:
.
https://hackage.haskell.org/package/happlets-lib-gtk
.
Library {
HS-SOURCE-DIRS: src
DEFAULT-LANGUAGE: Haskell2010
GHC-OPTIONS: -Wall
-fno-warn-name-shadowing
-fno-warn-unused-do-bind
EXPOSED-MODULES:
Happlets
Happlets.Config
Happlets.Draw
Happlets.Draw.Color
Happlets.Draw.SampCoord
Happlets.Draw.Text
Happlets.Draw.Types2D
Happlets.Event
Happlets.Initialize
Happlets.Provider
Happlets.GUI
BUILD-DEPENDS:
bytestring >=0.10.0.0 && <1.0.0.0,
colour >=2.0.0 && <3.0.0,
containers >=0.5.5.0 && <=0.5.7.0,
fail >=4.7 && <5.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,
time >=1.4.0.0 && <=1.6.0.0,
text >=1.1.1.4 && <=2.0.0.0,
transformers >=0.1.1 && <0.5.0,
unordered-containers >=0.2.0.0 && <=0.3.0.0,
base >=4.7 && <4.9
DEFAULT-EXTENSIONS:
DeriveDataTypeable
DeriveFunctor
ExistentialQuantification
FlexibleContexts
FlexibleInstances
FunctionalDependencies
GeneralizedNewtypeDeriving
ImplicitParams
LambdaCase
MultiParamTypeClasses
OverloadedStrings
RankNTypes
ScopedTypeVariables
StandaloneDeriving
}