You can subscribe to this list here.
2008 |
Jan
|
Feb
(53) |
Mar
(145) |
Apr
(22) |
May
(7) |
Jun
(14) |
Jul
(14) |
Aug
(9) |
Sep
(10) |
Oct
(48) |
Nov
(59) |
Dec
(45) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2009 |
Jan
(36) |
Feb
(5) |
Mar
(33) |
Apr
(28) |
May
(5) |
Jun
(6) |
Jul
(1) |
Aug
(7) |
Sep
(11) |
Oct
(3) |
Nov
(31) |
Dec
|
2010 |
Jan
(8) |
Feb
(3) |
Mar
|
Apr
(2) |
May
(9) |
Jun
(1) |
Jul
(2) |
Aug
|
Sep
(1) |
Oct
(1) |
Nov
|
Dec
|
2011 |
Jan
(1) |
Feb
(3) |
Mar
(4) |
Apr
(1) |
May
(2) |
Jun
(12) |
Jul
(36) |
Aug
(7) |
Sep
(40) |
Oct
(6) |
Nov
(40) |
Dec
(8) |
2012 |
Jan
(54) |
Feb
(8) |
Mar
(1) |
Apr
(16) |
May
(2) |
Jun
(12) |
Jul
(1) |
Aug
(1) |
Sep
(2) |
Oct
(2) |
Nov
|
Dec
(7) |
2013 |
Jan
(8) |
Feb
|
Mar
(13) |
Apr
(2) |
May
(13) |
Jun
(44) |
Jul
|
Aug
(13) |
Sep
(12) |
Oct
(11) |
Nov
(7) |
Dec
(6) |
2014 |
Jan
(3) |
Feb
(4) |
Mar
(9) |
Apr
(1) |
May
|
Jun
(3) |
Jul
(1) |
Aug
(1) |
Sep
(1) |
Oct
|
Nov
|
Dec
|
2015 |
Jan
|
Feb
(2) |
Mar
|
Apr
|
May
(2) |
Jun
(3) |
Jul
|
Aug
(2) |
Sep
(5) |
Oct
(2) |
Nov
(1) |
Dec
(1) |
2017 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
2020 |
Jan
(1) |
Feb
|
Mar
|
Apr
(1) |
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: shelarcy <she...@gm...> - 2008-05-26 08:54:59
|
DarcsURL: C:/home/shelarcy/wxhaskell MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=_" --=_ Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Wed Apr 30 08:20:26 =93=8C=8B=9E (=95W=8F=80=8E=9E) 2008 shelarcy <shelarc= y...@gm...> * Change samples/contrib/PaintDirect to use withPixelBuffer instead of im= ageGetPixelBuffer. Wed Apr 30 08:33:48 =93=8C=8B=9E (=95W=8F=80=8E=9E) 2008 shelarcy <shelarc= y...@gm...> * Remove Wave type synonym. Wed Apr 30 09:29:21 =93=8C=8B=9E (=95W=8F=80=8E=9E) 2008 shelarcy <shelarc= y...@gm...> * Remove wxWidgets 2.4.x's wxWave code. Sat May 24 11:14:36 =93=8C=8B=9E (=95W=8F=80=8E=9E) 2008 shelarcy <shelarc= y...@gm...> * Fix: wxSound isn't managed object. Mon May 26 14:50:33 =93=8C=8B=9E (=95W=8F=80=8E=9E) 2008 shelarcy <shelarc= y...@gm...> * Change Point, Size, Vector and Rect to be type synonym for adding wxGra= phicsContext support. Mon May 26 15:32:28 =93=8C=8B=9E (=95W=8F=80=8E=9E) 2008 shelarcy <shelarc= y...@gm...> * Add very experimental wxGraphicsContext support. Mon May 26 16:06:27 =93=8C=8B=9E (=95W=8F=80=8E=9E) 2008 shelarcy <shelarc= y...@gm...> * Use putTraceMsg instead of hPutStrLn for Windows GUI-only program. --=_ Content-Type: text/x-darcs-patch; name="change-samples_contrib_paintdirect-to-use-withpixelbuffer-instead-of-imagegetpixelbuffer_.dpatch" Content-Transfer-Encoding: quoted-printable Content-Description: A darcs patch for your repository! New patches: [Change samples/contrib/PaintDirect to use withPixelBuffer instead of image= GetPixelBuffer. shelarcy <she...@gm...>**20080429232026] { hunk ./samples/contrib/PaintDirect.hs 21 - pb <- imageGetPixelBuffer im - fillGreenBlue pb + withPixelBuffer im fillGreenBlue } [Remove Wave type synonym. shelarcy <she...@gm...>**20080429233348] { hunk ./wx/src/Graphics/UI/WX/Media.hs 20 - , Wave, sound, playLoop, playWait + , sound, playLoop, playWait hunk ./wx/src/Graphics/UI/WX/Media.hs 93 -{-# DEPRECATED Wave "Use Sound instead" #-} --- | Define Wave type synonym for people who are familiar with --- wxWidgets 2.4.x or lower name. -type Wave a =3D Sound a - } [Remove wxWidgets 2.4.x's wxWave code. shelarcy <she...@gm...>**20080430002921] { hunk ./wx/src/Graphics/UI/WX/Media.hs 94 - play sound =3D - if (div wxVersion 100) =3D=3D 24 - then unitIO (soundPlayCompatible sound True False) - else unitIO (soundPlay sound wxSOUND_ASYNC) + play sound =3D unitIO (soundPlay sound wxSOUND_ASYNC) hunk ./wx/src/Graphics/UI/WX/Media.hs 100 - =3D if (div wxVersion 100) =3D=3D 24 - then unitIO (soundPlayCompatible sound True True) - else unitIO (soundPlay sound $ wxSOUND_ASYNC .+. wxSOUND_LOOP) + =3D unitIO (soundPlay sound $ wxSOUND_ASYNC .+. wxSOUND_LOOP) hunk ./wx/src/Graphics/UI/WX/Media.hs 105 - =3D if (div wxVersion 100) =3D=3D 24 - then unitIO (soundPlayCompatible sound False False) - else unitIO (soundPlay sound wxSOUND_SYNC) + =3D unitIO (soundPlay sound wxSOUND_SYNC) hunk ./wxc/include/sound.h 11 -TBool wxSound_PlayCompatible(TSelf(wxSound) self, TBool async, TBool loop= ed );=0D hunk ./wxc/src/sound.cpp 2 -#if (wxVERSION_NUMBER >=3D 2500) hunk ./wxc/src/sound.cpp 3 -#else /* (wxVERSION_NUMBER >=3D 2500) */ -#include "wx/wave.h" -#endif /* (wxVERSION_NUMBER >=3D 2500) */ hunk ./wxc/src/sound.cpp 5 -// #define wxUSE_WAVE 0 +// #define wxUSE_SOUND 0 hunk ./wxc/src/sound.cpp 9 - systems that don't support openGL. This means that every function body i= s - surrounded by #ifdef wxUSE_WAVE directives :-( + systems that don't support wxSound. This means that every function body = is + surrounded by #ifdef wxUSE_SOUND directives :-( hunk ./wxc/src/sound.cpp 12 -#if defined(wxUSE_WAVE) && (wxUSE_WAVE=3D=3D0) -# undef wxUSE_WAVE -#endif hunk ./wxc/src/sound.cpp 17 -#ifndef wxUSE_WAVE -# define wxWave void -#endif - hunk ./wxc/src/sound.cpp 23 -#if (wxVERSION_NUMBER >=3D 2500) hunk ./wxc/src/sound.cpp 60 -EWXWEXPORT(bool,wxSound_PlayCompatible)(wxSound* self, bool async, bool lo= oped ) = -{ -#if (WXWIN_COMPATIBILITY_2_4=3D=3D1) && defined(wxUSE_SOUND) - return ((wxSoundBase *) self)->Play(async,looped); -#else - return false; -#endif -} - hunk ./wxc/src/sound.cpp 67 -#else /* (wxVERSION_NUMBER >=3D 2500) */ - -/*------------------------------------------------------------------------= ----- - Wave ---------------------------------------------------------------------------= ---*/ -EWXWEXPORT(wxWave*,wxSound_Create)( wxString* fileName, bool isResource ) = = -{ -#ifdef wxUSE_WAVE = - return new wxWave(*fileName,isResource); -#else - return NULL; -#endif -} - -EWXWEXPORT(void,wxSound_Delete)(wxWave* self) = -{ -#ifdef wxUSE_WAVE = - if (self) delete self; -#endif -} - -EWXWEXPORT(bool,wxSound_IsOk)(wxWave* self) = -{ -#ifdef wxUSE_WAVE = - return self->IsOk(); -#else - return false; -#endif -} - -EWXWEXPORT(bool,wxSound_Play)(wxWave* self, unsigned flag ) = -{ - return false; -} - -EWXWEXPORT(bool,wxSound_PlayCompatible)(wxWave* self, bool async, bool loo= ped ) = -{ -#ifdef wxUSE_WAVE = - return self->Play(async,looped); -#else - return false; -#endif -} - -EWXWEXPORT(void,wxSound_Stop)(wxWave* self) = -{ -} - -#endif /* (wxVERSION_NUMBER >=3D 2500) */ - } [Fix: wxSound isn't managed object. shelarcy <she...@gm...>**20080524021436] { hunk ./wxdirect/src/Classes.hs 162 - ["Wave"] ++ + ["Sound"] ++ } [Change Point, Size, Vector and Rect to be type synonym for adding wxGraphi= csContext support. shelarcy <she...@gm...>**20080526055033] { hunk ./wx/src/Graphics/UI/WX/Types.hs 71 - , Point(Point,pointX,pointY), point, pt, pointFromVec, pointFromSize, = pointZero, pointNull + , Point, Point2(Point,pointX,pointY), point, pt, pointFromVec, pointFr= omSize, pointZero, pointNull hunk ./wx/src/Graphics/UI/WX/Types.hs 75 - , Size(Size,sizeW,sizeH), sz, sizeFromPoint, sizeFromVec, sizeZero, si= zeNull, sizeEncloses + , Size, Size2D(Size,sizeW,sizeH), sz, sizeFromPoint, sizeFromVec, size= Zero, sizeNull, sizeEncloses hunk ./wx/src/Graphics/UI/WX/Types.hs 79 - , Vector(Vector,vecX,vecY), vector, vec, vecFromPoint, vecFromSize, ve= cZero, vecNull + , Vector, Vector2(Vector,vecX,vecY), vector, vec, vecFromPoint, vecFro= mSize, vecZero, vecNull hunk ./wx/src/Graphics/UI/WX/Types.hs 81 + , vecLengthDouble hunk ./wx/src/Graphics/UI/WX/Types.hs 84 - , Rect(Rect,rectLeft,rectTop,rectWidth,rectHeight) + , Rect, Rect2D(Rect,rectLeft,rectTop,rectWidth,rectHeight) hunk ./wx/src/Graphics/UI/WX/Types.hs 88 + , rectCentralPointDouble, rectCentralRectDouble hunk ./wxcore/src/Graphics/UI/WXCore/Types.hs 60 - , Point(Point,pointX,pointY), point, pt, pointFromVec, pointFr= omSize, pointZero, pointNull + , Point, Point2(Point,pointX,pointY), point, pt, pointFromVec,= pointFromSize, pointZero, pointNull hunk ./wxcore/src/Graphics/UI/WXCore/Types.hs 64 - , Size(Size,sizeW,sizeH), sz, sizeFromPoint, sizeFromVec, size= Zero, sizeNull, sizeEncloses + , Size, Size2D(Size,sizeW,sizeH), sz, sizeFromPoint, sizeFromV= ec, sizeZero, sizeNull, sizeEncloses hunk ./wxcore/src/Graphics/UI/WXCore/Types.hs 68 - , Vector(Vector,vecX,vecY), vector, vec, vecFromPoint, vecFrom= Size, vecZero, vecNull + , Vector, Vector2(Vector,vecX,vecY), vector, vec, vecFromPoint= , vecFromSize, vecZero, vecNull hunk ./wxcore/src/Graphics/UI/WXCore/Types.hs 70 + , vecLengthDouble hunk ./wxcore/src/Graphics/UI/WXCore/Types.hs 73 - , Rect(Rect,rectLeft,rectTop,rectWidth,rectHeight) + , Rect, Rect2D(Rect,rectLeft,rectTop,rectWidth,rectHeight) hunk ./wxcore/src/Graphics/UI/WXCore/Types.hs 77 + , rectCentralPointDouble, rectCentralRectDouble hunk ./wxcore/src/Graphics/UI/WXCore/Types.hs 234 -pointMove :: Vector -> Point -> Point +pointMove :: (Num a) =3D> Vector2 a -> Point2 a -> Point2 a hunk ./wxcore/src/Graphics/UI/WXCore/Types.hs 238 -pointMoveBySize :: Point -> Size -> Point +pointMoveBySize :: (Num a) =3D> Point2 a -> Size2D a -> Point2 a hunk ./wxcore/src/Graphics/UI/WXCore/Types.hs 241 -pointAdd :: Point -> Point -> Point +pointAdd :: (Num a) =3D> Point2 a -> Point2 a -> Point2 a hunk ./wxcore/src/Graphics/UI/WXCore/Types.hs 244 -pointSub :: Point -> Point -> Point +pointSub :: (Num a) =3D> Point2 a -> Point2 a -> Point2 a hunk ./wxcore/src/Graphics/UI/WXCore/Types.hs 247 -pointScale :: Point -> Int -> Point +pointScale :: (Num a) =3D> Point2 a -> a -> Point2 a hunk ./wxcore/src/Graphics/UI/WXCore/Types.hs 251 -instance Ord Point where +instance (Num a, Ord a) =3D> Ord (Point2 a) where hunk ./wxcore/src/Graphics/UI/WXCore/Types.hs 258 -instance Ix Point where +instance Ix (Point2 Int) where hunk ./wxcore/src/Graphics/UI/WXCore/Types.hs 280 -sizeWidth :: Size -> Int +sizeWidth :: (Num a) =3D> Size2D a -> a hunk ./wxcore/src/Graphics/UI/WXCore/Types.hs 285 -sizeHeight :: Size -> Int +sizeHeight :: (Num a) =3D> Size2D a -> a hunk ./wxcore/src/Graphics/UI/WXCore/Types.hs 290 -sizeEncloses :: Size -> Size -> Bool +sizeEncloses :: (Num a, Ord a) =3D> Size2D a -> Size2D a -> Bool hunk ./wxcore/src/Graphics/UI/WXCore/Types.hs 295 -sizeMin :: Size -> Size -> Size +sizeMin :: (Num a, Ord a) =3D> Size2D a -> Size2D a -> Size2D a hunk ./wxcore/src/Graphics/UI/WXCore/Types.hs 300 -sizeMax :: Size -> Size -> Size +sizeMax :: (Num a, Ord a) =3D> Size2D a -> Size2D a -> Size2D a hunk ./wxcore/src/Graphics/UI/WXCore/Types.hs 307 -vecNegate :: Vector -> Vector +vecNegate :: (Num a) =3D> Vector2 a -> Vector2 a hunk ./wxcore/src/Graphics/UI/WXCore/Types.hs 311 -vecOrtogonal :: Vector -> Vector +vecOrtogonal :: (Num a) =3D> Vector2 a -> Vector2 a hunk ./wxcore/src/Graphics/UI/WXCore/Types.hs 314 -vecAdd :: Vector -> Vector -> Vector +vecAdd :: (Num a) =3D> Vector2 a -> Vector2 a -> Vector2 a hunk ./wxcore/src/Graphics/UI/WXCore/Types.hs 317 -vecSub :: Vector -> Vector -> Vector +vecSub :: (Num a) =3D> Vector2 a -> Vector2 a -> Vector2 a hunk ./wxcore/src/Graphics/UI/WXCore/Types.hs 320 -vecScale :: Vector -> Int -> Vector +vecScale :: (Num a) =3D> Vector2 a -> a -> Vector2 a hunk ./wxcore/src/Graphics/UI/WXCore/Types.hs 323 -vecBetween :: Point -> Point -> Vector +vecBetween :: (Num a) =3D> Point2 a -> Point2 a -> Vector2 a hunk ./wxcore/src/Graphics/UI/WXCore/Types.hs 330 +vecLengthDouble :: Vector2 Double -> Double +vecLengthDouble (Vector x y) + =3D sqrt (x*x + y*y) + hunk ./wxcore/src/Graphics/UI/WXCore/Types.hs 337 -rectContains :: Rect -> Point -> Bool +rectContains :: (Num a, Ord a) =3D> Rect2D a -> Point2 a -> Bool hunk ./wxcore/src/Graphics/UI/WXCore/Types.hs 341 -rectMoveTo :: Rect -> Point -> Rect +rectMoveTo :: (Num a) =3D> Rect2D a -> Point2 a -> Rect2D a hunk ./wxcore/src/Graphics/UI/WXCore/Types.hs 345 -rectFromPoint :: Point -> Rect +rectFromPoint :: (Num a) =3D> Point2 a -> Rect2D a hunk ./wxcore/src/Graphics/UI/WXCore/Types.hs 349 -rectCentralPoint :: Rect -> Point +rectCentralPoint :: Rect2D Int -> Point2 Int hunk ./wxcore/src/Graphics/UI/WXCore/Types.hs 353 -rectCentralRect :: Rect -> Size -> Rect +rectCentralRect :: Rect2D Int -> Size -> Rect2D Int hunk ./wxcore/src/Graphics/UI/WXCore/Types.hs 358 +rectCentralPointDouble :: (Fractional a) =3D> Rect2D a -> Point2 a +rectCentralPointDouble (Rect l t w h) + =3D Point (l + w/2) (t + h/2) + +rectCentralRectDouble :: (Fractional a) =3D> Rect2D a -> Size2D a -> Rect2= D a +rectCentralRectDouble r@(Rect l t rw rh) (Size w h) + =3D let c =3D rectCentralPointDouble r + in Rect (pointX c - (w - w/2)) (pointY c - (h - h/2)) w h + hunk ./wxcore/src/Graphics/UI/WXCore/Types.hs 368 -rectStretchTo :: Rect -> Size -> Rect +rectStretchTo :: (Num a) =3D> Rect2D a -> Size2D a -> Rect2D a hunk ./wxcore/src/Graphics/UI/WXCore/Types.hs 372 -rectMove :: Rect -> Vector -> Rect +rectMove :: (Num a) =3D> Rect2D a -> Vector2 a -> Rect2D a hunk ./wxcore/src/Graphics/UI/WXCore/Types.hs 376 -rectOverlaps :: Rect -> Rect -> Bool +rectOverlaps :: (Num a, Ord a) =3D> Rect2D a -> Rect2D a -> Bool hunk ./wxcore/src/Graphics/UI/WXCore/Types.hs 382 -rectsDiff :: Rect -> Rect -> [Rect] +rectsDiff :: (Num a, Ord a) =3D> Rect2D a -> Rect2D a -> [Rect2D a] hunk ./wxcore/src/Graphics/UI/WXCore/Types.hs 387 - subtractFittingRect :: Rect -> Rect -> [Rect] + subtractFittingRect :: (Num a, Ord a) =3D> Rect2D a -> Rect2D a -> [Re= ct2D a] hunk ./wxcore/src/Graphics/UI/WXCore/Types.hs 396 -rectUnion :: Rect -> Rect -> Rect +rectUnion :: (Num a, Ord a) =3D> Rect2D a -> Rect2D a -> Rect2D a hunk ./wxcore/src/Graphics/UI/WXCore/Types.hs 401 -rectUnions :: [Rect] -> Rect +rectUnions :: (Num a, Ord a) =3D> [Rect2D a] -> Rect2D a hunk ./wxcore/src/Graphics/UI/WXCore/Types.hs 408 -rectOverlap :: Rect -> Rect -> Rect +rectOverlap :: (Num a, Ord a) =3D> Rect2D a -> Rect2D a -> Rect2D a hunk ./wxcore/src/Graphics/UI/WXCore/WxcTypes.hs 35 - , Point(Point,pointX,pointY), point, pt, pointFromVec, pointFr= omSize, pointZero, pointNull + , Point, Point2(Point,pointX,pointY), point, pt, pointFromVec,= pointFromSize, pointZero, pointNull hunk ./wxcore/src/Graphics/UI/WXCore/WxcTypes.hs 38 - , Size(Size,sizeW,sizeH), sz, sizeFromPoint, sizeFromVec, size= Zero, sizeNull + , Size, Size2D(Size,sizeW,sizeH), sz, sizeFromPoint, sizeFromV= ec, sizeZero, sizeNull hunk ./wxcore/src/Graphics/UI/WXCore/WxcTypes.hs 41 - , Vector(Vector,vecX,vecY), vector, vec, vecFromPoint, vecFrom= Size, vecZero, vecNull + , Vector, Vector2(Vector,vecX,vecY), vector, vec, vecFromPoint= , vecFromSize, vecZero, vecNull hunk ./wxcore/src/Graphics/UI/WXCore/WxcTypes.hs 44 - , Rect(Rect,rectLeft,rectTop,rectWidth,rectHeight) + , Rect, Rect2D(Rect,rectLeft,rectTop,rectWidth,rectHeight) hunk ./wxcore/src/Graphics/UI/WXCore/WxcTypes.hs 57 + , withRectDoubleResult, withCRectDouble hunk ./wxcore/src/Graphics/UI/WXCore/WxcTypes.hs 190 +--- | Define Point type synonym for backward compatibility. +type Point =3D Point2 Int + hunk ./wxcore/src/Graphics/UI/WXCore/WxcTypes.hs 196 -data Point =3D Point - { pointX :: !Int -- ^ x component of a point. - , pointY :: !Int -- ^ y component of a point. +data (Num a) =3D> Point2 a =3D Point + { pointX :: {-# UNPACK #-} !a -- ^ x component of a point. + , pointY :: {-# UNPACK #-} !a -- ^ y component of a point. hunk ./wxcore/src/Graphics/UI/WXCore/WxcTypes.hs 203 -point :: Int -> Int -> Point +point :: (Num a) =3D> a -> a -> Point2 a hunk ./wxcore/src/Graphics/UI/WXCore/WxcTypes.hs 207 -pt :: Int -> Int -> Point +pt :: (Num a) =3D> a -> a -> Point2 a hunk ./wxcore/src/Graphics/UI/WXCore/WxcTypes.hs 210 -pointFromVec :: Vector -> Point +pointFromVec :: (Num a) =3D> Vector -> Point2 a hunk ./wxcore/src/Graphics/UI/WXCore/WxcTypes.hs 212 - =3D Point x y + =3D Point (fromIntegral x) (fromIntegral y) hunk ./wxcore/src/Graphics/UI/WXCore/WxcTypes.hs 214 -pointFromSize :: Size -> Point +pointFromSize :: (Num a) =3D> Size -> Point2 a hunk ./wxcore/src/Graphics/UI/WXCore/WxcTypes.hs 216 - =3D Point w h + =3D Point (fromIntegral w) (fromIntegral h) hunk ./wxcore/src/Graphics/UI/WXCore/WxcTypes.hs 219 -pointZero :: Point +pointZero :: (Num a) =3D> Point2 a hunk ./wxcore/src/Graphics/UI/WXCore/WxcTypes.hs 225 -pointNull :: Point +pointNull :: (Num a) =3D> Point2 a hunk ./wxcore/src/Graphics/UI/WXCore/WxcTypes.hs 230 -withCPoint :: Point -> (CInt -> CInt -> IO a) -> IO a +withCPoint :: Point2 Int -> (CInt -> CInt -> IO a) -> IO a hunk ./wxcore/src/Graphics/UI/WXCore/WxcTypes.hs 234 -withPointResult :: (Ptr CInt -> Ptr CInt -> IO ()) -> IO Point +withPointResult :: (Ptr CInt -> Ptr CInt -> IO ()) -> IO (Point2 Int) hunk ./wxcore/src/Graphics/UI/WXCore/WxcTypes.hs 243 -toCIntPointX, toCIntPointY :: Point -> CInt +toCIntPointX, toCIntPointY :: Point2 Int -> CInt hunk ./wxcore/src/Graphics/UI/WXCore/WxcTypes.hs 247 -fromCPoint :: CInt -> CInt -> Point +fromCPoint :: CInt -> CInt -> Point2 Int hunk ./wxcore/src/Graphics/UI/WXCore/WxcTypes.hs 255 +--- | Define Point type synonym for backward compatibility. +type Size =3D Size2D Int + hunk ./wxcore/src/Graphics/UI/WXCore/WxcTypes.hs 259 -data Size =3D Size - { sizeW :: !Int -- ^ the width of a size - , sizeH :: !Int -- ^ the height of a size +data (Num a) =3D> Size2D a =3D Size + { sizeW :: {-# UNPACK #-} !a -- ^ the width of a size + , sizeH :: {-# UNPACK #-} !a -- ^ the height of a size hunk ./wxcore/src/Graphics/UI/WXCore/WxcTypes.hs 266 -size :: Int -> Int -> Size +size :: (Num a) =3D> a -> a -> Size2D a hunk ./wxcore/src/Graphics/UI/WXCore/WxcTypes.hs 271 -sz :: Int -> Int -> Size +sz :: (Num a) =3D> a -> a -> Size2D a hunk ./wxcore/src/Graphics/UI/WXCore/WxcTypes.hs 275 -sizeFromPoint :: Point -> Size +sizeFromPoint :: (Num a) =3D> Point2 a -> Size2D a hunk ./wxcore/src/Graphics/UI/WXCore/WxcTypes.hs 279 -sizeFromVec :: Vector -> Size +sizeFromVec :: (Num a) =3D> Vector2 a -> Size2D a hunk ./wxcore/src/Graphics/UI/WXCore/WxcTypes.hs 283 -sizeZero :: Size +sizeZero :: (Num a) =3D> Size2D a hunk ./wxcore/src/Graphics/UI/WXCore/WxcTypes.hs 289 -sizeNull :: Size +sizeNull :: (Num a) =3D> Size2D a hunk ./wxcore/src/Graphics/UI/WXCore/WxcTypes.hs 318 +--- | Define Point type synonym for backward compatibility. +type Vector =3D Vector2 Int + hunk ./wxcore/src/Graphics/UI/WXCore/WxcTypes.hs 322 -data Vector =3D Vector - { vecX :: !Int -- ^ delta-x component of a vector - , vecY :: !Int -- ^ delta-y component of a vector +data (Num a) =3D> Vector2 a =3D Vector + { vecX :: {-# UNPACK #-} !a -- ^ delta-x component of a vector + , vecY :: {-# UNPACK #-} !a -- ^ delta-y component of a vector hunk ./wxcore/src/Graphics/UI/WXCore/WxcTypes.hs 329 -vector :: Int -> Int -> Vector +vector :: (Num a) =3D> a -> a -> Vector2 a hunk ./wxcore/src/Graphics/UI/WXCore/WxcTypes.hs 333 -vec :: Int -> Int -> Vector +vec :: (Num a) =3D> a -> a -> Vector2 a hunk ./wxcore/src/Graphics/UI/WXCore/WxcTypes.hs 337 -vecZero :: Vector +vecZero :: (Num a) =3D> Vector2 a hunk ./wxcore/src/Graphics/UI/WXCore/WxcTypes.hs 343 -vecNull :: Vector +vecNull :: (Num a) =3D> Vector2 a hunk ./wxcore/src/Graphics/UI/WXCore/WxcTypes.hs 347 -vecFromPoint :: Point -> Vector +vecFromPoint :: (Num a) =3D> Point2 a -> Vector2 a hunk ./wxcore/src/Graphics/UI/WXCore/WxcTypes.hs 382 +--- | Define Point type synonym for backward compatibility. +type Rect =3D Rect2D Int + hunk ./wxcore/src/Graphics/UI/WXCore/WxcTypes.hs 387 -data Rect =3D Rect - { rectLeft :: !Int - , rectTop :: !Int - , rectWidth :: !Int - , rectHeight :: !Int +data (Num a) =3D> Rect2D a =3D Rect + { rectLeft :: {-# UNPACK #-} !a + , rectTop :: {-# UNPACK #-} !a + , rectWidth :: {-# UNPACK #-} !a + , rectHeight :: {-# UNPACK #-} !a hunk ./wxcore/src/Graphics/UI/WXCore/WxcTypes.hs 396 -rectTopLeft, rectTopRight, rectBottomLeft, rectBottomRight :: Rect -> Poin= t +rectTopLeft, rectTopRight, rectBottomLeft, rectBottomRight :: (Num a) =3D>= Rect2D a -> Point2 a hunk ./wxcore/src/Graphics/UI/WXCore/WxcTypes.hs 402 -rectBottom, rectRight :: Rect -> Int +rectBottom, rectRight :: (Num a) =3D> Rect2D a -> a hunk ./wxcore/src/Graphics/UI/WXCore/WxcTypes.hs 407 -rect :: Point -> Size -> Rect +rect :: (Num a) =3D> Point2 a -> Size2D a -> Rect2D a hunk ./wxcore/src/Graphics/UI/WXCore/WxcTypes.hs 412 -rectBetween :: Point -> Point -> Rect +rectBetween :: (Num a, Ord a) =3D> Point2 a -> Point2 a -> Rect2D a hunk ./wxcore/src/Graphics/UI/WXCore/WxcTypes.hs 417 -rectZero :: Rect +rectZero :: (Num a) =3D> Rect2D a hunk ./wxcore/src/Graphics/UI/WXCore/WxcTypes.hs 423 -rectNull :: Rect +rectNull :: (Num a) =3D> Rect2D a hunk ./wxcore/src/Graphics/UI/WXCore/WxcTypes.hs 428 -rectSize :: Rect -> Size +rectSize :: (Num a) =3D> Rect2D a -> Size2D a hunk ./wxcore/src/Graphics/UI/WXCore/WxcTypes.hs 433 -rectFromSize :: Size -> Rect +rectFromSize :: (Num a) =3D> Size2D a -> Rect2D a hunk ./wxcore/src/Graphics/UI/WXCore/WxcTypes.hs 437 -rectIsEmpty :: Rect -> Bool +rectIsEmpty :: (Num a) =3D> Rect2D a -> Bool } [Add very experimental wxGraphicsContext support. shelarcy <she...@gm...>**20080526063228] { hunk ./makefile 149 - treectrl image apppath db dragimage glcanvas sound managed \ + treectrl image apppath db dragimage glcanvas graphicscontext sound manage= d \ hunk ./makefile 181 + wxc/include/graphicscontext.h \ addfile ./wxc/include/graphicscontext.h hunk ./wxc/include/graphicscontext.h 1 +TClassDefExtend(wxGraphicsObject,wxObject);=0D +TClassDefExtend(wxGraphicsBrush,wxGraphicsObject);=0D +TClassDefExtend(wxGraphicsContext,wxGraphicsObject);=0D +TClassDefExtend(wxGraphicsFont,wxGraphicsObject);=0D +TClassDefExtend(wxGraphicsMatrix,wxGraphicsObject);=0D +TClassDefExtend(wxGraphicsPath,wxGraphicsObject);=0D +TClassDefExtend(wxGraphicsPen,wxGraphicsObject);=0D +TClassDefExtend(wxGraphicsRenderer,wxGraphicsObject);=0D +=0D +/*------------------------------------------------------------------------= -----=0D + GraphicsBrush=0D +--------------------------------------------------------------------------= ---*/=0D +TClass(wxGraphicsBrush) wxGraphicsBrush_Create( );=0D +void wxGraphicsBrush_Delete(TSelf(wxGraphicsBrush) self);=0D +=0D +/*------------------------------------------------------------------------= -----=0D + GraphicsContext=0D +--------------------------------------------------------------------------= ---*/=0D +TClass(wxGraphicsContext) wxGraphicsContext_Create( TClass(wxWindowDC) dc= );=0D +TClass(wxGraphicsContext) wxGraphicsContext_CreateFromWindow( TClass(wxWi= ndow) window );=0D +void wxGraphicsContext_Delete(TSelf(wxGraphicsContext) self);=0D +TClass(wxGraphicsContext) wxGraphicsContext_CreateFromNative( void* conte= xt );=0D +TClass(wxGraphicsContext) wxGraphicsContext_CreateFromNativeWindow( void*= window );=0D +void wxGraphicsContext_Clip( TSelf(wxGraphicsContext) self, TClass(wxRegi= on) region );=0D +void wxGraphicsContext_ClipByRectangle( TSelf(wxGraphicsContext) self, TR= ectDouble(x,y,w,h) );=0D +void wxGraphicsContext_ResetClip( TSelf(wxGraphicsContext) self );=0D +void wxGraphicsContext_DrawBitmap( TSelf(wxGraphicsContext) self, TClass(= wxBitmap) bmp, TRectDouble(x,y,w,h) );=0D +void wxGraphicsContext_DrawEllipse( TSelf(wxGraphicsContext) self, TRectD= ouble(x,y,w,h) );=0D +void wxGraphicsContext_DrawIcon( TSelf(wxGraphicsContext) self, TClass(wx= Icon) icon, TRectDouble(x,y,w,h) );=0D +void wxGraphicsContext_DrawLines( TSelf(wxGraphicsContext) self, size_t n= , void* x, void* y, int style );=0D +void wxGraphicsContext_DrawPath( TSelf(wxGraphicsContext) self, TClass(wx= GraphicsPath) path, int style );=0D +void wxGraphicsContext_DrawRectangle( TSelf(wxGraphicsContext) self, TRec= tDouble(x,y,w,h) );=0D +void wxGraphicsContext_DrawRoundedRectangle( TSelf(wxGraphicsContext) sel= f, TRectDouble(x,y,w,h), double radius );=0D +void wxGraphicsContext_DrawText( TSelf(wxGraphicsContext) self, TClass(wx= String) text, TPointDouble(x,y) );=0D +void wxGraphicsContext_DrawTextWithAngle( TSelf(wxGraphicsContext) self, = TClass(wxString) text, TPointDouble(x,y), double radius );=0D +void wxGraphicsContext_FillPath( TSelf(wxGraphicsContext) self, TClass(wx= GraphicsPath) path, int style );=0D +void wxGraphicsContext_StrokePath( TSelf(wxGraphicsContext) self, TClass(= wxGraphicsPath) path );=0D +void* wxGraphicsContext_GetNativeContext( TSelf(wxGraphicsContext) self )= ;=0D +void wxGraphicsContext_GetTextExtent( TSelf(wxGraphicsContext) self, TCla= ss(wxString) text, double* width, double* height, double* descent, double* = externalLeading );=0D +void wxGraphicsContext_Rotate( TSelf(wxGraphicsContext) self, double angl= e );=0D +void wxGraphicsContext_Scale( TSelf(wxGraphicsContext) self, TSizeDouble(= xScale,yScale) );=0D +void wxGraphicsContext_Translate( TSelf(wxGraphicsContext) self, double d= x, double dy );=0D +void wxGraphicsContext_SetTransform( TSelf(wxGraphicsContext) self, TClas= s(wxGraphicsMatrix) path );=0D +void wxGraphicsContext_ConcatTransform( TSelf(wxGraphicsContext) self, TC= lass(wxGraphicsMatrix) path );=0D +void wxGraphicsContext_SetBrush( TSelf(wxGraphicsContext) self, TClass(wx= Brush) brush );=0D +void wxGraphicsContext_SetGraphicsBrush( TSelf(wxGraphicsContext) self, T= Class(wxGraphicsBrush) brush );=0D +void wxGraphicsContext_SetFont( TSelf(wxGraphicsContext) self, TClass(wxF= ont) font, TClass(wxColour) colour );=0D +void wxGraphicsContext_SetGraphicsFont( TSelf(wxGraphicsContext) self, TC= lass(wxGraphicsFont) font );=0D +void wxGraphicsContext_SetPen( TSelf(wxGraphicsContext) self, TClass(wxPe= n) pen );=0D +void wxGraphicsContext_SetGraphicsPen( TSelf(wxGraphicsContext) self, TCl= ass(wxGraphicsPen) pen );=0D +void wxGraphicsContext_StrokeLine( TSelf(wxGraphicsContext) self, TPointD= ouble(x1,y1), TPointDouble(x2,y2) );=0D +void wxGraphicsContext_StrokeLines( TSelf(wxGraphicsContext) self, size_t= n, void* x, void* y, int style );=0D +=0D +/*------------------------------------------------------------------------= -----=0D + GraphicsFont=0D +--------------------------------------------------------------------------= ---*/=0D +TClass(wxGraphicsFont) wxGraphicsFont_Create( );=0D +void wxGraphicsFont_Delete(TSelf(wxGraphicsFont) self);=0D +=0D +/*------------------------------------------------------------------------= -----=0D + GraphicsMatrix=0D +--------------------------------------------------------------------------= ---*/=0D +TClass(wxGraphicsMatrix) wxGraphicsMatrix_Create( );=0D +void wxGraphicsMatrix_Delete(TSelf(wxGraphicsMatrix) self);=0D +void wxGraphicsMatrix_Concat( TSelf(wxGraphicsMatrix) self, TClass(wxGrap= hicsMatrix) t );=0D +void wxGraphicsMatrix_Get( TSelf(wxGraphicsMatrix) self, double* a, doubl= e* b, double* c, double* d, double* tx, double* ty );=0D +void* wxGraphicsMatrix_GetNativeMatrix( TSelf(wxGraphicsMatrix) self );= =0D +void wxGraphicsMatrix_Invert( TSelf(wxGraphicsMatrix) self );=0D +TBool wxGraphicsMatrix_IsEqual( TSelf(wxGraphicsMatrix) self, TClass(wxGr= aphicsMatrix) t );=0D +TBool wxGraphicsMatrix_IsIdentity( TSelf(wxGraphicsMatrix) self );=0D +void wxGraphicsMatrix_Rotate( TSelf(wxGraphicsMatrix) self, double angle = );=0D +void wxGraphicsMatrix_Scale( TSelf(wxGraphicsMatrix) self, TSizeDouble(xS= cale,yScale) );=0D +void wxGraphicsMatrix_Set( TSelf(wxGraphicsMatrix) self, double a, double= b, double c, double d, double tx, double ty );=0D +void wxGraphicsMatrix_Translate( TSelf(wxGraphicsMatrix) self, double dx,= double dy );=0D +void wxGraphicsMatrix_TransformPoint( TSelf(wxGraphicsMatrix) self, TPoin= tOutDouble(x,y) );=0D +void wxGraphicsMatrix_TransformDistance( TSelf(wxGraphicsMatrix) self, do= uble* dx, double* dy );=0D +=0D +/*------------------------------------------------------------------------= -----=0D + GraphicsObject=0D +--------------------------------------------------------------------------= ---*/=0D +TClass(wxGraphicsRenderer) wxGraphicsObject_GetRenderer( );=0D +TBool wxGraphicsObject_IsNull(TSelf(wxGraphicsObject) self);=0D +=0D +/*------------------------------------------------------------------------= -----=0D + GraphicsPath=0D +--------------------------------------------------------------------------= ---*/=0D +TClass(wxGraphicsPath) wxGraphicsPath_Create( );=0D +void wxGraphicsPath_Delete(TSelf(wxGraphicsPath) self);=0D +void wxGraphicsPath_MoveToPoint(TSelf(wxGraphicsPath) self, TPointDouble(= x,y));=0D +void wxGraphicsPath_AddArc(TSelf(wxGraphicsPath) self, TPointDouble(x,y),= double r, double startAngle, double endAngle, TBool clockwise );=0D +void wxGraphicsPath_AddArcToPoint(TSelf(wxGraphicsPath) self, TPointDoubl= e(x1,y1), TPointDouble(x2,y2), double r );=0D +void wxGraphicsPath_AddCircle(TSelf(wxGraphicsPath) self, TPointDouble(x,= y), double r );=0D +void wxGraphicsPath_AddCurveToPoint(TSelf(wxGraphicsPath) self, TPointDou= ble(cx1,cy1), TPointDouble(cx2,cy2), TPointDouble(x,y) );=0D +void wxGraphicsPath_AddEllipse(TSelf(wxGraphicsPath) self, TRectDouble(x,= y,w,h) );=0D +void wxGraphicsPath_AddLineToPoint(TSelf(wxGraphicsPath) self, TPointDoub= le(x,y) );=0D +void wxGraphicsPath_AddPath(TSelf(wxGraphicsPath) self, TPointDouble(x,y)= , TClass(wxGraphicsPath) path );=0D +void wxGraphicsPath_AddQuadCurveToPoint(TSelf(wxGraphicsPath) self, TPoin= tDouble(cx,cy), TPointDouble(x,y) );=0D +void wxGraphicsPath_AddRectangle(TSelf(wxGraphicsPath) self, TRectDouble(= x,y,w,h) );=0D +void wxGraphicsPath_AddRoundedRectangle(TSelf(wxGraphicsPath) self, TRect= Double(x,y,w,h), double radius );=0D +void wxGraphicsPath_CloseSubpath(TSelf(wxGraphicsPath) self );=0D +void wxGraphicsPath_Contains(TSelf(wxGraphicsPath) self, TPointDouble(x,y= ), int style);=0D +void wxGraphicsPath_GetBox(TSelf(wxGraphicsPath) self, TRectOutDouble(x,y= ,w,h));=0D +void wxGraphicsPath_GetCurrentPoint(TSelf(wxGraphicsPath) self, TPointOut= Double(x,y));=0D +void wxGraphicsPath_Transform( TSelf(wxGraphicsPath) self, TClass(wxGraph= icsMatrix) matrix );=0D +void* wxGraphicsPath_GetNativePath( TSelf(wxGraphicsPath) self );=0D +void wxGraphicsPath_UnGetNativePath( void* p );=0D +=0D +/*------------------------------------------------------------------------= -----=0D + GraphicsPen=0D +--------------------------------------------------------------------------= ---*/=0D +TClass(wxGraphicsPen) wxGraphicsPen_Create( );=0D +void wxGraphicsPen_Delete(TSelf(wxGraphicsPen) self);=0D +=0D +/*------------------------------------------------------------------------= -----=0D + GraphicsRenderer=0D +--------------------------------------------------------------------------= ---*/=0D +void wxGraphicsRenderer_Delete(TSelf(wxGraphicsRenderer) self);=0D +TClass(wxGraphicsRenderer) wxGraphicsRenderer_GetDefaultRenderer(TSelf(wx= GraphicsRenderer) self);=0D +TClass(wxGraphicsContext) wxGraphicsRenderer_CreateContext( TClass(wxWind= owDC) dc );=0D +TClass(wxGraphicsContext) wxGraphicsRenderer_CreateContextFromWindow( TCl= ass(wxWindow) window );=0D +TClass(wxGraphicsContext) wxGraphicsRenderer_CreateContextFromNativeConte= xt( void* context );=0D +TClass(wxGraphicsContext) wxGraphicsRenderer_CreateContextFromNativeWindo= w( void* window );=0D hunk ./wxc/include/wxc.h 24 +#include "graphicscontext.h" hunk ./wxc/include/wxc_types.h 144 +=0D +/* Define "Double" variants for long declared signatures. */=0D +#define TPointDouble(x,y) double x, double y=0D +#define TPointOutDouble(x,y) double* x, double* y=0D +#define TVectorDouble(w,h) double x, double y=0D +#define TVectorOutDouble(w,h) double* x, double* y=0D +#define TRectDouble(x,y,w,h) double x, double y, double w, double h= =0D +#define TRectOutDouble(x,y,w,h) double* x, double* y, double* w, double* h= =0D +#define TSizeDouble(w,h) double x, double y=0D +#define TSizeOutDouble(w,h) double* x, double* y=0D addfile ./wxc/src/graphicscontext.cpp hunk ./wxc/src/graphicscontext.cpp 1 +#include "wrapper.h" +#include "wx/graphics.h" + +/* testing */ +// #define wxUSE_GRAPHICS_CONTEXT 0 + +/*------------------------------------------------------------------------= ----- + We want to include the function signatures always -- even on = + systems that don't support wxGraphicsContext. This means that every func= tion body is + surrounded by #ifdef wxUSE_GRAPHICS_CONTEXT directives :-( +--------------------------------------------------------------------------= ---*/ + +#if defined(wxUSE_GRAPHICS_CONTEXT) && (wxUSE_GRAPHICS_CONTEXT=3D=3D0) +# undef wxUSE_GRAPHICS_CONTEXT +#endif + +#ifndef wxUSE_GRAPHICS_CONTEXT +# define wxGraphicsBrush void +# define wxGraphicsContext void +# define wxGraphicsFont void +# define wxGraphicsMatrix void +# define wxGraphicsObject void +# define wxGraphicsPath void +# define wxGraphicsPen void +# define wxGraphicsRenderer void +#endif + +extern "C" { + +/*------------------------------------------------------------------------= ----- + GraphicsContext +--------------------------------------------------------------------------= ---*/ +EWXWEXPORT(wxGraphicsContext*,wxGraphicsContext_Create)( const wxWindowDC*= dc ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + return wxGraphicsContext::Create(*dc); +#else + return NULL; +#endif +} + +EWXWEXPORT(wxGraphicsContext*,wxGraphicsContext_CreateFromWindow)( wxWindo= w* window ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + return wxGraphicsContext::Create(window); +#else + return NULL; +#endif +} + +EWXWEXPORT(wxGraphicsContext*,wxGraphicsContext_CreateFromNative)( void * = context ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + return wxGraphicsContext::CreateFromNative(context); +#else + return NULL; +#endif +} + +EWXWEXPORT(wxGraphicsContext*,wxGraphicsContext_CreateFromNativeWindow)( v= oid * window ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + return wxGraphicsContext::CreateFromNativeWindow(window); +#else + return NULL; +#endif +} + +EWXWEXPORT(void,wxGraphicsContext_Delete)(wxGraphicsContext* self) = +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + if (self) delete self; +#endif +} + +/* +EWXWEXPORT(wxGraphicsPen*,wxGraphicsContext_CreatePen)( wxGraphicsContext*= self, const wxPen& pen ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + return self->CreatePen(pen); +#else + return NULL; +#endif +} + +EWXWEXPORT(wxGraphicsBrush*,wxGraphicsContext_CreateBrush)( wxGraphicsCont= ext* self, const wxBrush& brush ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + return self->CreateBrush(brush); +#else + return NULL; +#endif +} + +EWXWEXPORT(wxGraphicsBrush*,wxGraphicsContext_CreateRadialGradientBrush)( = wxGraphicsContext* self, + = wxDouble xo, wxDouble yo, wxDouble xc, wxDouble yc + = wxDouble radius, + = const wxColour& oColor, const wxColour& cColor ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + return self->CreateRadialGradientBrush(xo, yo, xc, yc, radius, oColor, c= Color); +#else + return NULL; +#endif +} + +EWXWEXPORT(wxGraphicsBrush*,wxGraphicsContext_CreateLinearGradientBrush)( = wxGraphicsContext* self, + = wxDouble x1, wxDouble y1, + = wxDouble x2, wxDouble y2, + = const wxColour& c1, const wxColour& c2 ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + return self->CreateRadialGradientBrush(x1, y1, x2, y2, c1, c2); +#else + return NULL; +#endif +} + +EWXWEXPORT(wxGraphicsFont*,wxGraphicsContext_CreateFont)( wxGraphicsContex= t* self, const wxFont& font ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + return self->CreateFont(font); +#else + return NULL; +#endif +} + +EWXWEXPORT(wxGraphicsFont*,wxGraphicsContext_CreateFontWithColour)( wxGrap= hicsContext* self, + const = wxFont& font, const wxColour& col ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + return self->CreateFont(font, col); +#else + return NULL; +#endif +} + +EWXWEXPORT(wxGraphicsMatrix*,wxGraphicsContext_CreateMatrix)( wxGraphicsCo= ntext* self, + wxDouble a, = wxDouble b, wxDouble c, wxDouble d, + wxDouble tx = , wxDouble ty ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + return self->CreateMatrix(a, b, c, d, tx, ty); +#else + return NULL; +#endif +} + +EWXWEXPORT(wxGraphicsMatrix*,wxGraphicsContext_CreateDefaultMatrix)( wxGra= phicsContext* self ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + return self->CreateMatrix(1.0, 0.0, 0.0, 1.0, 0.0, 0.0); +#else + return NULL; +#endif +} + +EWXWEXPORT(wxGraphicsPath*,wxGraphicsContext_CreatePath)( wxGraphicsContex= t* self ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + return self->CreatePath(); +#else + return NULL; +#endif +} +*/ + +EWXWEXPORT(void,wxGraphicsContext_Clip)( wxGraphicsContext* self, const wx= Region* region ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + self->Clip(*region); +#endif +} + +EWXWEXPORT(void,wxGraphicsContext_ClipByRectangle)( wxGraphicsContext* sel= f, wxDouble x, wxDouble y, wxDouble w, wxDouble h ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + self->Clip(x, y, w, h); +#endif +} + +EWXWEXPORT(void,wxGraphicsContext_ResetClip)( wxGraphicsContext* self ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + self->ResetClip(); +#endif +} + +EWXWEXPORT(void,wxGraphicsContext_DrawBitmap)( wxGraphicsContext* self, co= nst wxBitmap* bmp, + wxDouble x, wxDouble y, wxD= ouble w, wxDouble h ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + self->DrawBitmap(*bmp, x, y, w, h); +#endif +} + +EWXWEXPORT(void,wxGraphicsContext_DrawEllipse)( wxGraphicsContext* self, + wxDouble x, wxDouble y, wx= Double w, wxDouble h ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + self->DrawEllipse(x, y, w, h); +#endif +} + +EWXWEXPORT(void,wxGraphicsContext_DrawIcon)( wxGraphicsContext* self, cons= t wxIcon* icon, + wxDouble x, wxDouble y, wxDou= ble w, wxDouble h ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + self->DrawIcon(*icon, x, y, w, h); +#endif +} + +EWXWEXPORT(void,wxGraphicsContext_DrawLines)( wxGraphicsContext* self, siz= e_t n, + wxDouble* x, wxDouble* y, in= t fillStyle ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + wxPoint2DDouble* points =3D (wxPoint2DDouble*)malloc (n * sizeof(wxPoint= 2DDouble)); + + for (size_t i =3D 0; i < n; i++) + points[i] =3D wxPoint2DDouble(x[i], y[i]); + + self->DrawLines(n, points, fillStyle); + + free (points); +#endif +} + +EWXWEXPORT(void,wxGraphicsContext_DrawPath)( wxGraphicsContext* self, + const wxGraphicsPath* path, i= nt fillStyle ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + self->DrawPath(*path, fillStyle); +#endif +} + +EWXWEXPORT(void,wxGraphicsContext_DrawRectangle)( wxGraphicsContext* self, + wxDouble x, wxDouble y, = wxDouble w, wxDouble h ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + self->DrawRectangle(x, y, w, h); +#endif +} + +EWXWEXPORT(void,wxGraphicsContext_DrawRoundedRectangle)( wxGraphicsContext= * self, + wxDouble x, wxDou= ble y, wxDouble w, wxDouble h, + wxDouble radius ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + self->DrawRoundedRectangle(x, y, w, h, radius); +#endif +} + +EWXWEXPORT(void,wxGraphicsContext_DrawText)( wxGraphicsContext* self, + const wxString* str, wxDouble= x, wxDouble y ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + self->DrawText((str ? *str : wxString(wxT(""))), x, y); +#endif +} + +EWXWEXPORT(void,wxGraphicsContext_DrawTextWithAngle)( wxGraphicsContext* s= elf, + const wxString* str,= wxDouble x, wxDouble y, wxDouble angle) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + self->DrawText((str ? *str : wxString(wxT(""))), x, y, angle); +#endif +} + +EWXWEXPORT(void,wxGraphicsContext_FillPath)( wxGraphicsContext* self, + const wxGraphicsPath* path, i= nt fillStyle ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + self->FillPath(*path, fillStyle); +#endif +} + +EWXWEXPORT(void,wxGraphicsContext_StrokePath)( wxGraphicsContext* self, co= nst wxGraphicsPath* path ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + self->StrokePath(*path); +#endif +} + +EWXWEXPORT(void*,wxGraphicsContext_GetNativeContext)( wxGraphicsContext* s= elf ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + return self->GetNativeContext(); +#else + return NULL; +#endif +} + +/* +TODO: Implement wrapper function of wxGraphicsContext::GetPartialTextExten= ts. +*/ + +EWXWEXPORT(void,wxGraphicsContext_GetTextExtent)( wxGraphicsContext* self,= const wxString* text, + wxDouble* width, wxDoubl= e* height, wxDouble* descent, + wxDouble* externalLeadin= g ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + self->GetTextExtent(*text, width, height, descent, externalLeading); +#endif +} + +EWXWEXPORT(void,wxGraphicsContext_Rotate)( wxGraphicsContext* self, wxDoub= le angle ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + self->Rotate(angle); +#endif +} + +EWXWEXPORT(void,wxGraphicsContext_Scale)( wxGraphicsContext* self, wxDoubl= e xScale, wxDouble yScale ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + self->Scale(xScale, yScale); +#endif +} + +EWXWEXPORT(void,wxGraphicsContext_Translate)( wxGraphicsContext* self, wxD= ouble dx, wxDouble dy ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + self->Translate(dx, dy); +#endif +} + +/* +EWXWEXPORT(wxGraphicsMatrix,wxGraphicsContext_GetTransform)( wxGraphicsCon= text* self ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + return self->GetTransform(); +#else + return NULL; +#endif +} +*/ + +EWXWEXPORT(void,wxGraphicsContext_SetTransform)( wxGraphicsContext* self, = const wxGraphicsMatrix* matrix ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + self->SetTransform(*matrix); +#endif +} + +EWXWEXPORT(void,wxGraphicsContext_ConcatTransform)( wxGraphicsContext* sel= f, const wxGraphicsMatrix* matrix ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + self->ConcatTransform(*matrix); +#endif +} + +EWXWEXPORT(void,wxGraphicsContext_SetBrush)( wxGraphicsContext* self, cons= t wxBrush* brush ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + self->SetBrush(*brush); +#endif +} + +EWXWEXPORT(void,wxGraphicsContext_SetGraphicsBrush)( wxGraphicsContext* se= lf, const wxGraphicsBrush* brush ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + self->SetBrush(*brush); +#endif +} + +EWXWEXPORT(void,wxGraphicsContext_SetFont)( wxGraphicsContext* self, const= wxFont* font, const wxColour* colour ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + self->SetFont(*font, *colour); +#endif +} + +EWXWEXPORT(void,wxGraphicsContext_SetGraphicsFont)( wxGraphicsContext* sel= f, const wxGraphicsFont* font ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + self->SetFont(*font); +#endif +} + +EWXWEXPORT(void,wxGraphicsContext_SetPen)( wxGraphicsContext* self, const = wxPen* pen ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + self->SetPen(*pen); +#endif +} + +EWXWEXPORT(void,wxGraphicsContext_SetGraphicsPen)( wxGraphicsContext* self= , const wxGraphicsPen* pen ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + self->SetPen(*pen); +#endif +} + +EWXWEXPORT(void,wxGraphicsContext_StrokeLine)( wxGraphicsContext* self, wx= Double x1, wxDouble y1, wxDouble x2, wxDouble y2 ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + self->StrokeLine(x1, y1, x2, y2); +#endif +} + +EWXWEXPORT(void,wxGraphicsContext_StrokeLines)( wxGraphicsContext* self, s= ize_t n, + wxDouble* x, wxDouble* y, = int fillStyle ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + wxPoint2DDouble* points =3D (wxPoint2DDouble*)malloc (n * sizeof(wxPoint= 2DDouble)); + + for (size_t i =3D 0; i < n; i++) + points[i] =3D wxPoint2DDouble(x[i], y[i]); + + self->StrokeLines(n, points); + + free (points); +#endif +} + +EWXWEXPORT(void,wxGraphicsContext_StrokeLinesStartAndEnd)( wxGraphicsConte= xt* self, size_t n, + const wxPoint2D= Double* beginPoints, const wxPoint2DDouble* endPoints ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + self->StrokeLines(n, beginPoints, endPoints); +#endif +} + +/*------------------------------------------------------------------------= ----- + GraphicsObject +--------------------------------------------------------------------------= ---*/ +EWXWEXPORT(wxGraphicsObject*,wxGraphicsObject_Create)( ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + return new wxGraphicsObject; +#else + return NULL; +#endif +} + +EWXWEXPORT(void,wxGraphicsObject_Delete)(wxGraphicsObject* self) = +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + if (self) delete self; +#endif +} + +EWXWEXPORT(wxGraphicsRenderer*,wxGraphicsObject_GetRenderer)(wxGraphicsObj= ect* self) = +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + return self->GetRenderer(); +#else + return NULL; +#endif +} + +EWXWEXPORT(bool,wxGraphicsObject_IsNull)(wxGraphicsObject* self) = +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + return self->IsNull(); +#else + return false; +#endif +} + +/*------------------------------------------------------------------------= ----- + GraphicsBrush +--------------------------------------------------------------------------= ---*/ +EWXWEXPORT(wxGraphicsBrush*,wxGraphicsBrush_Create)( ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + return new wxGraphicsBrush; +#else + return NULL; +#endif +} + +EWXWEXPORT(void,wxGraphicsBrush_Delete)(wxGraphicsBrush* self) = +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + if (self) delete self; +#endif +} + +/*------------------------------------------------------------------------= ----- + GraphicsFont +--------------------------------------------------------------------------= ---*/ +EWXWEXPORT(wxGraphicsFont*,wxGraphicsFont_Create)( ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + return new wxGraphicsFont; +#else + return NULL; +#endif +} + +EWXWEXPORT(void,wxGraphicsFont_Delete)(wxGraphicsFont* self) = +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + if (self) delete self; +#endif +} + +/*------------------------------------------------------------------------= ----- + GraphicsMatrix +--------------------------------------------------------------------------= ---*/ +EWXWEXPORT(wxGraphicsMatrix*,wxGraphicsMatrix_Create)( ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + return new wxGraphicsMatrix; +#else + return NULL; +#endif +} + +EWXWEXPORT(void,wxGraphicsMatrix_Delete)(wxGraphicsMatrix* self) = +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + if (self) delete self; +#endif +} + +EWXWEXPORT(void,wxGraphicsMatrix_Concat)( wxGraphicsMatrix* self, const wx= GraphicsMatrix* matrix ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + self->Concat(matrix); +#endif +} + +EWXWEXPORT(void,wxGraphicsMatrix_Get)( wxGraphicsMatrix* self, + wxDouble* a, wxDouble* b, wxDouble*= c, wxDouble* d, wxDouble* tx, wxDouble* ty ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + self->Get(a, b, c, d, tx, ty); +#endif +} + +EWXWEXPORT(void*,wxGraphicsMatrix_GetNativeMatrix)(wxGraphicsMatrix* self)= = +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + return self->GetNativeMatrix(); +#else + return NULL; +#endif +} + +EWXWEXPORT(void,wxGraphicsMatrix_Invert)( wxGraphicsMatrix* self ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + self->Invert(); +#endif +} + +EWXWEXPORT(bool,wxGraphicsMatrix_IsEqual)( wxGraphicsMatrix* self, const w= xGraphicsMatrix* t ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + return self->IsEqual(*t); +#else + return false; +#endif +} + +EWXWEXPORT(bool,wxGraphicsMatrix_IsIdentity)( wxGraphicsMatrix* self ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + return self->IsIdentity(); +#else + return false; +#endif +} + +EWXWEXPORT(void,wxGraphicsMatrix_Rotate)( wxGraphicsMatrix* self, wxDouble= angle ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + self->Rotate(angle); +#endif +} + +EWXWEXPORT(void,wxGraphicsMatrix_Scale)( wxGraphicsMatrix* self, wxDouble = xScale, wxDouble yScale ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + self->Scale(xScale, yScale); +#endif +} + +EWXWEXPORT(void,wxGraphicsMatrix_Translate)( wxGraphicsMatrix* self, wxDou= ble dx, wxDouble dy ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + self->Translate(dx, dy); +#endif +} + +EWXWEXPORT(void,wxGraphicsMatrix_Set)( wxGraphicsMatrix* self, + wxDouble a, wxDouble b, wxDouble c,= wxDouble d, wxDouble tx, wxDouble ty ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + self->Set(a, b, c, d, tx, ty); +#endif +} + +EWXWEXPORT(void,wxGraphicsMatrix_TransformPoint)( wxGraphicsMatrix* self, = wxDouble* x, wxDouble* y ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + self->TransformPoint(x, y); +#endif +} + +EWXWEXPORT(void,wxGraphicsMatrix_TransformDistance)( wxGraphicsMatrix* sel= f, wxDouble* dx, wxDouble* dy ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + self->TransformDistance(dx, dy); +#endif +} + +/*------------------------------------------------------------------------= ----- + GraphicsPath +--------------------------------------------------------------------------= ---*/ +EWXWEXPORT(wxGraphicsPath*,wxGraphicsPath_Create)( ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + return new wxGraphicsPath; +#else + return NULL; +#endif +} + +EWXWEXPORT(void,wxGraphicsPath_Delete)(wxGraphicsPath* self) = +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + if (self) delete self; +#endif +} + +EWXWEXPORT(void,wxGraphicsPath_MoveToPoint)( wxGraphicsPath* self, wxDoubl= e x, wxDouble y ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + self->MoveToPoint(x, y); +#endif +} + +EWXWEXPORT(void,wxGraphicsPath_AddArc)( wxGraphicsPath* self, wxDouble x, = wxDouble y, + wxDouble r, wxDouble startAngle, w= xDouble endAngle, bool clockwise ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + self->AddArc(x, y, r, startAngle, endAngle, clockwise); +#endif +} + +EWXWEXPORT(void,wxGraphicsPath_AddArcToPoint)( wxGraphicsPath* self, + wxDouble x1, wxDouble y1, w= xDouble x2, wxDouble y2, wxDouble r ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + self->AddArcToPoint(x1, y1, x2, y2, r); +#endif +} + +EWXWEXPORT(void,wxGraphicsPath_AddCircle)( wxGraphicsPath* self, wxDouble = x, wxDouble y, wxDouble r ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + self->AddCircle(x, y, r); +#endif +} + +EWXWEXPORT(void,wxGraphicsPath_AddCurveToPoint)( wxGraphicsPath* self, wxD= ouble cx1, wxDouble cy1, + wxDouble cx2, wxDouble cy= 2, wxDouble x, wxDouble y ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + self->AddCurveToPoint(cx1, cy1, cx2, cy2, x, y); +#endif +} + +EWXWEXPORT(void,wxGraphicsPath_AddEllipse)( wxGraphicsPath* self, wxDouble= x, wxDouble y, wxDouble w, wxDouble h ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + self->AddEllipse(x, y, w, h); +#endif +} + +EWXWEXPORT(void,wxGraphicsPath_AddLineToPoint)( wxGraphicsPath* self, wxDo= uble x, wxDouble y ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + self->AddLineToPoint(x, y); +#endif +} + +EWXWEXPORT(void,wxGraphicsPath_AddPath)( wxGraphicsPath* self, const wxGra= phicsPath* path ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + self->AddPath(*path); +#endif +} + +EWXWEXPORT(void,wxGraphicsPath_AddQuadCurveToPoint)( wxGraphicsPath* self, + wxDouble cx, wxDouble= cy, wxDouble x, wxDouble y ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + self->AddQuadCurveToPoint(cx, cy, x, y); +#endif +} + +EWXWEXPORT(void,wxGraphicsPath_AddRectangle)( wxGraphicsPath* self, wxDoub= le x, wxDouble y, wxDouble w, wxDouble h ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + self->AddRectangle(x, y, w, h); +#endif +} + +EWXWEXPORT(void,wxGraphicsPath_AddRoundedRectangle)( wxGraphicsPath* self,= wxDouble x, wxDouble y, + wxDouble w, wxDouble = h, wxDouble radius ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + self->AddRoundedRectangle(x, y, w, h, radius); +#endif +} + +EWXWEXPORT(void,wxGraphicsPath_CloseSubpath)( wxGraphicsPath* self ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + self->CloseSubpath(); +#endif +} + +EWXWEXPORT(void,wxGraphicsPath_Contains)( wxGraphicsPath* self, wxDouble x= , wxDouble y, int fillStyle ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + self->Contains(x, y, fillStyle); +#endif +} + +EWXWEXPORT(void,wxGraphicsPath_GetBox)( wxGraphicsPath* self, wxDouble* x,= wxDouble* y, wxDouble* w, wxDouble* h ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + self->GetBox(x, y, w, h); +#endif +} + +EWXWEXPORT(void,wxGraphicsPath_GetCurrentPoint)( wxGraphicsPath* self, wxD= ouble* x, wxDouble* y ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + self->GetCurrentPoint(x, y); +#endif +} + +EWXWEXPORT(void,wxGraphicsPath_Transform)( wxGraphicsPath* self, const wxG= raphicsMatrix* matrix ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + self->Transform(*matrix); +#endif +} + +EWXWEXPORT(void*,wxGraphicsPath_GetNativePath)( wxGraphicsPath* self ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + return self->GetNativePath(); +#else + return NULL; +#endif +} + +EWXWEXPORT(void,wxGraphicsPath_UnGetNativePath)( wxGraphicsPath* self, voi= d* p ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + self->UnGetNativePath(p); +#endif +} + +/*------------------------------------------------------------------------= ----- + GraphicsPen +--------------------------------------------------------------------------= ---*/ +EWXWEXPORT(wxGraphicsPen*,wxGraphicsPen_Create)( ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + return new wxGraphicsPen; +#else + return NULL; +#endif +} + +EWXWEXPORT(void,wxGraphicsPen_Delete)(wxGraphicsPen* self) = +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + if (self) delete self; +#endif +} + +/* We can't create wxGraphicsRenderer by this function. + Because wxGraphicsRenderer is a abstract class. + +EWXWEXPORT(wxGraphicsRenderer*,wxGraphicsRenderer_Create)( ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + return new wxGraphicsRenderer; +#else + return NULL; +#endif +} +*/ + +EWXWEXPORT(void,wxGraphicsRenderer_Delete)(wxGraphicsRenderer* self) = +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + if (self) delete self; +#endif +} + +EWXWEXPORT(wxGraphicsRenderer*,wxGraphicsRenderer_GetDefaultRenderer)( wxG= raphicsRenderer* self ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + return self->GetDefaultRenderer(); +#else + return NULL; +#endif +} + +EWXWEXPORT(wxGraphicsContext*,wxGraphicsRenderer_CreateContext)( wxGraphic= sRenderer* self, const wxWindowDC* dc ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + return self->CreateContext(*dc); +#else + return NULL; +#endif +} + +EWXWEXPORT(wxGraphicsContext*,wxGraphicsRenderer_CreateContextFromWindow)(= wxGraphicsRenderer* self, wxWindow* window ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + return self->CreateContext(window); +#else + return NULL; +#endif +} + +EWXWEXPORT(wxGraphicsContext*,wxGraphicsRenderer_CreateContextFromNativeCo= ntext)( wxGraphicsRenderer* self, void* context ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + return self->CreateContextFromNativeContext(context); +#else + return NULL; +#endif +} + +EWXWEXPORT(wxGraphicsContext*,wxGraphicsRenderer_CreateContextFromNativeWi= ndow)( wxGraphicsRenderer* self, void* window ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + return self->CreateContextFromNativeWindow(window); +#else + return NULL; +#endif +} + +/* +EWXWEXPORT(wxGraphicsPen,wxGraphicsRenderer_CreatePen)( wxGraphicsRenderer= * self, const wxPen* pen ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + return self->CreatePen(*pen); +#else + return NULL; +#endif +} + +EWXWEXPORT(wxGraphicsBrush,wxGraphicsRenderer_CreateBrush)( wxGraphicsRend= erer* self, const wxBrush* brush ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + return self->CreateBrush(*brush); +#else + return NULL; +#endif +} + +EWXWEXPORT(wxGraphicsBrush,wxGraphicsRenderer_CreateLinearGradientBrush)( = wxGraphicsRenderer* self, + = wxDouble x1, wxDouble y1, wxDouble x2, wxDouble y2, + = const wxColour* c1, const wxColour* c2 ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + return self->CreateLinearGradientBrush(x1, y1, x2, y2, *c1, *c2); +#else + return NULL; +#endif +} + +EWXWEXPORT(wxGraphicsBrush,wxGraphicsRenderer_CreateRadialGradientBrush)( = wxGraphicsRenderer* self, + = wxDouble x1, wxDouble y1, wxDouble x2, wxDouble y2, + = const wxColour* c1, const wxColour* c2 ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + return self->CreateRadialGradientBrush(x1, y1, x2, y2, *c1, *c2); +#else + return NULL; +#endif +} + +EWXWEXPORT(wxGraphicsFont,wxGraphicsRenderer_CreateFont)( wxGraphicsRender= er* self, + const wxFont* fo= nt, const wxColour* col ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + return self->CreateFont(*font, *col ); +#else + return NULL; +#endif +} + +EWXWEXPORT(wxGraphicsMatrix,wxGraphicsRenderer_CreateMatrix)( wxGraphicsRe= nderer* self, + wxDouble a, = wxDouble b, wxDouble c, wxDouble d, + wxDouble tx,= wxDouble ty ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + return self->CreateMatrix(a, b, c, d, tx, ty); +#else + return NULL; +#endif +} + +EWXWEXPORT(wxGraphicsPath,wxGraphicsRenderer_CreatePath)( wxGraphicsRender= er* self ) +{ +#ifdef wxUSE_GRAPHICS_CONTEXT + return self->CreatePath(); +#else + return NULL; +#endif +} +*/ + +} + + hunk ./wxc/wxc-2.4.dsp 119 +SOURCE=3D.\include\graphicscontext.h=0D +# End Source File=0D +# Begin Source File=0D +=0D hunk ./wxc/wxc-2.4.dsp 205 +# Begin Source File=0D +=0D +SOURCE=3D.\src\graphicscontext.cpp=0D +# End Source File=0D hunk ./wxc/wxc-2.6.dsp 121 +SOURCE=3D.\include\graphicscontext.h=0D +# End Source File=0D +# Begin Source File=0D +=0D hunk ./wxc/wxc-2.6.dsp 207 +# Begin Source File=0D +=0D +SOURCE=3D.\src\graphicscontext.cpp=0D +# End Source File=0D hunk ./wxc/wxc-2.8.dsp 57 -# ADD LINK32 wxzlib.lib wxregexu.lib wxpng.lib wxjpeg.lib wxtiff.lib wxexp= at.lib wxbase28u.lib wxbase28u_net.lib wxbase28u_odbc.lib wxbase28u_xml.lib= wxmsw28u_core.lib wxmsw28u_adv.lib wxmsw28u_dbgrid.lib wxmsw28u_gl.lib wxm= sw28u_html.lib wxmsw28u_media.lib wxmsw28u_stc.lib kernel32.lib user32.lib = gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib olea= ut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.l= ib opengl32.lib winmm.lib /nologo /dll /machine:I386 /nodefaultlib:"LIBCMT"= /out:"..\dist\wxc\wxc-msw2.8.7-0.10.3.dll" /libpath:"..\..\wxWidgets-2.8.7= \lib\vc_lib"=0D +# ADD LINK32 wxzlib.lib wxregexu.lib wxpng.lib wxjpeg.lib wxtiff.lib wxexp= at.lib wxbase28u.lib wxbase28u_net.lib wxbase28u_odbc.lib wxbase28u_xml.lib= wxmsw28u_core.lib wxmsw28u_adv.lib wxmsw28u_dbgrid.lib wxmsw28u_gl.lib wxm= sw28u_html.lib wxmsw28u_media.lib wxmsw28u_stc.lib kernel32.lib user32.lib = gdi32.lib gdiplus.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ol= e32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.l= ib wsock32.lib opengl32.lib winmm.lib /nologo /dll /machine:I386 /nodefault= lib:"LIBCMT" /out:"..\dist\wxc\wxc-msw2.8.7-0.10.3.dll" /libpath:"..\..\wxW= idgets-2.8.7\lib\vc_lib"=0D hunk ./wxc/wxc-2.8.dsp 88 -# ADD LINK32 wxzlibd.lib wxregexud.lib wxpngd.lib wxjpegd.lib wxtiffd.lib = wxexpatd.lib wxbase28ud.lib wxbase28ud_net.lib wxbase28ud_odbc.lib wxbase28= ud_xml.lib wxmsw28ud_core.lib wxmsw28ud_adv.lib wxmsw28ud_dbgrid.lib wxmsw2= 8ud_gl.lib wxmsw28ud_html.lib wxmsw28ud_media.lib wxmsw28ud_stc.lib kernel3= 2.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.l= ib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpc= rt4.lib wsock32.lib opengl32.lib winmm.lib /nologo /dll /debug /machine:I38= 6 /nodefaultlib:"LIBCMTD" /out:"..\dist\wxc\wxcd-msw2.8.7-0.10.3.dll" /pdbt= ype:sept /libpath:"..\..\wxWidgets-2.8.7\lib\vc_lib"=0D +# ADD LINK32 wxzlibd.lib wxregexud.lib wxpngd.lib wxjpegd.lib wxtiffd.lib = wxexpatd.lib wxbase28ud.lib wxbase28ud_net.lib wxbase28ud_odbc.lib wxbase28= ud_xml.lib wxmsw28ud_core.lib wxmsw28ud_adv.lib wxmsw28ud_dbgrid.lib wxmsw2= 8ud_gl.lib wxmsw28ud_html.lib wxmsw28ud_media.lib wxmsw28ud_stc.lib kernel3= 2.lib user32.lib gdi32.lib gdiplus.lib winspool.lib comdlg32.lib advapi32.l= ib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comc= tl32.lib rpcrt4.lib wsock32.lib opengl32.lib winmm.lib /nologo /dll /debug = /machine:I386 /nodefaultlib:"LIBCMTD" /out:"..\dist\wxc\wxcd-msw2.8.7-0.10.= 3.dll" /pdbtype:sept /libpath:"..\..\wxWidgets-2.8.7\lib\vc_lib"=0D hunk ./wxc/wxc-2.8.dsp 121 +SOURCE=3D.\include\graphicscontext.h=0D +# End Source File=0D +# Begin Source File=0D +=0D hunk ./wxc/wxc-2.8.dsp 207 +# Begin Source File=0D +=0D +SOURCE=3D.\src\graphicscontext.cpp=0D +# End Source File=0D hunk ./wxcore/src/Graphics/UI/WXCore/WxcTypes.hs 54 + , withPointDoubleResult, withCPointDouble hunk ./wxcore/src/Graphics/UI/WXCore/WxcTypes.hs 56 + , withSizeDoubleResult, withCSizeDouble hunk ./wxcore/src/Graphics/UI/WXCore/WxcTypes.hs 58 + , withVectorDoubleResult, withCVectorDouble hunk ./wxcore/src... [truncated message content] |
From: Eric Y. K. <eri...@gm...> - 2008-05-15 08:16:00
|
Shelarcy: any ideas? Bernd, it may be worth filing a bug report, and maybe submitting a test case for our bugs directory (i.e. a darcs patch for wxhaskell). If it turns out to by a wxWidgets problem we can report it to them. By the way, if anybody here proficient in C++ could volunteer to write equivalent test cases in wxWidgets, it would a big help! On Thu, May 08, 2008 at 13:10:12 +0200, Bernd Holzmüller wrote: > I use wxHaskell 0.10.3 on Windows (XP) for writing a GUI to manage and > execute test cases. Sadly, when using processExecAsyncTimed, the whole > application sometimes hangs because process termination seems not to be > recognized reliably. This happens about every 4th or so try. I used > processExecAsync before which works but is deprecated and slow (because > we have a byte-wise stdout stream). Any idea whether this is a wxWidgets > problem or is wxHaskell specific? -- Eric Kow <http://www.nltg.brighton.ac.uk/home/Eric.Kow> PGP Key ID: 08AC04F9 |
From: Bernd H. <ber...@ic...> - 2008-05-08 11:36:15
|
Hi all, I use wxHaskell 0.10.3 on Windows (XP) for writing a GUI to manage and execute test cases. Sadly, when using processExecAsyncTimed, the whole application sometimes hangs because process termination seems not to be recognized reliably. This happens about every 4th or so try. I used processExecAsync before which works but is deprecated and slow (because we have a byte-wise stdout stream). Any idea whether this is a wxWidgets problem or is wxHaskell specific? Thanks, Bernd |
From: Eric Y. K. <eri...@gm...> - 2008-04-29 22:14:15
|
Pushed! Thanks. -- Eric Kow <http://www.nltg.brighton.ac.uk/home/Eric.Kow> PGP Key ID: 08AC04F9 |
From: shelarcy <she...@gm...> - 2008-04-29 18:43:47
|
DarcsURL: C:/home/shelarcy/wxhaskell MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=_" --=_ Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Tue Apr 29 23:15:45 =93=8C=8B=9E (=95W=8F=80=8E=9E) 2008 shelarcy <shelarc= y...@gm...> * Add note about defaultButton's incompatible change since wxWidgets 2.8.= x support. Tue Apr 29 23:59:31 =93=8C=8B=9E (=95W=8F=80=8E=9E) 2008 shelarcy <shelarc= y...@gm...> * Fix: some samples don't run because of using undefined function since w= xWidgets 2.8.x support. Wed Apr 30 03:35:18 =93=8C=8B=9E (=95W=8F=80=8E=9E) 2008 shelarcy <shelarc= y...@gm...> * Change imageGetPixelArray and imageCreateFromPixelArray to be more flex= ible. --=_ Content-Type: text/x-darcs-patch; name="add-note-about-defaultbutton_s-incompatible-change-since-wxwidgets-2_8_x-support_.dpatch" Content-Transfer-Encoding: quoted-printable Content-Description: A darcs patch for your repository! New patches: [Add note about defaultButton's incompatible change since wxWidgets 2.8.x s= upport. shelarcy <she...@gm...>**20080429141545] { hunk ./wx/src/Graphics/UI/WX/Controls.hs 90 +-- Note: 'defaultButton' attibute is removed. Set 'defaultButton' to paren= t +-- 'Frame' or 'Dialog' instead of this control now. This is an incompatibl= e +-- change to support wxWidgets 2.8.x. +-- hunk ./wx/src/Graphics/UI/WX/Controls.hs 106 +-- Note: 'defaultButton' attibute is removed. Set 'defaultButton' to paren= t +-- 'Frame' or 'Dialog' instead of this control now. This is an incompatibl= e +-- change to support wxWidgets 2.8.x. +-- } [Fix: some samples don't run because of using undefined function since wxWi= dgets 2.8.x support. shelarcy <she...@gm...>**20080429145931] { hunk ./samples/wx/Layout.hs 21 - set p [defaultButton :=3D ok] - set f [layout :=3D container p $ + set f [defaultButton :=3D ok + ,layout :=3D container p $ hunk ./samples/wx/TimeFlowsEx.hs 113 - set p [defaultButton :=3D ok] - set d [layout :=3D container p $ margin 10 $ = + set d [defaultButton :=3D ok + ,layout :=3D container p $ margin 10 $ = hunk ./samples/wxcore/ByeDemo.hs 36 - panelSetDefaultItem p b + topLevelWindowSetDefaultItem f b hunk ./samples/wxcore/ImageViewer.hs 40 - frameSetIconFromFile f "../bitmaps/eye.ico" + topLevelWindowSetIconFromFile f "../bitmaps/eye.ico" } [Change imageGetPixelArray and imageCreateFromPixelArray to be more flexibl= e. shelarcy <she...@gm...>**20080429183518] { hunk ./wxcore/src/Graphics/UI/WXCore/Image.hs 1 +{-# LANGUAGE FlexibleContexts #-} hunk ./wxcore/src/Graphics/UI/WXCore/Image.hs 58 -import Data.Array +import Data.Array.IArray ( IArray, listArray, bounds, elems ) hunk ./wxcore/src/Graphics/UI/WXCore/Image.hs 342 -imageGetPixelArray :: Image a -> IO (Array Point Color) +imageGetPixelArray :: (IArray a Color) =3D> Image b -> IO (a Point Color) hunk ./wxcore/src/Graphics/UI/WXCore/Image.hs 351 -imageCreateFromPixelArray :: Array Point Color -> IO (Image ()) +imageCreateFromPixelArray :: (IArray a Color) =3D> a Point Color -> IO (Im= age ()) hunk ./wxcore/src/Graphics/UI/WXCore/WxcTypes.hs 2 +{-# LANGUAGE GeneralizedNewtypeDeriving #-} hunk ./wxcore/src/Graphics/UI/WXCore/WxcTypes.hs 49 - , Color, rgb, colorRGB, colorRed, colorGreen, colorBlue, intFr= omColor, colorFromInt, colorOk + , Color(..), rgb, colorRGB, colorRed, colorGreen, colorBlue, i= ntFromColor, colorFromInt, colorOk hunk ./wxcore/src/Graphics/UI/WXCore/WxcTypes.hs 115 +import Data.Array.MArray (MArray) +import Data.Array.Unboxed (IArray, UArray) hunk ./wxcore/src/Graphics/UI/WXCore/WxcTypes.hs 990 +-- +-- Note: Haddock 0.8 and 0.9 doesn't support GeneralizedNewtypeDeriving.= So, This class +-- doesn't have 'IArray' class's unboxed array instance now. If you want= to use this type +-- with unboxed array, you must write code like this. +-- +-- > {-# LANGUAGE GeneralizedNewtypeDeriving, StandaloneDeriving, MultiPar= amTypeClasses #-} +-- > import Graphics.UI.WXCore.WxcTypes +-- > ... +-- > deriving instance IArray UArray Color +-- +-- We can't derive 'MArray' class's unboxed array instance this way. Thi= s is a bad point +-- of current 'MArray' class definition. +-- hunk ./wxcore/src/Graphics/UI/WXCore/WxcTypes.hs 1004 - deriving (Eq,Typeable) + deriving (Eq, Typeable) -- , IArray UArray) = } Context: [Change Var type synonym from IORef to stm's TVar for thread safety. shelarcy <she...@gm...>**20080425114909] = [Fix: dists dropped two samples in samples/wx direcotory. shelarcy <she...@gm...>**20080425102416] = [Clean up wxWindows class's function declaration. shelarcy <she...@gm...>**20080425054152] = [Clean up #ifdef wxUSE_UNICODE flag by wxStrdup function. shelarcy <she...@gm...>**20080425051404] = [Replace _wcsdup with wxStrdup in wxWidgets 2.8 compat code. Eric Kow <eri...@gm...>**20080420115042 According to shelarcy and Jeremy, _wcsdup is Windows-specific. ] = [wxWidgets 2.8.7 on 0.10.3 release version jer...@gm...**20080410134132] = [TAG wxWidgets2.8.7_on_0.10.3rc1 jer...@gm...**20080410113256] = [Add TopLevelWindow for wxWidgets 2.8.7 support jer...@gm...**20080410113113] = [Preliminary wxWidgets 2.8.7 support jer...@gm...**20080410112559] = [Shifted to Pavel's Debian build system Mads Lindstroem <mad...@ya...>**20080413131752 = I have changed the current Debian build system to the one made by Pavel Shramov. It is a lot simpler than the current one. Also it is similar to what can normally be found in the Debian archieve, and I therefore assume that it will be easier to some day get an offecial WxHaskell Debian package. = All of the files in the debian directory is the work of Pavel. = I changed only one thing, as compared to Pavel's version. Namely that I removed the dependcy on libghc6-time-dev. I did it, as this dependency makes the package un-buildable on Debian unstable (GHC 6.8). At release 0.10.3, some users requested a GHC 6.8 version, and it is therefore important that we can provide one. = = ] = [Removed check for Data.Time Mads Lindstroem <mad...@ya...>**20080413114242 = Removed the check for Data.Time as it is not needed. I originally added it as I had somehow overlooked the Debian package libghc6-time-dev. Sorry about the unneccessary noise :( = ] = [Fix: samples/wx/makefile's "make clean" doesn't clean Windows things. shelarcy <she...@gm...>**20080409133446] = [Fix 1932640: samples/wx/FileBrowse is broken on Windows. = shelarcy <she...@gm...>**20080409132157] = [Add containers package dependency to wxcore.cabal. shelarcy <she...@gm...>**20080328131307] = [Remove IntMap from wxcore. Use the containers version instead. shelarcy <she...@gm...>**20080328131144] = [Add containers package to wxcore. shelarcy <she...@gm...>**20080328123744] = [Remove Set from wxdirect. Use the containers version instead. Eric Kow <eri...@gm...>**20080322140544] = [Remove Map from wxdirect. Use the containers version instead. Eric Kow <eri...@gm...>**20080322140245] = [Add containers package to wxdirect. Eric Kow <eri...@gm...>**20080322135933] = [Split makefile entry for wxdirect containers into separate lines. Eric Kow <eri...@gm...>**20080322135824 For more independence between patches which remove Map, Set and MultiSet in favour of the containers version. ] = [Use string comparison in haddockversion test. Eric Kow <eri...@gm...>**20080326224059 Again, for the case where haddock is not found. ] = [Fix bug in configure script if Haddock is not found. Eric Kow <eri...@gm...>**20080324155706 (discovered by S. Doaitse Swierstra) ] = [Add wx/license.txt to srcdist (to avoid build error). Eric Kow <eri...@gm...>**20080323125315] = [Fix download link typos. Eric Kow <eri...@gm...>**20080322130605] = [Kill a broken link (we no longer use CVS). Eric Kow <eri...@gm...>**20080322125822] = [Overwrite 0.10.3rc1 news with proper 0.10.3 news. Eric Kow <eri...@gm...>**20080322125032] = [TAG 0.10.3 Eric Kow <eri...@gm...>**20080321183613] = Patch bundle hash: cfba6fb479c7c1bd8510d800fcb143c584dbc508 --=_-- . |
From: Eric Y. K. <eri...@gm...> - 2008-04-25 21:23:11
|
Pushed! Thanks! -- Eric Kow <http://www.nltg.brighton.ac.uk/home/Eric.Kow> PGP Key ID: 08AC04F9 |
From: shelarcy <she...@gm...> - 2008-04-25 14:00:58
|
DarcsURL: C:/home/shelarcy/wxhaskell MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=_" --=_ Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Fri Apr 25 14:14:04 =93=8C=8B=9E (=95W=8F=80=8E=9E) 2008 shelarcy <shelarc= y...@gm...> * Clean up #ifdef wxUSE_UNICODE flag by wxStrdup function. Fri Apr 25 14:41:52 =93=8C=8B=9E (=95W=8F=80=8E=9E) 2008 shelarcy <shelarc= y...@gm...> * Clean up wxWindows class's function declaration. Fri Apr 25 19:24:16 =93=8C=8B=9E (=95W=8F=80=8E=9E) 2008 shelarcy <shelarc= y...@gm...> * Fix: dists dropped two samples in samples/wx direcotory. Fri Apr 25 20:49:09 =93=8C=8B=9E (=95W=8F=80=8E=9E) 2008 shelarcy <shelarc= y...@gm...> * Change Var type synonym from IORef to stm's TVar for thread safety. --=_ Content-Type: text/x-darcs-patch; name="clean-up-_ifdef-wxuse_unicode-flag-by-wxstrdup-function_.dpatch" Content-Transfer-Encoding: quoted-printable Content-Description: A darcs patch for your repository! New patches: [Clean up #ifdef wxUSE_UNICODE flag by wxStrdup function. shelarcy <she...@gm...>**20080425051404] { hunk ./wxc/src/eljvalidator.cpp 158 -#ifdef wxUSE_UNICODE=0D hunk ./wxc/src/eljvalidator.cpp 159 -#else=0D - items_copy[i] =3D strdup(items.Item(i).GetData());=0D -#endif=0D hunk ./wxc/src/eljvalidator.cpp 187 -#ifdef wxUSE_UNICODE=0D hunk ./wxc/src/eljvalidator.cpp 188 -#else=0D - items_copy[i] =3D strdup(items.Item(i).GetData());=0D -#endif=0D } [Clean up wxWindows class's function declaration. shelarcy <she...@gm...>**20080425054152] { hunk ./wxc/include/wxc.h 92 -void wxWindow_GetVirtualSize( TSelf(wxWindow) _obj, TSizeOut(_w,_h) ); -void wxWindow_SetVirtualSize( TSelf(wxWindow) _obj, TSize(w,h) ); -void wxWindow_FitInside(TSelf(wxWindow) _obj);=0D -void wxWindow_ClientToScreen(TSelf(wxWindow) self, TPoint(x,y), TPointOut= (sx,sy));=0D } [Fix: dists dropped two samples in samples/wx direcotory. shelarcy <she...@gm...>**20080425102416] { hunk ./makefile 221 + samples/wx/ListCtrl.hs \ hunk ./makefile 225 + samples/wx/Print.hs \ } [Change Var type synonym from IORef to stm's TVar for thread safety. shelarcy <she...@gm...>**20080425114909] { hunk ./configure 661 +# Test if we can include the stm package explicitly +$hcpkg -s stm > /dev/null 2> /dev/null +case $? in + 0) pkgstm=3D"-package stm";; + *) pkgstm=3D"";; +esac + hunk ./configure 889 +PKG-STM=3D$pkgstm hunk ./configure 952 +# behave like Cabal's configuration. +if test "$pkgcontainers"; then + wxcoredepends=3D"base, containers" +else + wxcoredepends=3D"base" +fi + hunk ./configure 993 -depends: base,haskell98 +depends: ${wxcoredepends}, haskell98, stm hunk ./configure 1016 + Graphics.UI.WX.TopLevelWindow, hunk ./configure 1025 -depends:wxcore-${version} +depends: wxcore-${version}, stm hunk ./makefile 527 -WXCORE-HCFLAGS =3D$(HCFLAGS) $(PKG-CONTAINERS) -fvia-C -package-name $(WXC= ORE)-$(VERSION) +WXCORE-HCFLAGS =3D$(HCFLAGS) $(PKG-CONTAINERS) $(PKG-STM) -fvia-C -package= -name $(WXCORE)-$(VERSION) hunk ./makefile 716 -WX-HCFLAGS =3D$(HCFLAGS) -fvia-C -package-name $(WX)-$(VERSION) -package $= (WXCORE)-$(VERSION) +WX-HCFLAGS =3D$(HCFLAGS) $(PKG-STM) -fvia-C -package-name $(WX)-$(VERSION)= -package $(WXCORE)-$(VERSION) hunk ./wx/src/Graphics/UI/WX/Variable.hs 17 -import Data.IORef +import Control.Concurrent.STM.TVar hunk ./wx/src/Graphics/UI/WX/Variable.hs 25 -instance Valued IORef where +instance Valued TVar where hunk ./wx/wx.cabal 19 - build-depends: base >=3D 3, wxcore >=3D 0.10.1 + build-depends: base >=3D 3, wxcore >=3D 0.10.1, stm hunk ./wx/wx.cabal 21 - build-depends: base < 3, wxcore >=3D 0.10.1 + build-depends: base < 3, wxcore >=3D 0.10.1, stm hunk ./wxcore/src/Graphics/UI/WXCore/Types.hs 89 -import Data.IORef +import Control.Concurrent.STM hunk ./wxcore/src/Graphics/UI/WXCore/Types.hs 199 -type Var a =3D IORef a +type Var a =3D TVar a hunk ./wxcore/src/Graphics/UI/WXCore/Types.hs 203 -varCreate x =3D newIORef x +varCreate x =3D newTVarIO x hunk ./wxcore/src/Graphics/UI/WXCore/Types.hs 207 -varGet v =3D readIORef v +varGet v =3D atomically $ readTVar v hunk ./wxcore/src/Graphics/UI/WXCore/Types.hs 211 -varSet v x =3D writeIORef v x +varSet v x =3D atomically $ writeTVar v x hunk ./wxcore/src/Graphics/UI/WXCore/Types.hs 215 -varSwap v x =3D do prev <- varGet v; varSet v x; return prev +varSwap v x =3D atomically $ do + prev <- readTVar v + writeTVar v x + return prev hunk ./wxcore/src/Graphics/UI/WXCore/Types.hs 222 -varUpdate v f =3D do x <- varGet v - varSet v (f x) +varUpdate v f =3D atomically $ do + x <- readTVar v + writeTVar v (f x) hunk ./wxcore.cabal 17 - build-depends: base >=3D 3, parsec, array, containers, directory, = old-time, time + build-depends: base >=3D 3, array, containers, directory, + parsec, old-time, time, stm hunk ./wxcore.cabal 20 - build-depends: base < 3, parsec, time + build-depends: base < 3, parsec, time, stm } Context: [Replace _wcsdup with wxStrdup in wxWidgets 2.8 compat code. Eric Kow <eri...@gm...>**20080420115042 According to shelarcy and Jeremy, _wcsdup is Windows-specific. ] = [wxWidgets 2.8.7 on 0.10.3 release version jer...@gm...**20080410134132] = [TAG wxWidgets2.8.7_on_0.10.3rc1 jer...@gm...**20080410113256] = [Add TopLevelWindow for wxWidgets 2.8.7 support jer...@gm...**20080410113113] = [Preliminary wxWidgets 2.8.7 support jer...@gm...**20080410112559] = [Shifted to Pavel's Debian build system Mads Lindstroem <mad...@ya...>**20080413131752 = I have changed the current Debian build system to the one made by Pavel Shramov. It is a lot simpler than the current one. Also it is similar to what can normally be found in the Debian archieve, and I therefore assume that it will be easier to some day get an offecial WxHaskell Debian package. = All of the files in the debian directory is the work of Pavel. = I changed only one thing, as compared to Pavel's version. Namely that I removed the dependcy on libghc6-time-dev. I did it, as this dependency makes the package un-buildable on Debian unstable (GHC 6.8). At release 0.10.3, some users requested a GHC 6.8 version, and it is therefore important that we can provide one. = = ] = [Removed check for Data.Time Mads Lindstroem <mad...@ya...>**20080413114242 = Removed the check for Data.Time as it is not needed. I originally added it as I had somehow overlooked the Debian package libghc6-time-dev. Sorry about the unneccessary noise :( = ] = [Fix: samples/wx/makefile's "make clean" doesn't clean Windows things. shelarcy <she...@gm...>**20080409133446] = [Fix 1932640: samples/wx/FileBrowse is broken on Windows. = shelarcy <she...@gm...>**20080409132157] = [Add containers package dependency to wxcore.cabal. shelarcy <she...@gm...>**20080328131307] = [Remove IntMap from wxcore. Use the containers version instead. shelarcy <she...@gm...>**20080328131144] = [Add containers package to wxcore. shelarcy <she...@gm...>**20080328123744] = [Remove Set from wxdirect. Use the containers version instead. Eric Kow <eri...@gm...>**20080322140544] = [Remove Map from wxdirect. Use the containers version instead. Eric Kow <eri...@gm...>**20080322140245] = [Add containers package to wxdirect. Eric Kow <eri...@gm...>**20080322135933] = [Split makefile entry for wxdirect containers into separate lines. Eric Kow <eri...@gm...>**20080322135824 For more independence between patches which remove Map, Set and MultiSet in favour of the containers version. ] = [Use string comparison in haddockversion test. Eric Kow <eri...@gm...>**20080326224059 Again, for the case where haddock is not found. ] = [Fix bug in configure script if Haddock is not found. Eric Kow <eri...@gm...>**20080324155706 (discovered by S. Doaitse Swierstra) ] = [Add wx/license.txt to srcdist (to avoid build error). Eric Kow <eri...@gm...>**20080323125315] = [Fix download link typos. Eric Kow <eri...@gm...>**20080322130605] = [Kill a broken link (we no longer use CVS). Eric Kow <eri...@gm...>**20080322125822] = [Overwrite 0.10.3rc1 news with proper 0.10.3 news. Eric Kow <eri...@gm...>**20080322125032] = [TAG 0.10.3 Eric Kow <eri...@gm...>**20080321183613] = Patch bundle hash: e27d73f5edd4c5a80d6a2f9a515d6deb3b515127 --=_-- . |
From: Mads L. <mad...@ya...> - 2008-04-24 21:37:29
|
Hi I have compiled & installed this on Debian Linux. And it worked with only a little trouble. I had to install WxHaskell 2.8 from http://wiki.wxpython.org/InstallingOnUbuntuOrDebian . That is, I installed a package not in the main Debian achieve, which some Debian users may not be so happy about. But hopefully Debian has WxHaskell 2.8 when we are ready to release the next version of WxHaskell. However, I had to turn profiling off or installation of wx gave me: .... [ 6 of 16] Compiling Graphics.UI.WX.Events ( src/Graphics/UI/WX/Events.hs, dist/build/Graphics/UI/WX/Events.p_o ) [ 7 of 16] Compiling Graphics.UI.WX.Window ( src/Graphics/UI/WX/Window.hs, dist/build/Graphics/UI/WX/Window.p_o ) src/Graphics/UI/WX/Window.hs:165:26: Not in scope: `windowGetEffectiveMinSize' Installing: /home/ghctest/lib/wx-0.10.3/ghc-6.8.2 Setup: Error: Could not find module: Graphics.UI.WX.Draw with any suffix: ["p_hi"] and finally compiling the samples programs using "make all" gave linker problems. But compiling manually using "ghc --make ..." solved the issue. I will investigate the two issues further tomorrow, when I am not tired. /Mads > Just a little heads up: I've pushed in set of patches from Jeremy > O'Donoghue which should make it possible to use wxhaskell with > wxWidgets 2.8. > > For MacOS X Leopard users, yes, this means that you can run the darcs > version wxhaskell (it runs fine on my machine). > > Unfortunately, this means breaking support for prior versions of > wxWidgets. We are working out what to do about this... > > ------------------------------------------------------------------------- > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > Don't miss this year's exciting event. There's still time to save $100. > Use priority code J8TL2D2. > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > _______________________________________________ wxhaskell-devel mailing list wxh...@li... https://lists.sourceforge.net/lists/listinfo/wxhaskell-devel |
From: Eric Y. K. <eri...@gm...> - 2008-04-23 19:37:16
|
Just a little heads up: I've pushed in set of patches from Jeremy O'Donoghue which should make it possible to use wxhaskell with wxWidgets 2.8. For MacOS X Leopard users, yes, this means that you can run the darcs version wxhaskell (it runs fine on my machine). Unfortunately, this means breaking support for prior versions of wxWidgets. We are working out what to do about this... -- Eric Kow <http://www.nltg.brighton.ac.uk/home/Eric.Kow> PGP Key ID: 08AC04F9 |
From: Simon Peyton-J. <si...@mi...> - 2008-04-22 08:05:26
|
Dear WxHaskellers ICFP is growing a Functional Programming Developer Conference! It'll sit back-to-back with ICFP, with the Commercial Users of Functional Programming workshop as part of it. As well as CUFP, though, there'll be tutorials and presentations about libraries tools programming techniques This is perfect for WxHaskell: you could offer a tutorial/demo session in which you show how to use WxHaskell to create fantastic UIs. I'd really like to see a WxHaskell tutorial there. Deadline for offers is 27 June, so you have time. But don't leave it too long. Simon Call for Talks and Tutorials ACM SIGPLAN 2008 Developer Tracks on Functional Programming http://www.deinprogramm.de/defun-2008/ Victoria, BC, Canada, 25, 27 September, 2008 The workshop will be held in conjunction with ICFP 2008. http://www.icfpconference.org/icfp2008/ Important dates Proposal Deadline: June 27, 2008, 0:00 UTC Notification: July 14, 2008 DEFUN 2008 invites functional programmers who know how to solve problems with functional prorgamming to give talks and lead tutorials at the The ICFP Developer Tracks. We want to know about your favorite programming techniques, powerful libraries, and engineering approaches you've used that the world should know about and apply to other projects. We want to know how to be productive using functional programming, write better code, and avoid common pitfals. We invite proposals for presentations in the following categories: How-to talks: 45-minute "how-to" talks that provide specific information on how to solve specific problems using functional programming. These talks focus on concrete examples, but provide useful information for developers working on different projects or in different contexts. Examples: - "How I made Haskell an extension language for SAP R/3." - "How I replaced /sbin/init by a Scheme program." - "How I hooked up my home appliances to an Erlang control system." - "How I got an SML program to drive my BMW." General language tutorials Half-day general language tutorials for specific functional languages, given by recognized experts for the respective languages. Technology tutorials Half-day tutorials on techniques, technologies, or solving specific problems in functional programming such as: - how to make the best use of specific FP programming techniques - how to inject FP into a development team used to more conventional technologies - how to connect FP to existing libraries / frameworks / platforms - how to deliver high-performance systems with FP - how to deliver high-reliability systems with FP Remember that your audience will include computing professionals who are not academics and who may not already be experts on functional programming. Presenters of tutorials will receive free registration to ICFP 2008. Submission guidelines Submit a proposal of 150 words or less for either a 45-minute talk with a short Q&A session at the end, or a 300-word-or-less proposal for a 3-hour tutorial, where you present your material, but also give participants a chance to practice it on their own laptops. Some advice: - Give it a simple and straightforward title or name; avoid fancy titles or puns that would make it harder for attendees to figure out what you'll be talking about. - Clearly identify the level of the talk: What knowledge should people have when they come to the presentation or tutorial? - Explain why people will want to attend: is the language or library useful for a wide range of attendees? Is the pitfall you're identifying common enough that a wide range of attendees is likely to encounter it? - Explain what benefits attendees are expected to take home to their own projects. - For a tutorial, explain how you want to structure the time, and what you expect to have attendees to do on their laptops. List what software you'll expect attendees to have installed prior to coming. Submit your proposal in plain text electronically to defun-2008-submission-AT-deinprogramm.de by the beginning of Friday, June 27, Universal Coordinated Time. Organizers Kathleen Fisher AT&T Labs Simon Peyton Jones Microsoft Research Mike Sperber (co-chair) DeinProgramm Don Stewart (co-chair) Galois |
From: Eric K. <eri...@gm...> - 2008-04-20 12:36:57
|
Is it ok if I push these patches? If nobody says anything by Wednesday, I'm going to go ahead and do it. For what it's worth, I just upgraded to Leopard this weekend, and after a little coaxing (mostly deleting old copies of wxhaskell), the sample applications seem to run using wxMac 2.8. N.B. running them directly from the command line no longer seems to work, despite the macosx-app script (the applications are inert), but doing open -a Foo.app does work. As for wxWidgets 2.6 compatibility, I would argue that we should accept to possibly lose this (perhaps temporarily), because the Debian users have the option of downgrading, whereas MacOS X Leopard users do not... Thu Apr 10 12:25:59 BST 2008 jer...@gm... * Preliminary wxWidgets 2.8.7 support Thu Apr 10 12:31:13 BST 2008 jer...@gm... * Add TopLevelWindow for wxWidgets 2.8.7 support Thu Apr 10 12:32:56 BST 2008 jer...@gm... tagged wxWidgets2.8.7_on_0.10.3rc1 Thu Apr 10 14:41:32 BST 2008 jer...@gm... * wxWidgets 2.8.7 on 0.10.3 release version Sun Apr 20 12:50:42 BST 2008 Eric Kow <eri...@gm...> * Replace _wcsdup with wxStrdup in wxWidgets 2.8 compat code. According to shelarcy and Jeremy, _wcsdup is Windows-specific. |
From: Eric Y. K. <eri...@gm...> - 2008-04-13 14:15:53
|
Pushed -- Eric Kow <http://www.nltg.brighton.ac.uk/home/Eric.Kow> PGP Key ID: 08AC04F9 |
From: Mads L. <mad...@ya...> - 2008-04-13 13:31:58
|
Sun Apr 13 13:42:42 CEST 2008 Mads Lindstroem <mad...@ya...> * Removed check for Data.Time Removed the check for Data.Time as it is not needed. I originally added it as I had somehow overlooked the Debian package libghc6-time-dev. Sorry about the unneccessary noise :( Sun Apr 13 15:17:52 CEST 2008 Mads Lindstroem <mad...@ya...> * Shifted to Pavel's Debian build system I have changed the current Debian build system to the one made by Pavel Shramov. It is a lot simpler than the current one. Also it is similar to what can normally be found in the Debian archieve, and I therefore assume that it will be easier to some day get an offecial WxHaskell Debian package. All of the files in the debian directory is the work of Pavel. I changed only one thing, as compared to Pavel's version. Namely that I removed the dependcy on libghc6-time-dev. I did it, as this dependency makes the package un-buildable on Debian unstable (GHC 6.8). At release 0.10.3, some users requested a GHC 6.8 version, and it is therefore important that we can provide one. |
From: Jeremy O'D. <je...@o-...> - 2008-04-11 10:04:15
|
On Fri, 11 Apr 2008 09:29:48 +0100, "Eric Y. Kow" <eri...@gm...> said: > On Thu, Apr 10, 2008 at 15:12:50 +0100, Jeremy O'Donoghue wrote: > > - wxWidgets 2.8.7 was compiled from source using Visual Studio 2008 > > (i.e. on Windows) > > Great! Thanks! > > ... but I get this compile error on MacIntel > > g++ -c wxc/src/eljvalidator.cpp -o dist/wxc/eljvalidator.o -MD > -DwxcREFUSE_MEDIACTRL -DwxcREFUSE_OPENGL > -I/usr/local/lib/wx/include/mac-unicode-release-2.8 > -I/usr/local/include/wx-2.8 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES > -D__WXMAC__ -fPIC -Iwxc/include > wxc/src/eljvalidator.cpp: In function ‘void* > wxTextValidator_GetIncludes(void*, int*)’: wxc/src/eljvalidator.cpp:159: > error: ‘_wcsdup’ was not declared in this scope > wxc/src/eljvalidator.cpp: In function ‘void* > wxTextValidator_GetExcludes(void*, int*)’: wxc/src/eljvalidator.cpp:192: > error: ‘_wcsdup’ was not declared in this scope > make: *** [dist/wxc/eljvalidator.o] Error 1 Shelarcy got this one for me... we need to replace _wcsdup with wxStrdup(). _wcsdup() is Microsoft specific. > > with the following options: > > - WXWIN_COMPATIBILITY_2_4 0 > > - WXWIN_COMPATIBILITY_2_6 0 > > - wxUSE_UNICODE 1 > > - wxUSE_MEDIACTRL 1 > > - wxUSE_XML 1 > > - wxUSE_GLCANVAS 1 > > - wxUSE_ODBC 1 > > How do I get the same listing? I'm afraid this one was manual copy and paste. It would be very easy to create a script to do it, though, and we should probably consider (as we could then do autoconfig of wxHaskell build for Windows). All you need to do is search wx/setup.h for the wxWidgets install in path. The most important of the features above that we should consider further is WXWIN_COMPATIBILITY_2_6 (which I disabled) - I could see (given packaging time for e.g. Debian) a benefit in trying to support the current and previous releases of wxWidgets. At the same time, I think it's very important to maintain a close link between wxcore and wxWidgets library itself - otherwise we would need to fully document wxcore (at present the wxWidgets docs are quite useable as documentation for wxcore, but if we don't keep up, they become less so over time. Regards Jeremy |
From: Eric Y. K. <eri...@gm...> - 2008-04-11 08:29:55
|
On Thu, Apr 10, 2008 at 15:12:50 +0100, Jeremy O'Donoghue wrote: > - wxWidgets 2.8.7 was compiled from source using Visual Studio 2008 > (i.e. on Windows) Great! Thanks! ... but I get this compile error on MacIntel g++ -c wxc/src/eljvalidator.cpp -o dist/wxc/eljvalidator.o -MD -DwxcREFUSE_MEDIACTRL -DwxcREFUSE_OPENGL -I/usr/local/lib/wx/include/mac-unicode-release-2.8 -I/usr/local/include/wx-2.8 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -D__WXMAC__ -fPIC -Iwxc/include wxc/src/eljvalidator.cpp: In function ‘void* wxTextValidator_GetIncludes(void*, int*)’: wxc/src/eljvalidator.cpp:159: error: ‘_wcsdup’ was not declared in this scope wxc/src/eljvalidator.cpp: In function ‘void* wxTextValidator_GetExcludes(void*, int*)’: wxc/src/eljvalidator.cpp:192: error: ‘_wcsdup’ was not declared in this scope make: *** [dist/wxc/eljvalidator.o] Error 1 > with the following options: > - WXWIN_COMPATIBILITY_2_4 0 > - WXWIN_COMPATIBILITY_2_6 0 > - wxUSE_UNICODE 1 > - wxUSE_MEDIACTRL 1 > - wxUSE_XML 1 > - wxUSE_GLCANVAS 1 > - wxUSE_ODBC 1 How do I get the same listing? -- Eric Kow <http://www.nltg.brighton.ac.uk/home/Eric.Kow> PGP Key ID: 08AC04F9 |
From: Eric Y. K. <eri...@gm...> - 2008-04-11 06:55:30
|
Pushed! Thanks! and sorry for the delay. Been away for three days. Btw, we should think about making it so that any one of us can push patches. Maybe switching to code.haskell.org for the darcs repository would be a good thing to try. -- Eric Kow <http://www.nltg.brighton.ac.uk/home/Eric.Kow> PGP Key ID: 08AC04F9 |
From: shelarcy <she...@gm...> - 2008-04-10 17:48:56
|
Hi Jeremy, On Thu, 10 Apr 2008 23:12:50 +0900, Jeremy O'Donoghue <je...@o-...> wrote: > Attached is a (zipped) preliminary set of patches for wxWidgets 2.8.7 > support. Some notes to help. > > - wxWidgets 2.8.7 was compiled from source using Visual Studio 2008 I tested your patch on PowerPC Mac OS X. And I found below part causes compile error. > [Preliminary wxWidgets 2.8.7 support > jer...@gm...**20080410112559] { > (snip) > hunk ./wxc/src/eljvalidator.cpp 136 > (snip) > +#ifdef wxUSE_UNICODE > + items_copy[i] = _wcsdup(items.Item(i).GetData()); > +#else > + items_copy[i] = strdup(items.Item(i).GetData()); > +#endif _wcsdup is Visual Studio (2005 or higher)'s specific function. And wxchar has portable wxStrdup function. So, I think we should use wxStrdup function instead. > - Compiled on top of both 0.10.3 rc1 (tagged) and the released version > (head). Tested > against most of the samples/wx directory using rc1 (Windows only). I checked those are also working on PowerPC Mac OS X platform. Some sample cause problem. But anyway we have working code now. That is sounds great! > The general approach I've taken, as agreed with Eric when I discussed > this patch, is to shoot for wxcore API which is as close as possible to > wxWidgets 2.8. This breaks source compatibility in places, but has some > advantages: I don't check that yet. I'll check that this and/or next week. Best Regards, -- shelarcy <shelarcy hotmail.co.jp> http://page.freett.com/shelarcy/ |
From: Jeremy O'D. <je...@o-...> - 2008-04-10 14:13:00
|
Hi all, Attached is a (zipped) preliminary set of patches for wxWidgets 2.8.7 support. Some notes to help. - wxWidgets 2.8.7 was compiled from source using Visual Studio 2008 (i.e. on Windows) with the following options: - WXWIN_COMPATIBILITY_2_4 0 - WXWIN_COMPATIBILITY_2_6 0 - wxUSE_UNICODE 1 - wxUSE_MEDIACTRL 1 - wxUSE_XML 1 - wxUSE_GLCANVAS 1 - wxUSE_ODBC 1 Styled text control was also built. I think this means that I've enabled all of the current things we support in wxHaskell. The whole thing was built as a static library. - Compiled on top of both 0.10.3 rc1 (tagged) and the released version (head). Tested against most of the samples/wx directory using rc1 (Windows only). - Main changes are: - (wxc) Changes in managed.cpp for some of the const objects. Previous code does not compile on VS2008. - (wxc) Factored some functions into wxTopLevelWindow - (wx) Added TopLevelWindow.hs, which mainly removes some functionality from Frame.hs. The general approach I've taken, as agreed with Eric when I discussed this patch, is to shoot for wxcore API which is as close as possible to wxWidgets 2.8. This breaks source compatibility in places, but has some advantages: - Possible to refer to wxWidgets documentation for wxcore functions. - Not always clear what is the 'best' way to maintain compatibility with more complex changes e.g. wxTopLevelWindow introduction. I'm sure that not all will agree with the approach, but the attached is a start for wxWidgets 2.8 support. Best regards Jeremy |
From: shelarcy <she...@gm...> - 2008-04-09 13:54:32
|
Sorry, I mistook to send wrong mailing-list. On Wed, 09 Apr 2008 22:50:54 +0900, shelarcy <she...@gm...> wrote: > Hi Adrian, > > On Mon, 07 Apr 2008 15:17:46 +0900, Adrian Neumann <ane...@in...> wrote: >> I did. Windows throws an error. Something like "program cannot be >> initialized". The same thing I assume. > > Pleas check error number. Is your error same this one? > > http://www.mail-archive.com/wxh...@li.../msg00441.html > > If so, you can fix problem by installing Microsoft Visual C++ 2005 > SP1 Redistributable Package. > > http://www.mail-archive.com/wxh...@li.../msg00457.html > http://www.microsoft.com/downloads/details.aspx?FamilyID=200b2fd9-ae1a-4a14-984d-389c36f85647&DisplayLang=en > > >> José Miguel Vilaça schrieb: >>> Hi ADrian, >>> >>> Did you tried to compile that? >>> ghc -package wx Helloword.hs >>> >>> And running Helloword.exe is ok? > > Best Regards, > -- shelarcy <shelarcy hotmail.co.jp> http://page.freett.com/shelarcy/ |
From: shelarcy <she...@gm...> - 2008-04-09 13:51:12
|
Hi Adrian, On Mon, 07 Apr 2008 15:17:46 +0900, Adrian Neumann <ane...@in...> wrote: > I did. Windows throws an error. Something like "program cannot be > initialized". The same thing I assume. Pleas check error number. Is your error same this one? http://www.mail-archive.com/wxh...@li.../msg00441.html If so, you can fix problem by installing Microsoft Visual C++ 2005 SP1 Redistributable Package. http://www.mail-archive.com/wxh...@li.../msg00457.html http://www.microsoft.com/downloads/details.aspx?FamilyID=200b2fd9-ae1a-4a14-984d-389c36f85647&DisplayLang=en > José Miguel Vilaça schrieb: >> Hi ADrian, >> >> Did you tried to compile that? >> ghc -package wx Helloword.hs >> >> And running Helloword.exe is ok? Best Regards, -- shelarcy <shelarcy hotmail.co.jp> http://page.freett.com/shelarcy/ |
From: shelarcy <she...@gm...> - 2008-04-09 13:40:42
|
DarcsURL: C:/home/shelarcy/wxhaskell MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=_" --=_ Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Wed Apr 9 22:21:57 =93=8C=8B=9E (=95W=8F=80=8E=9E) 2008 shelarcy <shelarc= y...@gm...> * Fix 1932640: samples/wx/FileBrowse is broken on Windows. = Wed Apr 9 22:34:46 =93=8C=8B=9E (=95W=8F=80=8E=9E) 2008 shelarcy <shelarc= y...@gm...> * Fix: samples/wx/makefile's "make clean" doesn't clean Windows things. --=_ Content-Type: text/x-darcs-patch; name="fix-1932640_-samples_wx_filebrowse-is-broken-on-windows_-.dpatch" Content-Transfer-Encoding: quoted-printable Content-Description: A darcs patch for your repository! New patches: [Fix 1932640: samples/wx/FileBrowse is broken on Windows. = shelarcy <she...@gm...>**20080409132157] { hunk ./samples/wx/FileBrowse.hs 160 - let paths =3D map (\dir -> path ++ dir ++ "/") contents + let paths =3D map (\cont -> path ++ cont) contents } [Fix: samples/wx/makefile's "make clean" doesn't clean Windows things. shelarcy <she...@gm...>**20080409133446] { hunk ./samples/wx/makefile 36 - rm -rf $(APPS) *.o *.hi *.app + rm -rf $(APPS) *.o *.hi *.app *exe *.manifest } Context: [Add containers package dependency to wxcore.cabal. shelarcy <she...@gm...>**20080328131307] = [Remove IntMap from wxcore. Use the containers version instead. shelarcy <she...@gm...>**20080328131144] = [Add containers package to wxcore. shelarcy <she...@gm...>**20080328123744] = [Remove Set from wxdirect. Use the containers version instead. Eric Kow <eri...@gm...>**20080322140544] = [Remove Map from wxdirect. Use the containers version instead. Eric Kow <eri...@gm...>**20080322140245] = [Add containers package to wxdirect. Eric Kow <eri...@gm...>**20080322135933] = [Split makefile entry for wxdirect containers into separate lines. Eric Kow <eri...@gm...>**20080322135824 For more independence between patches which remove Map, Set and MultiSet in favour of the containers version. ] = [Use string comparison in haddockversion test. Eric Kow <eri...@gm...>**20080326224059 Again, for the case where haddock is not found. ] = [Fix bug in configure script if Haddock is not found. Eric Kow <eri...@gm...>**20080324155706 (discovered by S. Doaitse Swierstra) ] = [Add wx/license.txt to srcdist (to avoid build error). Eric Kow <eri...@gm...>**20080323125315] = [Fix download link typos. Eric Kow <eri...@gm...>**20080322130605] = [Kill a broken link (we no longer use CVS). Eric Kow <eri...@gm...>**20080322125822] = [Overwrite 0.10.3rc1 news with proper 0.10.3 news. Eric Kow <eri...@gm...>**20080322125032] = [TAG 0.10.3 Eric Kow <eri...@gm...>**20080321183613] = Patch bundle hash: 8b3f1db789c4855be957d5fe6c986ea79feb6d90 --=_-- . |
From: SourceForge.net <no...@so...> - 2008-04-02 20:49:23
|
Bugs item #1932640, was opened at 2008-04-02 16:49 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=536845&aid=1932640&group_id=73133 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Dean Herington (dherington) Assigned to: Nobody/Anonymous (nobody) Summary: samples/wx/FileBrowse is broken Initial Comment: Using wxHaskell 0.10.3 on Win XP Pro SP2, when I run the FileBrowse sample I get no files listed in the right pane for any folder selected in the left pane. (I tried to debug the program with GHCi without success.) ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=536845&aid=1932640&group_id=73133 |
From: Jeremy O'D. <jer...@gm...> - 2008-04-01 10:35:22
|
The wxHaskell development team is pleased to announce the release of wxHaskell 0.10.3, a Haskell binding for the wxWidgets GUI library. The Haskell support is built on a reasonably complete C language binding, which could be used as the basis for wxWidgets support on other languages/platforms which do not have easy mechanisms for linking with C++ code. The feature set is the same as wxHaskell 0.10.3 rc1 and rc2, with a number of additional bugfixes. This is the first full release since June 2005, and is the result of a great deal of work by a new team of contributors. Highlights of 0.10.3 include: - Support for Unicode builds of wxWidgets - Support for additional widgets including calendar, toolbar divider, styled text control (wxScintilla), media control - Support for clipboard, drag and drop - Support for 64bit (Linux) targets - Support for wxWidgets 2.6.x (support for wxWidgets 2.4.2 if you compile from source). wxWidgets 2.8 is not yet supported - Support for building with GHC 6.6.x and 6.8.x - Parts of wxHaskell are now built with Cabal - New test cases - Removed support GHC version < 6.4 - Profiling support - Smaller generated binary sizes (using --split-objs) Binary packages are available from the wxHaskell download site at http://sourceforge.net/project/showfiles.php?group_id=73133, for the following platforms: - Debian - Windows - OS X (Intel and PPC platforms) - Source code .tar.gz and .zip - Documentation (cross-platform) The wxHaskell libraries (wxcore and wx) are also available from Hackage (http://hackage.haskell.org). About wxHaskell --------------- wxHaskell is a Haskell binding to the wxWidgets GUI library for recent versions of the Glasgow Haskell Compiler. It provides a native look and feel on Windows, OS X and Linux, and a medium level programming interface. The main project page for wxHaskell is at http://wxhaskell.sourceforge.net. The latest source code for wxHaskell can always be obtained from http://darcs.haskell.org/wxhaskell. There are developer (wxh...@li... and user (wxh...@li...) mailing lists, and a wiki page at http://haskell.org/haskellwiki/WxHaskell which can provide more information to those interested. wxHaskell was originally created by Daan Leijen. The contributors to this new release include: - Eric Kow - shelarcy - Arie Middelkoop - Mads Lindstroem - Jeremy O'Donoghue - Lennart Augustson The C language binding for wxHaskell was derived from an original C language binding created for the Eiffel programming language by the ELJ project (http://elj.sourceforge.net). -- Jeremy O'Donoghue jer...@gm... |
From: Jeremy O'D. <je...@o-...> - 2008-04-01 10:32:55
|
The wxHaskell development team is pleased to announce the release of wxHaskell 0.10.3, a Haskell binding for the wxWidgets GUI library. The Haskell support is built on a reasonably complete C language binding, which could be used as the basis for wxWidgets support on other languages/platforms which do not have easy mechanisms for linking with C++ code. The feature set is the same as wxHaskell 0.10.3 rc1 and rc2, with a number of additional bugfixes. This is the first full release since June 2005, and is the result of a great deal of work by a new team of contributors. Highlights of 0.10.3 include: - Support for Unicode builds of wxWidgets - Support for additional widgets including calendar, toolbar divider, styled text control (wxScintilla), media control - Support for clipboard, drag and drop - Support for 64bit (Linux) targets - Support for wxWidgets 2.6.x (support for wxWidgets 2.4.2 if you compile from source). wxWidgets 2.8 is not yet supported - Support for building with GHC 6.6.x and 6.8.x - Parts of wxHaskell are now built with Cabal - New test cases - Removed support GHC version < 6.4 - Profiling support - Smaller generated binary sizes (using --split-objs) Binary packages are available from the wxHaskell download site at http://sourceforge.net/project/showfiles.php?group_id=73133, for the following platforms: - Debian - Windows - OS X (Intel and PPC platforms) - Source code .tar.gz and .zip - Documentation (cross-platform) The wxHaskell libraries (wxcore and wx) are also available from Hackage (http://hackage.haskell.org). About wxHaskell --------------- wxHaskell is a Haskell binding to the wxWidgets GUI library for recent versions of the Glasgow Haskell Compiler. It provides a native look and feel on Windows, OS X and Linux, and a medium level programming interface. The main project page for wxHaskell is at http://wxhaskell.sourceforge.net. The latest source code for wxHaskell can always be obtained from http://darcs.haskell.org/wxhaskell. There are developer (wxh...@li... and user (wxh...@li...) mailing lists, and a wiki page at http://haskell.org/haskellwiki/WxHaskell which can provide more information to those interested. wxHaskell was originally created by Daan Leijen. The contributors to this new release include: - Eric Kow - shelarcy - Arie Middelkoop - Mads Lindstroem - Jeremy O'Donoghue - Lennart Augustson The C language binding for wxHaskell was derived from an original C language binding created for the Eiffel programming language by the ELJ project (http://elj.sourceforge.net). |
From: SourceForge.net <no...@so...> - 2008-04-01 10:09:30
|
Bugs item #1931065, was opened at 2008-04-01 03:09 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=536845&aid=1931065&group_id=73133 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Nobody/Anonymous (nobody) Assigned to: Nobody/Anonymous (nobody) Summary: bad scollbars Initial Comment: Scroll bars don't work properly in a program once compiled with the new version of wxHaskell. Scrollbars do not appear until window is very small, and then do not allow full range of movement. Details at https://www.cs.tcd.ie/Andrew.Butterfield/DRAFTS/wxbug1734/ And...@cs... ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=536845&aid=1931065&group_id=73133 |