You can subscribe to this list here.
2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(4) |
Jun
|
Jul
(68) |
Aug
(4) |
Sep
|
Oct
(23) |
Nov
(95) |
Dec
(9) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
(3) |
Feb
|
Mar
|
Apr
(51) |
May
(81) |
Jun
(2) |
Jul
(86) |
Aug
(143) |
Sep
(3) |
Oct
(31) |
Nov
(63) |
Dec
(90) |
2005 |
Jan
(277) |
Feb
(157) |
Mar
(99) |
Apr
(195) |
May
(151) |
Jun
(148) |
Jul
(98) |
Aug
(123) |
Sep
(20) |
Oct
(174) |
Nov
(155) |
Dec
(26) |
2006 |
Jan
(51) |
Feb
(19) |
Mar
(16) |
Apr
(12) |
May
(5) |
Jun
|
Jul
(11) |
Aug
(7) |
Sep
(10) |
Oct
(31) |
Nov
(174) |
Dec
(56) |
2007 |
Jan
(45) |
Feb
(52) |
Mar
(10) |
Apr
(5) |
May
(47) |
Jun
(16) |
Jul
(80) |
Aug
(29) |
Sep
(14) |
Oct
(59) |
Nov
(46) |
Dec
(16) |
2008 |
Jan
(10) |
Feb
(1) |
Mar
|
Apr
|
May
(49) |
Jun
(26) |
Jul
(8) |
Aug
(4) |
Sep
(25) |
Oct
(53) |
Nov
(9) |
Dec
(1) |
2009 |
Jan
(66) |
Feb
(11) |
Mar
(1) |
Apr
(14) |
May
(8) |
Jun
(1) |
Jul
(2) |
Aug
(2) |
Sep
(9) |
Oct
(23) |
Nov
(35) |
Dec
|
2010 |
Jan
(7) |
Feb
(2) |
Mar
(39) |
Apr
(19) |
May
(161) |
Jun
(19) |
Jul
(32) |
Aug
(65) |
Sep
(113) |
Oct
(120) |
Nov
(2) |
Dec
|
2012 |
Jan
|
Feb
(5) |
Mar
(4) |
Apr
(7) |
May
(9) |
Jun
(14) |
Jul
(1) |
Aug
|
Sep
(1) |
Oct
(1) |
Nov
(12) |
Dec
(2) |
2013 |
Jan
(1) |
Feb
(17) |
Mar
(4) |
Apr
(4) |
May
(9) |
Jun
|
Jul
(8) |
Aug
|
Sep
(2) |
Oct
|
Nov
|
Dec
|
From: Andy S. <And...@co...> - 2010-08-07 19:43:39
|
diffing dir... Sat Aug 7 15:20:50 EDT 2010 Andy Stewart <laz...@gm...> * Add ./recordpatch.sh script to record patch faster. Ignore-this: e87a181746571ad8119c74c193d12c92 { addfile ./recordpatch.sh hunk ./recordpatch.sh 1 +#!/bin/sh + +# A script to record patch faster for gtk2hs developers. + +for pkg in tools glib gio cairo pango gtk; do [_$_] + cd $pkg; + darcs record; + cd ..; +done; } |
From: Andy S. <And...@co...> - 2010-07-24 19:50:38
|
diffing dir... Sat Jul 24 15:45:53 EDT 2010 Andy Stewart <laz...@gm...> * Adjust drawableGetID. (But still failed on Windows) Ignore-this: f92028eb5f358c8da1fe0f0d864ba99 { hunk ./gtk/Graphics/UI/Gtk/General/Structs.hsc 54 - #if !defined(WIN32) || GTK_CHECK_VERSION(2,8,0) +#if !defined(WIN32) || GTK_CHECK_VERSION(2,8,0) hunk ./gtk/Graphics/UI/Gtk/General/Structs.hsc 59 - #endif +#endif hunk ./gtk/Graphics/UI/Gtk/General/Structs.hsc 597 -#if !defined(WIN32) || GTK_CHECK_VERSION(2,8,0) +#if !defined(WIN32) hunk ./gtk/Graphics/UI/Gtk/General/Structs.hsc 602 - gdk_win32_drawable_get_handle :: (Ptr Drawable) -> IO CInt + gdk_win32_drawable_get_handle :: (Ptr Drawable) -> IO (Ptr a) hunk ./gtk/Graphics/UI/Gtk/General/Structs.hsc 610 -#if !defined(WIN32) || GTK_CHECK_VERSION(2,8,0) +#if !defined(WIN32) } |
From: Andy S. <laz...@gm...> - 2010-07-24 17:49:14
|
Axel Simon <Axe...@in...> writes: > Andy, > > that's not the right solution. The module you've added is deprected. The code needs rewriting to > reflect the current API. Yes, I got lazy. :) I have use EventM rewrite CairoGhci.hs. Cheers, -- Andy > > Cheers, > Axel > > On Jul 24, 2010, at 19:05, Andy Stewart wrote: > >> diffing dir... >> Sat Jul 24 13:04:20 EDT 2010 Andy Stewart <laz...@gm...> >> * Fix demo CairoGhci compile problem. >> Ignore-this: 6145de3d109a75bc3b25ec84d49bfb55 >> hunk ./cairo/demo/CairoGhci.hs 5 >> +import Graphics.UI.Gtk.Gdk.Events >> >> ------------------------------------------------------------------------------ >> This SF.net email is sponsored by Sprint >> What will you do first with EVO, the first 4G phone? >> Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first >> _______________________________________________ >> Gtk2hs-commit mailing list >> Gtk...@li... >> https://lists.sourceforge.net/lists/listinfo/gtk2hs-commit |
From: Andy S. <And...@co...> - 2010-07-24 17:46:48
|
diffing dir... Sat Jul 24 13:45:46 EDT 2010 Andy Stewart <laz...@gm...> * Use EventM rewrite CairoGhci.hs Ignore-this: 765c04f63f4738f751ef32bcc12725db { hunk ./cairo/demo/CairoGhci.hs 5 -import Graphics.UI.Gtk.Gdk.Events +import Graphics.UI.Gtk.Gdk.EventM hunk ./cairo/demo/CairoGhci.hs 15 - canvas `onExpose` updateCanvas canvas act + canvas `on` exposeEvent $ tryEvent $ updateCanvas canvas act hunk ./cairo/demo/CairoGhci.hs 25 - where updateCanvas :: DrawingArea -> Render () -> Event -> IO Bool - updateCanvas canvas act (Expose {}) = do + where updateCanvas :: DrawingArea -> Render () -> EventM EExpose () + updateCanvas canvas act = liftIO $ do hunk ./cairo/demo/CairoGhci.hs 29 - return True - updateCanvas canvas act _ = return False - - } |
From: Axel S. <Axe...@in...> - 2010-07-24 17:31:27
|
Andy, that's not the right solution. The module you've added is deprected. The code needs rewriting to reflect the current API. Cheers, Axel On Jul 24, 2010, at 19:05, Andy Stewart wrote: > diffing dir... > Sat Jul 24 13:04:20 EDT 2010 Andy Stewart <laz...@gm...> > * Fix demo CairoGhci compile problem. > Ignore-this: 6145de3d109a75bc3b25ec84d49bfb55 > hunk ./cairo/demo/CairoGhci.hs 5 > +import Graphics.UI.Gtk.Gdk.Events > > ------------------------------------------------------------------------------ > This SF.net email is sponsored by Sprint > What will you do first with EVO, the first 4G phone? > Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first > _______________________________________________ > Gtk2hs-commit mailing list > Gtk...@li... > https://lists.sourceforge.net/lists/listinfo/gtk2hs-commit |
From: Andy S. <And...@co...> - 2010-07-24 17:05:25
|
diffing dir... Sat Jul 24 13:04:20 EDT 2010 Andy Stewart <laz...@gm...> * Fix demo CairoGhci compile problem. Ignore-this: 6145de3d109a75bc3b25ec84d49bfb55 hunk ./cairo/demo/CairoGhci.hs 5 +import Graphics.UI.Gtk.Gdk.Events |
From: Andy S. <And...@co...> - 2010-07-24 06:17:36
|
diffing dir... Sat Jul 24 02:14:36 EDT 2010 Andy Stewart <laz...@gm...> * Fix pango compile problem: add 'pangocairo >= 1.10' in pango.cabal Ignore-this: 2fabeee5f2876bb6c3d76af3067bb2b2 hunk ./pango/pango.cabal 83 - pkgconfig-depends: cairo >= 1.2.0 + pkgconfig-depends: cairo >= 1.2.0, pangocairo >= 1.10 |
From: Axel S. <si...@co...> - 2010-07-21 08:15:08
|
diffing dir... Wed Jul 21 04:13:24 EDT 2010 Axe...@in... * Move cairo rendering functions for pango into the pango package. Ignore-this: 7cddb7eeaa2bb7673045af036e0a57a9 { hunk ./gtk/Graphics/UI/Gtk/Cairo.chs 21 +-- #hide + hunk ./gtk/Graphics/UI/Gtk/Cairo.chs 74 -import Graphics.UI.Gtk.General.Structs (Color(..)) -import System.Glib.GObject (constructNewGObject, makeNewGObject, - objectRef, objectUnref) -{#import Graphics.Rendering.Pango.Types#} -{#import Graphics.Rendering.Pango.BasicTypes#} -import Graphics.Rendering.Pango.Structs ( pangoItemGetFont ) -{#import Graphics.Rendering.Pango.Layout#} ( layoutSetText ) -{#import Graphics.UI.Gtk.Gdk.Pixbuf#} ( pixbufGetHasAlpha, pixbufGetNChannels, - pixbufGetColorSpace, pixbufGetWidth, pixbufGetHeight, pixbufGetRowstride, - Colorspace(..) ) -import Data.IORef +{#import Graphics.Rendering.Pango.Cairo#} hunk ./gtk/Graphics/UI/Gtk/Cairo.chs 104 --- | Sets the specified 'Color' as the source color of the 'Render' context. --- -setSourceColor :: Color -> Render () -setSourceColor (Color red green blue) = - Cairo.setSourceRGB - (realToFrac red / 65535.0) - (realToFrac green / 65535.0) - (realToFrac blue / 65535.0) - hunk ./gtk/Graphics/UI/Gtk/Cairo.chs 129 - - --- cairo_font_map_new cannot be bound due to incorrect memory management --- in functions like font_map_list_families that create new structures --- that store the font map without referencing them - --- | Retrieve the default 'Graphics.UI.Gtk.Pango.FontMap' that contains a --- list of available fonts. --- --- * One purpose of creating an explicit --- 'Graphics.UI.Gtk.Pango.Font.FontMap' is to set --- a different scaling factor between font sizes (in points, pt) and --- Cairo units (in pixels). The default is 96dpi (dots per inch) which --- corresponds to an average screen as output medium. A 10pt font will --- therefore scale to --- @10pt * (1\/72 pt\/inch) * (96 pixel\/inch) = 13.3 pixel@. --- -cairoFontMapGetDefault :: IO FontMap -cairoFontMapGetDefault = [_$_] - makeNewGObject mkFontMap $ {#call unsafe pango_cairo_font_map_get_default#} - --- | Set the scaling factor between font size and Cairo units. --- --- * Value is in dots per inch (dpi). See 'cairoFontMapNew'. --- -cairoFontMapSetResolution :: FontMap -> Double -> IO () -cairoFontMapSetResolution (FontMap fm) dpi = - withForeignPtr fm $ \fmPtr -> - {#call unsafe pango_cairo_font_map_set_resolution#} - (castPtr fmPtr) (realToFrac dpi) - --- | Ask for the scaling factor between font size and Cairo units. --- --- * Value is in dots per inch (dpi). See 'cairoFontMapNew'. --- -cairoFontMapGetResolution :: FontMap -> IO Double -cairoFontMapGetResolution (FontMap fm) = liftM realToFrac $ - withForeignPtr fm $ \fmPtr -> - {#call unsafe pango_cairo_font_map_get_resolution#} (castPtr fmPtr) - --- | Create a 'PangoContext'. --- --- * If no 'FontMap' is specified, it uses the default 'FontMap' that --- has a scaling factor of 96 dpi. See 'cairoFontMapNew'. --- -cairoCreateContext :: Maybe FontMap -> IO PangoContext -cairoCreateContext (Just (FontMap fm)) = constructNewGObject mkPangoContext $ - withForeignPtr fm $ \fmPtr -> -- PangoCairoFontMap /= PangoFontMap - {#call unsafe pango_cairo_font_map_create_context#} (castPtr fmPtr) -cairoCreateContext Nothing = do - fmPtr <- {#call unsafe pango_cairo_font_map_get_default#} - constructNewGObject mkPangoContext $ - {#call unsafe pango_cairo_font_map_create_context#} (castPtr fmPtr) - --- | Set the scaling factor of the 'PangoContext'. --- --- * Supplying zero or a negative value will result in the resolution value --- of the underlying 'FontMap' to be used. See also 'cairoFontMapNew'. --- -cairoContextSetResolution :: PangoContext -> Double -> IO () -cairoContextSetResolution pc dpi = - {#call unsafe pango_cairo_context_set_resolution#} pc (realToFrac dpi) - --- | Ask for the scaling factor of the 'PangoContext'. --- --- * A negative value will be returned if no resolution has been set. --- See 'cairoContextSetResolution'. --- -cairoContextGetResolution :: PangoContext -> IO Double -cairoContextGetResolution pc = liftM realToFrac $ - {#call unsafe pango_cairo_context_get_resolution#} pc - --- | Set Cairo font options. --- --- * Apply the given font options to the context. Values set through this --- functions override those that are set by 'updateContext'. --- -cairoContextSetFontOptions :: PangoContext -> FontOptions -> IO () -cairoContextSetFontOptions pc fo = - {#call unsafe pango_cairo_context_set_font_options#} pc fo - --- | Reset Cairo font options. --- -cairoContextResetFontOptions :: PangoContext -> IO () -cairoContextResetFontOptions pc = - {#call unsafe pango_cairo_context_set_font_options#} pc - (Cairo.Internal.FontOptions nullForeignPtr) - --- | Retrieve Cairo font options. --- -cairoContextGetFontOptions :: PangoContext -> IO FontOptions -cairoContextGetFontOptions pc = do - foPtr <- {#call unsafe pango_cairo_context_get_font_options#} pc - Cairo.Internal.mkFontOptions foPtr - --- | Update a 'PangoContext' with respect to changes in a 'Render' --- environment. --- --- * The 'PangoContext' must have been created with --- 'cairoCreateContext'. Any 'PangoLayout's that have been --- previously created with this context have to be update using --- 'Graphics.UI.Gtk.Pango.Layout.layoutContextChanged'. --- -updateContext :: PangoContext -> Render () -updateContext pc = Render $ do - cr <- ask - liftIO $ {# call unsafe pango_cairo_update_context #} cr pc - --- | Create a 'PangoLayout' within a 'Render' context. --- --- * This is a convenience function that creates a new 'PangoContext' --- within this 'Render' context and creates a new 'PangoLayout'. --- If the transformation or target surface of the 'Render' context --- change, 'updateLayout' has to be called on this layout. --- -createLayout :: String -> Render PangoLayout -createLayout text = Render $ do - cr <- ask - liftIO $ do - layRaw <- constructNewGObject mkPangoLayoutRaw $ - {#call unsafe pango_cairo_create_layout#} cr - textRef <- newIORef undefined - let pl = (PangoLayout textRef layRaw) - layoutSetText pl text - return pl - --- | Propagate changed to the 'Render' context to a 'PangoLayout'. --- --- * This is a convenience function that calls 'updateContext' on the --- (private) 'PangoContext' of the given layout to propagate changes --- from the 'Render' context to the 'PangoContext' and then calls --- 'Graphics.UI.Gtk.Pango.Layout.layoutContextChanged' on the layout. --- This function is necessary for --- 'createLayout' since a private 'PangoContext' is created that is --- not visible to the user. --- -updateLayout :: PangoLayout -> Render () -updateLayout (PangoLayout _ lay) = Render $ do - cr <- ask - liftIO $ {#call unsafe pango_cairo_update_layout#} cr lay - --- | Draw a glyph string. --- --- * The origin of the glyphs (the left edge of the baseline) will be drawn --- at the current point of the cairo context. --- -showGlyphString :: GlyphItem -> Render () -showGlyphString (GlyphItem pi gs) = Render $ do - cr <- ask - font <- liftIO $ pangoItemGetFont pi - liftIO $ {#call unsafe pango_cairo_show_glyph_string#} cr font gs - --- | Draw a 'LayoutLine'. --- --- * The origin of the glyphs (the left edge of the baseline) will be drawn --- at the current point of the cairo context. --- -showLayoutLine :: LayoutLine -> Render () -showLayoutLine (LayoutLine _ ll) = Render $ do - cr <- ask - liftIO $ {#call unsafe pango_cairo_show_layout_line#} cr ll - --- | Draw a 'PangoLayout'. --- --- * The top-left corner of the 'PangoLayout' will be drawn at the current --- point of the cairo context. --- -showLayout :: PangoLayout -> Render () -showLayout (PangoLayout _ lay) = Render $ do - cr <- ask - liftIO $ {#call unsafe pango_cairo_show_layout#} cr lay - - --- | Add the extent of a glyph string to the current path. --- --- * The origin of the glyphs (the left edge of the line) will be at the --- current point of the cairo context. --- -glyphStringPath :: GlyphItem -> Render () -glyphStringPath (GlyphItem pi gs) = Render $ do - cr <- ask - font <- liftIO $ pangoItemGetFont pi - liftIO $ {#call unsafe pango_cairo_glyph_string_path#} cr font gs - --- | Add the extent of a layout line to the current path. --- --- * The origin of the glyphs (the left edge of the line) will be at the --- current point of the cairo context. --- -layoutLinePath :: LayoutLine -> Render () -layoutLinePath (LayoutLine _ ll) = Render $ do - cr <- ask - liftIO $ {#call unsafe pango_cairo_layout_line_path#} cr ll - --- | Add the layout to the current path. --- --- * Adds the top-left corner of the text to the current path. Afterwards, --- the path position is at the bottom-right corner of the 'PangoLayout'. --- -layoutPath :: PangoLayout -> Render () -layoutPath (PangoLayout _ lay) = Render $ do - cr <- ask - liftIO $ {#call unsafe pango_cairo_layout_path#} cr lay - hunk ./gtk/Graphics/UI/Gtk/Cairo.chs 130 - - addfile ./pango/Graphics/Rendering/Pango.chs hunk ./pango/Graphics/Rendering/Pango.chs 1 +{-# LANGUAGE CPP #-} +-- -*-haskell-*- +-- Pango - a library for typesetting Unicode text +-- +-- Author : Axel Simon +-- +-- Copyright (C) 2001-2010 Axel Simon +-- +-- This library is free software; you can redistribute it and/or +-- modify it under the terms of the GNU Lesser General Public +-- License as published by the Free Software Foundation; either +-- version 2.1 of the License, or (at your option) any later version. +-- +-- This library 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 +-- Lesser General Public License for more details. +-- +-- | +-- Maintainer : gtk...@li... +-- Stability : provisional +-- Portability : portable (depends on GHC) +-- +-- Pango is a library for laying out and rendering of text, with an emphasis +-- on internationalization. Pango can be used anywhere that text layout is +-- needed, though most of the work on Pango so far has been done in the +-- context of the GTK+ widget toolkit. Pango forms the core of text and font +-- handling for GTK+-2.x. +-- [_$_] +-- Pango is designed to be modular; the core Pango layout engine can be used +-- with different font backends. There are three basic backends: +-- [_$_] +-- * Client side fonts using the FreeType and fontconfig libraries. +-- +-- * Native fonts on Microsoft Windows using Uniscribe for complex-text handling. +-- +-- * Native fonts on MacOS X using ATSUI for complex-text handling. +-- +-- The integration of Pango +-- with Cairo <http://cairographics.org/> provides a complete solution with +-- high quality text handling and graphics rendering. +-- [_$_] +-- Dynamically loaded modules then handle text layout for particular +-- combinations of script and font backend. Pango ships with a wide selection +-- of modules, including modules for Hebrew, Arabic, Hangul, Thai, and a +-- number of Indic scripts. Virtually all of the world's major scripts are +-- supported. +-- [_$_] +-- As well as the low level layout rendering routines, Pango includes +-- 'PangoLayout', a high level driver for laying out entire blocks of text, and +-- routines to assist in editing internationalized text. +-- [_$_] +-- Pango depends on 2.x series of the GLib library. +-- +-- This module only re-exports the parts of the Pango library that are relevant for +-- text rendering (as opposed to integration with other libraries). +-- +module Graphics.Rendering.Pango ( + module Graphics.Rendering.Pango.Context, + module Graphics.Rendering.Pango.Layout, + module Graphics.Rendering.Pango.Rendering, + module Graphics.Rendering.Pango.Markup, + module Graphics.Rendering.Pango.Font, + module Graphics.Rendering.Pango.Enums, + module Graphics.Rendering.Pango.Cairo, + ) where + +import Graphics.Rendering.Pango.Font +import Graphics.Rendering.Pango.Enums hiding ( + Markup, + Language, + emptyLanguage, + languageFromString, + ) +import Graphics.Rendering.Pango.Context +import Graphics.Rendering.Pango.Layout hiding ( + PangoRectangle(..), +#if PANGO_VERSION_CHECK(1,6,0) + EllipsizeMode(..), +#endif + ) +import Graphics.Rendering.Pango.Rendering +import Graphics.Rendering.Pango.Markup +import Graphics.Rendering.Pango.Cairo hunk ./pango/Graphics/Rendering/Pango/Attributes.chs 149 --- | Parse the marked-up text (see 'Graphics.UI.Gtk.Pango.Markup.Markup' +-- | Parse the marked-up text (see 'Graphics.Rendering.Pango.Markup.Markup' addfile ./pango/Graphics/Rendering/Pango/Cairo.chs hunk ./pango/Graphics/Rendering/Pango/Cairo.chs 1 +{-# LANGUAGE CPP #-} +-- -*-haskell-*- +-- GIMP Toolkit (GTK) Cair Pango integration +-- +-- Author : Duncan Coutts, Axel Simon +-- +-- Created: 17 August 2005 +-- +-- Copyright (C) 2005 Duncan Coutts +-- +-- This library is free software; you can redistribute it and/or +-- modify it under the terms of the GNU Lesser General Public +-- License as published by the Free Software Foundation; either +-- version 2.1 of the License, or (at your option) any later version. +-- +-- This library 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 +-- Lesser General Public License for more details. +-- +-- | +-- Maintainer : gtk...@li... +-- Stability : provisional +-- Portability : portable (depends on GHC) +-- +-- [_$_] +-- Pango specific functions to for redering with Cairo. +-- +-- Cairo is a graphics library that supports vector graphics and image +-- compositing that can be used with Pango. The functions in this module provide +-- ways of rendering text in Cairo using Pango. +-- +module Graphics.Rendering.Pango.Cairo ( + -- * Global Cairo settings. + cairoFontMapGetDefault, + cairoFontMapSetResolution, + cairoFontMapGetResolution, + cairoCreateContext, + cairoContextSetResolution, + cairoContextGetResolution, + cairoContextSetFontOptions, + cairoContextGetFontOptions, + -- * Functions for the 'Render' monad. + setSourceColor, + updateContext, + createLayout, + updateLayout, + showGlyphString, + showLayoutLine, + showLayout, + glyphStringPath, + layoutLinePath, + layoutPath + ) where + +import Control.Exception (bracket) + +import System.Glib.FFI +import System.Glib.GObject (constructNewGObject, makeNewGObject, + objectRef, objectUnref) +{#import Graphics.Rendering.Pango.Types#} +{#import Graphics.Rendering.Pango.BasicTypes#} +import Graphics.Rendering.Pango.Structs ( pangoItemGetFont, Color(..) ) +{#import Graphics.Rendering.Pango.Layout#} ( layoutSetText ) +import Data.IORef + +{#import Graphics.Rendering.Cairo.Types#} as Cairo +import qualified Graphics.Rendering.Cairo.Internal as Cairo.Internal +import qualified Graphics.Rendering.Cairo as Cairo +import Graphics.Rendering.Cairo.Internal (Render(Render)) +import Control.Monad.Reader + +{# context lib="gdk" prefix="gdk" #} + +-------------------- +-- Methods + +-- | Sets the specified 'Color' as the source color of the 'Render' context. +-- +setSourceColor :: Color -> Render () +setSourceColor (Color red green blue) = + Cairo.setSourceRGB + (realToFrac red / 65535.0) + (realToFrac green / 65535.0) + (realToFrac blue / 65535.0) + +-- cairo_font_map_new cannot be bound due to incorrect memory management +-- in functions like font_map_list_families that create new structures +-- that store the font map without referencing them + +-- | Retrieve the default 'Graphics.Rendering.Pango.FontMap' that contains a +-- list of available fonts. +-- +-- * One purpose of creating an explicit +-- 'Graphics.Rendering.Pango.Font.FontMap' is to set +-- a different scaling factor between font sizes (in points, pt) and +-- Cairo units (in pixels). The default is 96dpi (dots per inch) which +-- corresponds to an average screen as output medium. A 10pt font will +-- therefore scale to +-- @10pt * (1\/72 pt\/inch) * (96 pixel\/inch) = 13.3 pixel@. +-- +cairoFontMapGetDefault :: IO FontMap +cairoFontMapGetDefault = [_$_] + makeNewGObject mkFontMap $ {#call unsafe pango_cairo_font_map_get_default#} + +-- | Set the scaling factor between font size and Cairo units. +-- +-- * Value is in dots per inch (dpi). See 'cairoFontMapGetDefault'. +-- +cairoFontMapSetResolution :: FontMap -> Double -> IO () +cairoFontMapSetResolution (FontMap fm) dpi = + withForeignPtr fm $ \fmPtr -> + {#call unsafe pango_cairo_font_map_set_resolution#} + (castPtr fmPtr) (realToFrac dpi) + +-- | Ask for the scaling factor between font size and Cairo units. +-- +-- * Value is in dots per inch (dpi). See 'cairoFontMapGetDefault'. +-- +cairoFontMapGetResolution :: FontMap -> IO Double +cairoFontMapGetResolution (FontMap fm) = liftM realToFrac $ + withForeignPtr fm $ \fmPtr -> + {#call unsafe pango_cairo_font_map_get_resolution#} (castPtr fmPtr) + +-- | Create a 'PangoContext'. +-- +-- * If no 'FontMap' is specified, it uses the default 'FontMap' that +-- has a scaling factor of 96 dpi. See 'cairoFontMapGetDefault'. +-- +cairoCreateContext :: Maybe FontMap -> IO PangoContext +cairoCreateContext (Just (FontMap fm)) = constructNewGObject mkPangoContext $ + withForeignPtr fm $ \fmPtr -> -- PangoCairoFontMap /= PangoFontMap + {#call unsafe pango_cairo_font_map_create_context#} (castPtr fmPtr) +cairoCreateContext Nothing = do + fmPtr <- {#call unsafe pango_cairo_font_map_get_default#} + constructNewGObject mkPangoContext $ + {#call unsafe pango_cairo_font_map_create_context#} (castPtr fmPtr) + +-- | Set the scaling factor of the 'PangoContext'. +-- +-- * Supplying zero or a negative value will result in the resolution value +-- of the underlying 'FontMap' to be used. See also 'cairoFontMapGetDefault'. +-- +cairoContextSetResolution :: PangoContext -> Double -> IO () +cairoContextSetResolution pc dpi = + {#call unsafe pango_cairo_context_set_resolution#} pc (realToFrac dpi) + +-- | Ask for the scaling factor of the 'PangoContext'. +-- +-- * A negative value will be returned if no resolution has been set. +-- See 'cairoContextSetResolution'. +-- +cairoContextGetResolution :: PangoContext -> IO Double +cairoContextGetResolution pc = liftM realToFrac $ + {#call unsafe pango_cairo_context_get_resolution#} pc + +-- | Set Cairo font options. +-- +-- * Apply the given font options to the context. Values set through this +-- functions override those that are set by 'updateContext'. +-- +cairoContextSetFontOptions :: PangoContext -> FontOptions -> IO () +cairoContextSetFontOptions pc fo = + {#call unsafe pango_cairo_context_set_font_options#} pc fo + +-- | Reset Cairo font options. +-- +cairoContextResetFontOptions :: PangoContext -> IO () +cairoContextResetFontOptions pc = + {#call unsafe pango_cairo_context_set_font_options#} pc + (Cairo.Internal.FontOptions nullForeignPtr) + +-- | Retrieve Cairo font options. +-- +cairoContextGetFontOptions :: PangoContext -> IO FontOptions +cairoContextGetFontOptions pc = do + foPtr <- {#call unsafe pango_cairo_context_get_font_options#} pc + Cairo.Internal.mkFontOptions foPtr + +-- | Update a 'PangoContext' with respect to changes in a 'Render' +-- environment. +-- +-- * The 'PangoContext' must have been created with +-- 'cairoCreateContext'. Any 'PangoLayout's that have been +-- previously created with this context have to be update using +-- 'Graphics.Rendering.Pango.Layout.layoutContextChanged'. +-- +updateContext :: PangoContext -> Render () +updateContext pc = Render $ do + cr <- ask + liftIO $ {# call unsafe pango_cairo_update_context #} cr pc + +-- | Create a 'PangoLayout' within a 'Render' context. +-- +-- * This is a convenience function that creates a new 'PangoContext' +-- within this 'Render' context and creates a new 'PangoLayout'. +-- If the transformation or target surface of the 'Render' context +-- change, 'updateLayout' has to be called on this layout. +-- +createLayout :: String -> Render PangoLayout +createLayout text = Render $ do + cr <- ask + liftIO $ do + layRaw <- constructNewGObject mkPangoLayoutRaw $ + {#call unsafe pango_cairo_create_layout#} cr + textRef <- newIORef undefined + let pl = (PangoLayout textRef layRaw) + layoutSetText pl text + return pl + +-- | Propagate changed to the 'Render' context to a 'PangoLayout'. +-- +-- * This is a convenience function that calls 'updateContext' on the +-- (private) 'PangoContext' of the given layout to propagate changes +-- from the 'Render' context to the 'PangoContext' and then calls +-- 'Graphics.Rendering.Pango.Layout.layoutContextChanged' on the layout. +-- This function is necessary for +-- 'createLayout' since a private 'PangoContext' is created that is +-- not visible to the user. +-- +updateLayout :: PangoLayout -> Render () +updateLayout (PangoLayout _ lay) = Render $ do + cr <- ask + liftIO $ {#call unsafe pango_cairo_update_layout#} cr lay + +-- | Draw a glyph string. +-- +-- * The origin of the glyphs (the left edge of the baseline) will be drawn +-- at the current point of the cairo context. +-- +showGlyphString :: GlyphItem -> Render () +showGlyphString (GlyphItem pi gs) = Render $ do + cr <- ask + font <- liftIO $ pangoItemGetFont pi + liftIO $ {#call unsafe pango_cairo_show_glyph_string#} cr font gs + +-- | Draw a 'LayoutLine'. +-- +-- * The origin of the glyphs (the left edge of the baseline) will be drawn +-- at the current point of the cairo context. +-- +showLayoutLine :: LayoutLine -> Render () +showLayoutLine (LayoutLine _ ll) = Render $ do + cr <- ask + liftIO $ {#call unsafe pango_cairo_show_layout_line#} cr ll + +-- | Draw a 'PangoLayout'. +-- +-- * The top-left corner of the 'PangoLayout' will be drawn at the current +-- point of the cairo context. +-- +showLayout :: PangoLayout -> Render () +showLayout (PangoLayout _ lay) = Render $ do + cr <- ask + liftIO $ {#call unsafe pango_cairo_show_layout#} cr lay + + +-- | Add the extent of a glyph string to the current path. +-- +-- * The origin of the glyphs (the left edge of the line) will be at the +-- current point of the cairo context. +-- +glyphStringPath :: GlyphItem -> Render () +glyphStringPath (GlyphItem pi gs) = Render $ do + cr <- ask + font <- liftIO $ pangoItemGetFont pi + liftIO $ {#call unsafe pango_cairo_glyph_string_path#} cr font gs + +-- | Add the extent of a layout line to the current path. +-- +-- * The origin of the glyphs (the left edge of the line) will be at the +-- current point of the cairo context. +-- +layoutLinePath :: LayoutLine -> Render () +layoutLinePath (LayoutLine _ ll) = Render $ do + cr <- ask + liftIO $ {#call unsafe pango_cairo_layout_line_path#} cr ll + +-- | Add the layout to the current path. +-- +-- * Adds the top-left corner of the text to the current path. Afterwards, +-- the path position is at the bottom-right corner of the 'PangoLayout'. +-- +layoutPath :: PangoLayout -> Render () +layoutPath (PangoLayout _ lay) = Render $ do + cr <- ask + liftIO $ {#call unsafe pango_cairo_layout_path#} cr lay + + hunk ./pango/Graphics/Rendering/Pango/Context.chs 31 --- 'Graphics.UI.Gtk.Pango.Rendering') or, at a more abstract level, using --- layouts (see 'Graphics.UI.Gtk.Pango.Layout'). +-- 'Graphics.Rendering.Pango.Rendering') or, at a more abstract level, using +-- layouts (see 'Graphics.Rendering.Pango.Layout.Layout'). hunk ./pango/Graphics/Rendering/Pango/Context.chs 40 --- 'Graphics.UI.Gtk.Cairo.cairoCreateContext'. +-- 'Graphics.Rendering.Cairo.cairoCreateContext'. hunk ./pango/Graphics/Rendering/Pango/Context.chs 44 --- rendered text, call 'Graphics.UI.Gtk.Pango.Layout.layoutContextChanged'. +-- rendered text, call 'Graphics.Rendering.Pango.Layout.layoutContextChanged'. hunk ./pango/Graphics/Rendering/Pango/Context.chs 49 + PangoContextClass, hunk ./pango/Graphics/Rendering/Pango/Enums.chs 29 - Markup, hunk ./pango/Graphics/Rendering/Pango/Enums.chs 34 - Language, - emptyLanguage, - languageFromString, - hunk ./pango/Graphics/Rendering/Pango/Enums.chs 50 + + -- these will not be exported from this module in the future + Markup, + Language, + emptyLanguage, + languageFromString, hunk ./pango/Graphics/Rendering/Pango/Font.chs 58 + FontMapClass, hunk ./pango/Graphics/Rendering/Pango/Font.chs 61 + FontFamilyClass, hunk ./pango/Graphics/Rendering/Pango/Font.chs 67 + FontFaceClass, hunk ./pango/Graphics/Rendering/Pango/Font.chs 73 + FontClass, hunk ./pango/Graphics/Rendering/Pango/Font.chs 93 --- 'Graphics.UI.Gtk.Cairo.cairoFontMapGetDefault'. [_$_] +-- 'Graphics.Rendering.Pango.Cairo.cairoFontMapGetDefault'. [_$_] hunk ./pango/Graphics/Rendering/Pango/Layout.chs 468 --- 'PangoContext'. (See 'Graphics.UI.Gtk.Pango.Context.contextSetTextDir'). +-- 'PangoContext'. (See 'Graphics.Rendering.Pango.Context.contextSetTextDir'). hunk ./pango/Graphics/Rendering/Pango/Layout.chs 758 - ("Graphics.UI.Gtk.Pango.Layout.layoutGetLine: "++ + ("Graphics.Rendering.Pango.Layout.layoutGetLine: "++ hunk ./pango/Graphics/Rendering/Pango/Rendering.chs 40 --- such as 'Graphics.UI.Gtk.Cairo.cairoShowGlyphString'. +-- such as 'Graphics.Rendering.Cairo.cairoShowGlyphString'. hunk ./pango/Graphics/Rendering/Pango/Structs.hsc 140 --- 'Graphics.UI.Gtk.Pango.Rendering.PangoContext' is by default weakly +-- 'Graphics.Rendering.Pango.Rendering.PangoContext' is by default weakly hunk ./pango/hspango.h 10 +#include<pango/pangocairo.h> hunk ./pango/pango.cabal 44 - process, directory, array, containers, pretty, haskell98, + process, directory, array, containers, pretty, mtl, haskell98, hunk ./pango/pango.cabal 56 - exposed-modules: Graphics.Rendering.Pango.Font + exposed-modules: Graphics.Rendering.Pango + Graphics.Rendering.Pango.Font hunk ./pango/pango.cabal 63 + Graphics.Rendering.Pango.Cairo hunk ./pango/pango.cabal 83 - + pkgconfig-depends: cairo >= 1.2.0 } |
From: Axel S. <si...@co...> - 2010-07-20 07:03:42
|
diffing dir... Tue Jul 20 03:01:51 EDT 2010 Axe...@in... * Add an option to the type generator to ignore the --destructor command line spec. This allows e.g. Pixbufs to be GC'd immediatlely. Ignore-this: fe533f76b033d2783713909f5c03eaf9 { hunk ./gtk/hierarchy.list 18 - +# Before these conditions, two additional properties may be given: +# * noDestr : ignores the destructor given by the --destructor +# command line argument and uses 'objectUnref' +# * noEq : do not make this type an instance of Eq; used +# if a different equality instance is manually +# defined later hunk ./gtk/hierarchy.list 48 - GdkPixbuf - GdkPixbufAnimation - GdkPixbufSimpleAnim - GdkPixbufAnimationIter + GdkPixbuf noDestr + GdkPixbufAnimation noDestr + GdkPixbufSimpleAnim noDestr + GdkPixbufAnimationIter noDestr hunk ./tools/hierarchyGen/TypeGen.hs 26 - tiNoEqualInst :: Bool + tiNoEqualInst :: Bool, + tiDefaultDestr :: Bool hunk ./tools/hierarchyGen/TypeGen.hs 76 - (name,specialQuery,rem'') = case (dropWhile isBlank rem') of + (defDestr,rem'') = [_$_] + let r = dropWhile isBlank rem' in + if "noDestr" `isPrefixOf` r then (True, drop 7 r) else (False, r) + (name,specialQuery,rem''') = case (dropWhile isBlank rem'') of hunk ./tools/hierarchyGen/TypeGen.hs 85 - (tyName, (tyName, TypeInfo origCName (Just tyQuery) eqInst), r') - r -> (tyName, (tyName, TypeInfo origCName Nothing eqInst), r) - r -> (origHsName, (origHsName, TypeInfo origCName Nothing eqInst), r) + (tyName, (tyName, TypeInfo origCName (Just tyQuery) eqInst defDestr), r') + r -> (tyName, (tyName, TypeInfo origCName Nothing eqInst defDestr), r) + r -> (origHsName, (origHsName, TypeInfo origCName Nothing eqInst defDestr), r) hunk ./tools/hierarchyGen/TypeGen.hs 90 - (readTag, rem''') = case (dropWhile isBlank rem'') of + (readTag, rem'''') = case (dropWhile isBlank rem''') of hunk ./tools/hierarchyGen/TypeGen.hs 296 - indent 0.ss "mk".ss name.ss " = (".ss name.ss ", ".ss destr.ss ")". + indent 0.ss "mk".ss name.ss " = (".ss name.ss ", ". + (case lookup name table of Just TypeInfo { tiDefaultDestr = False } -> ss destr + Just TypeInfo { tiDefaultDestr = True } -> ss "objectUnref").ss ")". } |
From: Axel S. <si...@co...> - 2010-07-20 07:03:38
|
diffing dir... Tue Jul 20 03:01:36 EDT 2010 Axe...@in... * Doc fix. Ignore-this: 8e845b0b6ce26e38abf6e9112e061010 hunk ./gtk/gtk.cabal 313 - -- Due to http://hackage.haskell.org/trac/ghc/ticket/781 + -- Due to http://hackage.haskell.org/trac/ghc/ticket/781 |
From: Andy S. <laz...@gm...> - 2010-07-17 05:24:03
|
Hi Axel, Axel Simon <Axe...@in...> writes: > Hi Andy, > > I think we need to install all versions of Gtk (2.8, 2.10... 2.20) on one machine (into different > dirs using --prefix= to ./configure) and then build Gtk2Hs against each of these version (this can > be done by setting PKG_CONFIG_PATH appropriately before each cabal configure). BTW, i suggest you test version problem from 2.20 to 2.8, then you can find version problems more quickly. Cheers, -- Andy |
From: Andy S. <And...@co...> - 2010-07-16 16:50:57
|
diffing dir... Fri Jul 16 12:47:18 EDT 2010 Andy Stewart <laz...@gm...> * Add missing type in Pango.BasicTypes Weight. (Fixed bug 1184) Ignore-this: 17f38af03f07808b251727b4e01797e9 Documentation at http://library.gnome.org/devel/pango/1.28/PangoMarkupFormat.html is leak, need check those type in pango-enum-types.c { hunk ./pango/Graphics/Rendering/Pango/BasicTypes.chs 130 + showsPrec _ WeightThin = shows "thin" hunk ./pango/Graphics/Rendering/Pango/BasicTypes.chs 133 + showsPrec _ WeightBook = shows "book" hunk ./pango/Graphics/Rendering/Pango/BasicTypes.chs 135 + showsPrec _ WeightMedium = shows "medium" + showsPrec _ WeightSemibold = shows "semibold" hunk ./pango/Graphics/Rendering/Pango/BasicTypes.chs 140 + showsPrec _ WeightUltraheavy = shows "ultraheavy" } |
From: Andy S. <And...@co...> - 2010-07-16 16:50:55
|
diffing dir... Fri Jul 16 12:07:50 EDT 2010 Andy Stewart <laz...@gm...> * Add gdk_get_default_root_window (Fixed ticket 1118) Ignore-this: 3d19dd5ea992ebf60425cbd6183a077a { hunk ./gtk/Graphics/UI/Gtk/Gdk/DrawWindow.chs 81 - drawWindowForeignNew + drawWindowForeignNew, + drawWindowGetDefaultRootWindow, hunk ./gtk/Graphics/UI/Gtk/Gdk/DrawWindow.chs 561 +-- | Obtains the root window (parent all other windows are inside) for the default display and screen. +drawWindowGetDefaultRootWindow :: [_$_] + IO DrawWindow -- ^ returns the default root window [_$_] +drawWindowGetDefaultRootWindow = + makeNewGObject mkDrawWindow $ + {#call gdk_get_default_root_window #} } |
From: Andy S. <laz...@gm...> - 2010-07-16 15:29:54
|
Axel Simon <Axe...@in...> writes: > On 16.07.2010, at 17:01, Andy Stewart wrote: > >> Axel Simon <Axe...@in...> writes: >> >>> Hi Andy, >>> >>> I think we need to install all versions of Gtk (2.8, 2.10... 2.20) on one machine (into different >>> dirs using --prefix= to ./configure) and then build Gtk2Hs against each of these version (this >>> can >>> be done by setting PKG_CONFIG_PATH appropriately before each cabal configure). >>> >>> There are probably other build problems due to version differences. >>> >>> Do you want to look into this? It involves installing a lot of tar files (you need to download >>> atk, >>> pango, glib, cairo for each gtk version). Besides that, it's fairly straightforward. I could >>> give >>> you access to a computer I have under my desk, if you don't want to do that on yours. >> Can we do half and half? >> >> You test 2.8, 2.10, 2.12 >> >> I test 2.14, 2.16, 2.18 2.20 >> > > I think this work should be > > - create a table of version-tuples that belong together (gtk version, pango version, atk > version,...) > - writing a script that downloads the different versions, extracts and builds them > - write a script that sets PKG_CONFIG_PATH and then calls ./bootstrap > > So I think one person should do it. But we could do it on the computer under my desk so we both have > access to it. To be honest, i don't want do those work, less fun. :) Can i choose fix bug at http://hackage.haskell.org/trac/gtk2hs/report/1 ? :) -- Andy > >> BTW, we need fix all bugs in >> http://hackage.haskell.org/trac/gtk2hs/report/2 ? >> Or just fix 0.11.0 ? >> > > Well we should fix whatever we can. > >> Can we finish *enhancement* ticket in gtk2hs-0.12.0 ? >> > > Well, some of them are done already. > > This should be fixed: > > http://hackage.haskell.org/trac/gtk2hs/ticket/1164 > > Also 1179 and 1174. > > A. > > > >> Cheers, >> >> -- Andy >> >>> >>> Cheers, >>> Axel >>> >>> On 16.07.2010, at 16:34, Andy Stewart wrote: >>> >>>> diffing dir... >>>> Fri Jul 16 10:32:51 EDT 2010 Andy Stewart <laz...@gm... >>>> > >>>> * Add 2.14 macro to make Builder.chs can build on gtk+-2.12 or higher (Fixed bug 1189) >>>> Ignore-this: beb720b6f7556bbb0352287f7bc5d56f >>>> { >>>> hunk ./gtk/Graphics/UI/Gtk/Builder.chs 85 >>>> +#if GTK_CHECK_VERSION(2,14,0) >>>> hunk ./gtk/Graphics/UI/Gtk/Builder.chs 88 >>>> +#endif >>>> hunk ./gtk/Graphics/UI/Gtk/Builder.chs 149 >>>> +#if GTK_CHECK_VERSION(2,14,0) >>>> hunk ./gtk/Graphics/UI/Gtk/Builder.chs 191 >>>> +#endif >>>> } >>>> >>>> ------------------------------------------------------------------------------ >>>> This SF.net email is sponsored by Sprint >>>> What will you do first with EVO, the first 4G phone? >>>> Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first >>>> _______________________________________________ >>>> Gtk2hs-commit mailing list >>>> Gtk...@li... >>>> https://lists.sourceforge.net/lists/listinfo/gtk2hs-commit |
From: Axel S. <Axe...@in...> - 2010-07-16 15:18:30
|
On 16.07.2010, at 17:01, Andy Stewart wrote: > Axel Simon <Axe...@in...> writes: > >> Hi Andy, >> >> I think we need to install all versions of Gtk (2.8, 2.10... 2.20) >> on one machine (into different >> dirs using --prefix= to ./configure) and then build Gtk2Hs against >> each of these version (this can >> be done by setting PKG_CONFIG_PATH appropriately before each cabal >> configure). >> >> There are probably other build problems due to version differences. >> >> Do you want to look into this? It involves installing a lot of tar >> files (you need to download atk, >> pango, glib, cairo for each gtk version). Besides that, it's >> fairly straightforward. I could give >> you access to a computer I have under my desk, if you don't want >> to do that on yours. > Can we do half and half? > > You test 2.8, 2.10, 2.12 > > I test 2.14, 2.16, 2.18 2.20 > I think this work should be - create a table of version-tuples that belong together (gtk version, pango version, atk version,...) - writing a script that downloads the different versions, extracts and builds them - write a script that sets PKG_CONFIG_PATH and then calls ./bootstrap So I think one person should do it. But we could do it on the computer under my desk so we both have access to it. > BTW, we need fix all bugs in > http://hackage.haskell.org/trac/gtk2hs/report/2 ? > Or just fix 0.11.0 ? > Well we should fix whatever we can. > Can we finish *enhancement* ticket in gtk2hs-0.12.0 ? > Well, some of them are done already. This should be fixed: http://hackage.haskell.org/trac/gtk2hs/ticket/1164 Also 1179 and 1174. A. > Cheers, > > -- Andy > >> >> Cheers, >> Axel >> >> On 16.07.2010, at 16:34, Andy Stewart wrote: >> >>> diffing dir... >>> Fri Jul 16 10:32:51 EDT 2010 Andy Stewart <laz...@gm... >>> > >>> * Add 2.14 macro to make Builder.chs can build on gtk+-2.12 or >>> higher (Fixed bug 1189) >>> Ignore-this: beb720b6f7556bbb0352287f7bc5d56f >>> { >>> hunk ./gtk/Graphics/UI/Gtk/Builder.chs 85 >>> +#if GTK_CHECK_VERSION(2,14,0) >>> hunk ./gtk/Graphics/UI/Gtk/Builder.chs 88 >>> +#endif >>> hunk ./gtk/Graphics/UI/Gtk/Builder.chs 149 >>> +#if GTK_CHECK_VERSION(2,14,0) >>> hunk ./gtk/Graphics/UI/Gtk/Builder.chs 191 >>> +#endif >>> } >>> >>> ------------------------------------------------------------------------------ >>> This SF.net email is sponsored by Sprint >>> What will you do first with EVO, the first 4G phone? >>> Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first >>> _______________________________________________ >>> Gtk2hs-commit mailing list >>> Gtk...@li... >>> https://lists.sourceforge.net/lists/listinfo/gtk2hs-commit |
From: Andy S. <And...@co...> - 2010-07-16 15:14:19
|
diffing dir... Fri Jul 16 11:12:37 EDT 2010 Andy Stewart <laz...@gm...> * Make sure click close button will destory window in ghci. (Fixed bug 1172) Ignore-this: 11a06164b3a56ea4f8a6f4e460f42c1e { hunk ./gtk/demo/carsim/CarSim.hs 125 + mainWindow <- windowNew hunk ./gtk/demo/carsim/CarSim.hs 177 - onClicked qq mainQuit + onClicked qq (do + widgetDestroy mainWindow + mainQuit) hunk ./gtk/demo/carsim/CarSim.hs 252 - mainWindow <- windowNew hunk ./gtk/demo/filechooser/FileChooserDemo.hs 38 - quitButton `onClicked` mainQuit + quitButton `onClicked` (do + widgetDestroy mainWindow + mainQuit) } |
From: Andy S. <laz...@gm...> - 2010-07-16 15:02:10
|
Axel Simon <Axe...@in...> writes: > Hi Andy, > > I think we need to install all versions of Gtk (2.8, 2.10... 2.20) on one machine (into different > dirs using --prefix= to ./configure) and then build Gtk2Hs against each of these version (this can > be done by setting PKG_CONFIG_PATH appropriately before each cabal configure). > > There are probably other build problems due to version differences. > > Do you want to look into this? It involves installing a lot of tar files (you need to download atk, > pango, glib, cairo for each gtk version). Besides that, it's fairly straightforward. I could give > you access to a computer I have under my desk, if you don't want to do that on yours. Can we do half and half? You test 2.8, 2.10, 2.12 I test 2.14, 2.16, 2.18 2.20 BTW, we need fix all bugs in http://hackage.haskell.org/trac/gtk2hs/report/2 ? Or just fix 0.11.0 ? Can we finish *enhancement* ticket in gtk2hs-0.12.0 ? Cheers, -- Andy > > Cheers, > Axel > > On 16.07.2010, at 16:34, Andy Stewart wrote: > >> diffing dir... >> Fri Jul 16 10:32:51 EDT 2010 Andy Stewart <laz...@gm...> >> * Add 2.14 macro to make Builder.chs can build on gtk+-2.12 or higher (Fixed bug 1189) >> Ignore-this: beb720b6f7556bbb0352287f7bc5d56f >> { >> hunk ./gtk/Graphics/UI/Gtk/Builder.chs 85 >> +#if GTK_CHECK_VERSION(2,14,0) >> hunk ./gtk/Graphics/UI/Gtk/Builder.chs 88 >> +#endif >> hunk ./gtk/Graphics/UI/Gtk/Builder.chs 149 >> +#if GTK_CHECK_VERSION(2,14,0) >> hunk ./gtk/Graphics/UI/Gtk/Builder.chs 191 >> +#endif >> } >> >> ------------------------------------------------------------------------------ >> This SF.net email is sponsored by Sprint >> What will you do first with EVO, the first 4G phone? >> Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first >> _______________________________________________ >> Gtk2hs-commit mailing list >> Gtk...@li... >> https://lists.sourceforge.net/lists/listinfo/gtk2hs-commit |
From: Axel S. <Axe...@in...> - 2010-07-16 14:50:01
|
Hi Andy, I think we need to install all versions of Gtk (2.8, 2.10... 2.20) on one machine (into different dirs using --prefix= to ./configure) and then build Gtk2Hs against each of these version (this can be done by setting PKG_CONFIG_PATH appropriately before each cabal configure). There are probably other build problems due to version differences. Do you want to look into this? It involves installing a lot of tar files (you need to download atk, pango, glib, cairo for each gtk version). Besides that, it's fairly straightforward. I could give you access to a computer I have under my desk, if you don't want to do that on yours. Cheers, Axel On 16.07.2010, at 16:34, Andy Stewart wrote: > diffing dir... > Fri Jul 16 10:32:51 EDT 2010 Andy Stewart <laz...@gm...> > * Add 2.14 macro to make Builder.chs can build on gtk+-2.12 or > higher (Fixed bug 1189) > Ignore-this: beb720b6f7556bbb0352287f7bc5d56f > { > hunk ./gtk/Graphics/UI/Gtk/Builder.chs 85 > +#if GTK_CHECK_VERSION(2,14,0) > hunk ./gtk/Graphics/UI/Gtk/Builder.chs 88 > +#endif > hunk ./gtk/Graphics/UI/Gtk/Builder.chs 149 > +#if GTK_CHECK_VERSION(2,14,0) > hunk ./gtk/Graphics/UI/Gtk/Builder.chs 191 > +#endif > } > > ------------------------------------------------------------------------------ > This SF.net email is sponsored by Sprint > What will you do first with EVO, the first 4G phone? > Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first > _______________________________________________ > Gtk2hs-commit mailing list > Gtk...@li... > https://lists.sourceforge.net/lists/listinfo/gtk2hs-commit |
From: Andy S. <And...@co...> - 2010-07-16 14:34:49
|
diffing dir... Fri Jul 16 10:32:51 EDT 2010 Andy Stewart <laz...@gm...> * Add 2.14 macro to make Builder.chs can build on gtk+-2.12 or higher (Fixed bug 1189) Ignore-this: beb720b6f7556bbb0352287f7bc5d56f { hunk ./gtk/Graphics/UI/Gtk/Builder.chs 85 +#if GTK_CHECK_VERSION(2,14,0) hunk ./gtk/Graphics/UI/Gtk/Builder.chs 88 +#endif hunk ./gtk/Graphics/UI/Gtk/Builder.chs 149 +#if GTK_CHECK_VERSION(2,14,0) hunk ./gtk/Graphics/UI/Gtk/Builder.chs 191 +#endif } |
From: Andy S. <And...@co...> - 2010-07-16 14:13:34
|
diffing dir... Fri Jul 16 09:53:20 EDT 2010 Andy Stewart <laz...@gm...> * Export drawWindowScroll (Fixed ticket: 1186) Ignore-this: f759d2754007b99f16915a8eaab2847d hunk ./gtk/Graphics/UI/Gtk/Gdk/DrawWindow.chs 56 + drawWindowScroll, |
From: Andy S. <And...@co...> - 2010-07-16 14:13:33
|
diffing dir... Fri Jul 16 09:41:38 EDT 2010 Andy Stewart <laz...@gm...> * Fix null pointer bug in some signals. (Fixed bug 1194) Ignore-this: de9e51c5f86a5d3cd4f375bfe0ab043d { hunk ./gtk/Graphics/UI/Gtk/Abstract/Container.chs 532 -setFocusChild :: ContainerClass self => Signal self (Widget -> IO ()) -setFocusChild = Signal (connect_OBJECT__NONE "set-focus-child") +setFocusChild :: ContainerClass self => Signal self (Maybe Widget -> IO ()) +setFocusChild = Signal (connect_MOBJECT__NONE "set-focus-child") hunk ./gtk/Graphics/UI/Gtk/Abstract/Container.chs 583 - -> (Widget -> IO ()) + -> (Maybe Widget -> IO ()) hunk ./gtk/Graphics/UI/Gtk/Abstract/Container.chs 585 -onSetFocusChild = connect_OBJECT__NONE "set-focus-child" False +onSetFocusChild = connect_MOBJECT__NONE "set-focus-child" False hunk ./gtk/Graphics/UI/Gtk/Abstract/Container.chs 590 - -> (Widget -> IO ()) + -> (Maybe Widget -> IO ()) hunk ./gtk/Graphics/UI/Gtk/Abstract/Container.chs 592 -afterSetFocusChild = connect_OBJECT__NONE "set-focus-child" True +afterSetFocusChild = connect_MOBJECT__NONE "set-focus-child" True hunk ./gtk/Graphics/UI/Gtk/Windows/Window.chs 2258 -setFocus :: WindowClass self => Signal self (Widget -> IO ()) -setFocus = Signal (connect_OBJECT__NONE "set-focus") +setFocus :: WindowClass self => Signal self (Maybe Widget -> IO ()) +setFocus = Signal (connect_MOBJECT__NONE "set-focus") hunk ./gtk/Graphics/UI/Gtk/Windows/Window.chs 2266 - -> (foc -> IO ()) + -> (Maybe foc -> IO ()) hunk ./gtk/Graphics/UI/Gtk/Windows/Window.chs 2268 -onSetFocus = connect_OBJECT__NONE "set-focus" False -afterSetFocus = connect_OBJECT__NONE "set-focus" True +onSetFocus = connect_MOBJECT__NONE "set-focus" False +afterSetFocus = connect_MOBJECT__NONE "set-focus" True } |
From: Andy S. <And...@co...> - 2010-07-16 12:58:33
|
diffing dir... Fri Jul 16 08:56:55 EDT 2010 Andy Stewart <laz...@gm...> * Export imageSurfaceCreateFromPNG. (Fixed bug 1173) Ignore-this: 22cbe2f1c6df7f587bccb1b5d4d60ed7 { hunk ./cairo/Graphics/Rendering/Cairo.hs 210 + , imageSurfaceCreateFromPNG hunk ./cairo/Graphics/Rendering/Cairo.hs 293 +import Graphics.Rendering.Cairo.Internal (imageSurfaceCreateFromPNG) + } |
From: Andy S. <And...@co...> - 2010-07-16 12:53:58
|
diffing dir... Fri Jul 16 08:52:09 EDT 2010 Andy Stewart <laz...@gm...> * Export some functions (fix bug 1171) Ignore-this: e40b04bb32d6b90580eca3a2094a9577 { hunk ./gtk/Graphics/UI/Gtk/ModelView/TreeStore.hs 46 --- treeStoreSetTree, hunk ./gtk/Graphics/UI/Gtk/ModelView/TreeStore.hs 49 + treeStoreInsertForest, hunk ./gtk/Graphics/UI/Gtk/ModelView/TreeStore.hs 53 + + treeStoreChange, + treeStoreChangeM, } |
From: Axel S. <si...@co...> - 2010-07-16 11:44:09
|
diffing dir... Fri Jul 16 07:34:29 EDT 2010 Axe...@in... * Work around a bug in ghci that causes a crash on x86-64 platforms. Ignore-this: 2e16c4dea831f0e52fbc7b1834d564f6 hunk ./gtk/gtk.cabal 313 - + -- Due to http://hackage.haskell.org/trac/ghc/ticket/781 + -- we need to compile the hsgthread.c module with -fPIC to ensure that a global + -- variable in GLib that holds the address for the mutex lock and unlock functions + -- is accessed correctly. This bug only exists on x86-64 platforms. + if arch(x86_64) + cc-options: -fPIC |
From: Axel S. <si...@co...> - 2010-07-16 11:44:07
|
diffing dir... Fri Jul 16 07:34:01 EDT 2010 Axe...@in... * Fix indentation in hsgthread.c module. Ignore-this: ee943347749c31249eb0141113d86be5 { hunk ./gtk/Graphics/UI/Gtk/General/hsgthread.c 68 -#ifdef DEBUG - printf("gtk2hs_threads_initialise: thread lock function=%lx\n", - (unsigned long) g_thread_functions_for_glib_use.mutex_lock); -#endif - /* from here onwards, the Gdk lock is held */ - GDK_THREADS_ENTER (); + + /* from here onwards, the Gdk lock is held */ + GDK_THREADS_ENTER (); hunk ./gtk/Graphics/UI/Gtk/General/hsgthread.c 81 - printf("acquiring lock to add a %s object at %lx\n", + printf("acquiring lock to add a %s object at %lx\n", hunk ./gtk/Graphics/UI/Gtk/General/hsgthread.c 95 - if (mutex_locked) printf("within mutex: "); + if (mutex_locked) printf("within mutex: "); hunk ./gtk/Graphics/UI/Gtk/General/hsgthread.c 106 - printf("creating finalizer list.\n"); + printf("creating finalizer list.\n"); hunk ./gtk/Graphics/UI/Gtk/General/hsgthread.c 111 - printf("re-initializing finalizer source.\n"); + printf("re-initializing finalizer source.\n"); hunk ./gtk/Graphics/UI/Gtk/General/hsgthread.c 128 - printf("releasing lock to add a %s object at %lx\n", - g_type_name(G_OBJECT_TYPE(object)), (unsigned long) object); + printf("releasing lock to add a %s object at %lx\n", + g_type_name(G_OBJECT_TYPE(object)), (unsigned long) object); hunk ./gtk/Graphics/UI/Gtk/General/hsgthread.c 144 - GDK_THREADS_ENTER (); + GDK_THREADS_ENTER (); hunk ./gtk/Graphics/UI/Gtk/General/hsgthread.c 149 - printf("acquiring lock to kill objects\n"); + printf("acquiring lock to kill objects\n"); hunk ./gtk/Graphics/UI/Gtk/General/hsgthread.c 172 - printf("releasing lock to kill objects\n"); + printf("releasing lock to kill objects\n"); hunk ./gtk/Graphics/UI/Gtk/General/hsgthread.c 181 - GDK_THREADS_LEAVE (); + GDK_THREADS_LEAVE (); } |