|
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] |