From: luc t. <luc...@gm...> - 2013-03-24 14:08:41
|
I discovered there is now a much better graphical engine in wx [wxGraphicsRenderer], which uses native engines: These classes are related to drawing using a new vector based drawing API and are based on the modern drawing backend GDI+, CoreGraphics and Cairo. they poped up in 2.8 / 2011 and were not present in 2.6.4 / 2007 A very superficial browse, but haven't found any support of these in WX , except the inclusion of the graphicscontext.cpp/ h in wxc 1/ is it correct ? 2/ any plans to use them ? 3/ is there dependencies on the eiffel bindings to fix first ? 4/ or any other alternative you would advise ? [wxGraphicsRenderer]:http://docs.wxwidgets.org/trunk/page_class_cat.html#page_class_cat_gc |
From: Henk-Jan v. T. <hj...@ch...> - 2013-03-24 22:26:05
|
On Sun, 24 Mar 2013 15:08:20 +0100, luc taesch <luc...@gm...> wrote: : > A very superficial browse, but haven't found any support of these in WX > , except the inclusion of the graphicscontext.cpp/ h in wxc > > 1/ is it correct ? > 2/ any plans to use them ? > 3/ is there dependencies on the eiffel bindings to fix first ? > 4/ or any other alternative you would advise ? > > [wxGraphicsRenderer]:http://docs.wxwidgets.org/trunk/page_class_cat.html#page_class_cat_gc Have a look at [0], I think that is what you are looking for. Regarding question 3: wxHaskell does not depend on Eiffel anymore. Regards, Henk-Jan van Tuyl [0] http://hackage.haskell.org/packages/archive/wxcore/0.12.1.7/doc/html/Graphics-UI-WXCore-WxcClassesAL.html#g:81 -- http://Van.Tuyl.eu/ http://members.chello.nl/hjgtuyl/tourdemonad.html Haskell programming -- |
From: Luc T. <luc...@gm...> - 2013-03-25 09:16:05
|
-many thanks for your help, this made my day ! … but just for 10 mn as I cannot find these on the current 0.90.3. ;-< ?? I see you are pointing to an old lib, 0.12.7. Currently I cannot find the Graphics-UI-WXCore-WxcClassesAL (http://hackage.haskell.org/packages/archive/wxcore/0.12.1.7/doc/html/Graphics-UI-WXCore-WxcClassesAL.html#g:81) file, nor any containing GraphicsRenderer I guess there have been some refactoring since 0.12.7. could you help pointing at the files ? or am i getting the wrong source ? I got the source from [https://github.com/atzedijkstra/wxHaskell/tree/master/wxcore/src/haskell/Graphics/UI/WXCore] -------------- Luc be.linkedin.com/in/luctaesch/ (http://be.linkedin.com/in/luctaesch/) Envoyé avec Sparrow (http://www.sparrowmailapp.com/?sig) Le dimanche 24 mars 2013 à 23:26, Henk-Jan van Tuyl a écrit : > On Sun, 24 Mar 2013 15:08:20 +0100, luc taesch <luc...@gm... (mailto:luc...@gm...)> > wrote: > > : > > A very superficial browse, but haven't found any support of these in WX > > , except the inclusion of the graphicscontext.cpp/ h in wxc > > > > 1/ is it correct ? > > 2/ any plans to use them ? > > 3/ is there dependencies on the eiffel bindings to fix first ? > > 4/ or any other alternative you would advise ? > > > > [wxGraphicsRenderer]:http://docs.wxwidgets.org/trunk/page_class_cat.html#page_class_cat_gc > > > Have a look at [0], I think that is what you are looking for. > Regarding question 3: wxHaskell does not depend on Eiffel anymore. > > Regards, > Henk-Jan van Tuyl > > > [0] > http://hackage.haskell.org/packages/archive/wxcore/0.12.1.7/doc/html/Graphics-UI-WXCore-WxcClassesAL.html#g:81 > > > -- > http://Van.Tuyl.eu/ > http://members.chello.nl/hjgtuyl/tourdemonad.html > Haskell programming > -- > > |
From: Henk-Jan v. T. <hj...@ch...> - 2013-03-25 16:07:16
|
On Mon, 25 Mar 2013 10:16:00 +0100, Luc TAESCH <luc...@gm...> wrote: > -many thanks for your help, this made my day ! > > … but just for 10 mn as I cannot find these on the current 0.90.3. ;-< ?? > > I see you are pointing to an old lib, 0.12.7. Currently I cannot find > the Graphics-UI-WXCore-WxcClassesAL > (http://hackage.haskell.org/packages/archive/wxcore/0.12.1.7/doc/html/Graphics-UI-WXCore-WxcClassesAL.html#g:81) > file, nor any containing GraphicsRenderer > > I guess there have been some refactoring since 0.12.7. > > could you help pointing at the files ? > > or am i getting the wrong source ? > I got the source from > [https://github.com/atzedijkstra/wxHaskell/tree/master/wxcore/src/haskell/Graphics/UI/WXCore] The functions you are looking for, are defined in file wxcore\src\haskell\Graphics\UI\WXCore\WxcClassesAL.hs . This file is automatically created when you run cabal install or runhaskell Setup configure runhaskell Setup build inside the wxcore directory. Note, that you first have to install wxdirect and wxc You only need to import Graphics.UI.WXCore to get the wanted functionality. Regards, Henk-Jan van Tuyl -- http://Van.Tuyl.eu/ http://members.chello.nl/hjgtuyl/tourdemonad.html Haskell programming -- |
From: Luc T. <luc...@gm...> - 2013-03-25 18:01:04
|
ah many thanks ! I understand better now ( change quite a bit since 2003 :-) I indeed can see the classes . are these new renderers already mapped into wx, or should we use them as such , directly ? any sample / test available , out of chance ? Many thanks for your patience, anyway :-) Luc -------------- Luc be.linkedin.com/in/luctaesch/ (http://be.linkedin.com/in/luctaesch/) Envoyé avec Sparrow (http://www.sparrowmailapp.com/?sig) Le lundi 25 mars 2013 à 17:07, Henk-Jan van Tuyl a écrit : > On Mon, 25 Mar 2013 10:16:00 +0100, Luc TAESCH <luc...@gm... (mailto:luc...@gm...)> > wrote: > > > -many thanks for your help, this made my day ! > > > > … but just for 10 mn as I cannot find these on the current 0.90.3. ;-< ?? > > > > I see you are pointing to an old lib, 0.12.7. Currently I cannot find > > the Graphics-UI-WXCore-WxcClassesAL > > (http://hackage.haskell.org/packages/archive/wxcore/0.12.1.7/doc/html/Graphics-UI-WXCore-WxcClassesAL.html#g:81) > > file, nor any containing GraphicsRenderer > > > > I guess there have been some refactoring since 0.12.7. > > > > could you help pointing at the files ? > > > > or am i getting the wrong source ? > > I got the source from > > [https://github.com/atzedijkstra/wxHaskell/tree/master/wxcore/src/haskell/Graphics/UI/WXCore] > > > > > The functions you are looking for, are defined in file > wxcore\src\haskell\Graphics\UI\WXCore\WxcClassesAL.hs > . This file is automatically created when you run > cabal install > or > runhaskell Setup configure > runhaskell Setup build > inside the wxcore directory. Note, that you first have to install wxdirect > and wxc > > You only need to import Graphics.UI.WXCore to get the wanted functionality. > > Regards, > Henk-Jan van Tuyl > > > -- > http://Van.Tuyl.eu/ > http://members.chello.nl/hjgtuyl/tourdemonad.html > Haskell programming > -- > > |
From: Henk-Jan v. T. <hj...@ch...> - 2013-03-25 21:52:01
|
On Mon, 25 Mar 2013 19:00:58 +0100, Luc TAESCH <luc...@gm...> wrote: > ah many thanks ! I understand better now ( change quite a bit since > 2003 :-) > I indeed can see the classes . > > are these new renderers already mapped into wx, or should we use them as > such , directly ? > any sample / test available , out of chance ? > > Many thanks for your patience, anyway :-) > > Luc I can't find any renderer functions in wx, or any samples/tests; I suppose the best thing to do is to try to translate C++ sample programs to Haskell. Regards, Henk-Jan van Tuyl -- http://Van.Tuyl.eu/ http://members.chello.nl/hjgtuyl/tourdemonad.html Haskell programming -- |
From: Luc T. <luc...@gm...> - 2013-03-25 22:04:11
|
I tried this so far which is copied from the basic Paint.hs from the sample. - it compiles , run and break at run time if I omit Line [1] gr <- graphicsContextCreate dc -- 1. this break for now and it does not compile when I leave it on. My sources are [1] and [2] [1]: http://docs.wxwidgets.org/trunk/classwx_graphics_context.html [2]: http://chandlerproject.org/Projects/WxPythonGraphicsContext Ill keep you posted ---------- module Main where import Graphics.UI.WXCore import Graphics.UI.WX main :: IO () main = start gui gui :: IO () gui = do f <- frame [text := "Paint demo", fullRepaintOnResize := False] sw <- scrolledWindow f [ on paint := onpaint , virtualSize := sz 500 500, scrollRate := sz 10 10 , fullRepaintOnResize := False] set f [clientSize := sz 150 150, layout := fill $ widget sw] return () where onpaint dc viewArea = do gr <- graphicsContextCreate dc -- 1. this break for now pa <-graphicsPathCreate graphicsPathAddCircle pa (pt 30 30) 20 graphicsPathCloseSubpath pa --circle dc (pt 30 30) 20 [penKind := PenSolid] Paint.hs:13:45: Couldn't match expected type `()' with actual type `CWindowDC a0' Expected type: DC () -> Rect -> IO () Actual type: WindowDC a0 -> t0 -> IO () In the second argument of `(:=)', namely `onpaint' In the expression: on paint := on paint void MyCanvas::OnPaint(wxPaintEvent (http://docs.wxwidgets.org/trunk/classwx_paint_event.html) &event) { // Create paint DC wxPaintDC (http://docs.wxwidgets.org/trunk/classwx_paint_d_c.html) dc(this); // Create graphics context from it wxGraphicsContext (http://docs.wxwidgets.org/trunk/classwx_graphics_context.html) *gc = wxGraphicsContext::Create (http://docs.wxwidgets.org/trunk/classwx_graphics_context.html#adbc3ec3262f53e209276293ff1c0944e)( dc ); if (gc) { // make a path that contains a circle and some lines gc->SetPen (http://docs.wxwidgets.org/trunk/classwx_graphics_context.html#ac34d6320c2777fe2afcf8777868e37d3)( *wxRED_PEN (http://docs.wxwidgets.org/trunk/pen_8h.html#a62930a76d6d75371553b90661f8d9d30) ); wxGraphicsPath (http://docs.wxwidgets.org/trunk/classwx_graphics_path.html) path = gc->CreatePath (http://docs.wxwidgets.org/trunk/classwx_graphics_context.html#a55c95ed392ed17f6fbd6e83b2a442a80)(); path.AddCircle (http://docs.wxwidgets.org/trunk/classwx_graphics_path.html#a1dedee16234c079524b51db8e0395f68)( 50.0, 50.0, 50.0 ); path.MoveToPoint (http://docs.wxwidgets.org/trunk/classwx_graphics_path.html#a62c899479b6bd2105507317a1246978e)(0.0, 50.0); path.AddLineToPoint (http://docs.wxwidgets.org/trunk/classwx_graphics_path.html#abd69d09ad6fe10af99a675ac79d2717a)(100.0, 50.0); path.MoveToPoint (http://docs.wxwidgets.org/trunk/classwx_graphics_path.html#a62c899479b6bd2105507317a1246978e)(50.0, 0.0); path.AddLineToPoint (http://docs.wxwidgets.org/trunk/classwx_graphics_path.html#abd69d09ad6fe10af99a675ac79d2717a)(50.0, 100.0 ); path.CloseSubpath (http://docs.wxwidgets.org/trunk/classwx_graphics_path.html#a93ee08b5acd2a2aa82dceb4bbd9cc819)(); path.AddRectangle (http://docs.wxwidgets.org/trunk/classwx_graphics_path.html#ac257fef3393f29b2705438fdc08b28a0)(25.0, 25.0, 50.0, 50.0); gc->StrokePath (http://docs.wxwidgets.org/trunk/classwx_graphics_context.html#a4f7f8f768e84dcdf50493f0e7ef0c00a)(path); delete gc; } } -------------- Luc be.linkedin.com/in/luctaesch/ (http://be.linkedin.com/in/luctaesch/) Envoyé avec Sparrow (http://www.sparrowmailapp.com/?sig) Le lundi 25 mars 2013 à 22:52, Henk-Jan van Tuyl a écrit : > On Mon, 25 Mar 2013 19:00:58 +0100, Luc TAESCH <luc...@gm... (mailto:luc...@gm...)> > wrote: > > > ah many thanks ! I understand better now ( change quite a bit since > > 2003 :-) > > I indeed can see the classes . > > > > are these new renderers already mapped into wx, or should we use them as > > such , directly ? > > any sample / test available , out of chance ? > > > > Many thanks for your patience, anyway :-) > > > > Luc > > I can't find any renderer functions in wx, or any samples/tests; I suppose > the best thing to do is to try to translate C++ sample programs to Haskell. > > Regards, > Henk-Jan van Tuyl > > > -- > http://Van.Tuyl.eu/ > http://members.chello.nl/hjgtuyl/tourdemonad.html > Haskell programming > -- > > |
From: luc t. <luc...@gm...> - 2013-03-26 21:28:12
|
I am a bit clue less I have reduced to the bare minimum gr <- graphicsRendererCreateContextFromNativeWindow f graphicsContextDelete gr it compiles and segfault… any ideas ? mbp2-de-luc:wxcanvastest luc$ ghc --make Paint.hs [1 of 1] Compiling Main ( Paint.hs, Paint.o ) Linking Paint ... mbp2-de-luc:wxcanvastest luc$ ./Paint Segmentation fault: 11 mbp2-de-luc:wxcanvastest luc$ -------- module Main where import Graphics.UI.WXCore import Graphics.UI.WX main :: IO () main = start gui gui :: IO () gui = do f <- frame [text := "Paint demo", fullRepaintOnResize := False] -- sw <- scrolledWindow f [ on paint := onpaint -- , virtualSize := sz 500 500, scrollRate := sz 10 10 -- , fullRepaintOnResize := False] -- dcc <- paintDCCreate sw gr <- graphicsRendererCreateContextFromNativeWindow f -- pa <-graphicsPathCreate -- graphicsPathAddCircle pa (pt 30 30) 20 -- graphicsPathCloseSubpath pa graphicsContextDelete gr set f [clientSize := sz 150 150] --, layout := fill $ widget sw] return () On 2013-03-25 22:03:55 +0000, Luc TAESCH said: > I tried this so far > which is copied from the basic Paint.hs from the sample. > > - it compiles , run and break at run time if I omit Line [1] > gr <- graphicsContextCreate dc -- 1. this break for now > > and it does not compile when I leave it on. > > My sources are [1] and [2] > > [1]: http://docs.wxwidgets.org/trunk/classwx_graphics_context.html > [2]: http://chandlerproject.org/Projects/WxPythonGraphicsContext > > Ill keep you posted > ---------- > > module Main where > > import Graphics.UI.WXCore > import Graphics.UI.WX > > main :: IO () > main > = start gui > > gui :: IO () > gui > = do f <- frame [text := "Paint demo", fullRepaintOnResize := False] > sw <- scrolledWindow f [ on paint := onpaint > , virtualSize := sz 500 500, scrollRate > := sz 10 10 > , fullRepaintOnResize := False] > > set f [clientSize := sz 150 150, layout := fill $ widget sw] > return () > where > onpaint dc viewArea > = do > gr <- graphicsContextCreate dc -- 1. this break for now > > > pa <-graphicsPathCreate > graphicsPathAddCircle pa (pt 30 30) 20 > graphicsPathCloseSubpath pa > --circle dc (pt 30 30) 20 [penKind := PenSolid] > > > Paint.hs:13:45: > Couldn't match expected type `()' with actual type `CWindowDC a0' > Expected type: DC () -> Rect -> IO () > Actual type: WindowDC a0 -> t0 -> IO () > In the second argument of `(:=)', namely `onpaint' > In the expression: on paint := on paint > > > void MyCanvas::OnPaint(wxPaintEvent &event) > { > // Create paint DC > wxPaintDC dc(this); > > // Create graphics context from it > wxGraphicsContext *gc = wxGraphicsContext::Create( dc ); > > if (gc) > { > // make a path that contains a circle and some lines > gc->SetPen( *wxRED_PEN ); > wxGraphicsPath path = gc->CreatePath(); > path.AddCircle( 50.0, 50.0, 50.0 ); > path.MoveToPoint(0.0, 50.0); > path.AddLineToPoint(100.0, 50.0); > path.MoveToPoint(50.0, 0.0); > path.AddLineToPoint(50.0, 100.0 ); > path.CloseSubpath(); > path.AddRectangle(25.0, 25.0, 50.0, 50.0); > > gc->StrokePath(path); > > delete gc; > } > } > > -------------- > Luc > be.linkedin.com/in/luctaesch/ > Envoyé avec Sparrow > > Le lundi 25 mars 2013 à 22:52, Henk-Jan van Tuyl a écrit : > On Mon, 25 Mar 2013 19:00:58 +0100, Luc TAESCH <luc...@gm...> > wrote: > > ah many thanks ! I understand better now ( change quite a bit since > 2003 :-) > I indeed can see the classes . > > are these new renderers already mapped into wx, or should we use them as > such , directly ? > any sample / test available , out of chance ? > > Many thanks for your patience, anyway :-) > > Luc > > I can't find any renderer functions in wx, or any samples/tests; I suppose > the best thing to do is to try to translate C++ sample programs to Haskell. > > Regards, > Henk-Jan van Tuyl > > > -- > http://Van.Tuyl.eu/ > http://members.chello.nl/hjgtuyl/tourdemonad.html > Haskell programming > -- > > ------------------------------------------------------------------------------ > Own the Future-Intel® Level Up Game Demo Contest 2013 > Rise to greatness in Intel's independent game demo contest. > Compete for recognition, cash, and the chance to get your game > on Steam. $5K grand prize plus 10 genre and skill prizes. > Submit your demo by 6/6/13. http://p.sf.net/sfu/intel_levelupd2d |
From: Dmitriy N. <ni...@be...> - 2013-03-27 09:21:17
|
Hello, Mabe this will help: http://sourceforge.net/tracker/?func=detail&aid=3087609&group_id=73133&atid=536848 here patch and working example, tested on openSuse and windows xp. Regards, Dmitriy 27.03.2013 01:27, luc taesch wrote: > > I am a bit clue less > > I have reduced to the bare minimum > > gr <- graphicsRendererCreateContextFromNativeWindow f > > graphicsContextDelete gr > > > it compiles and segfault… > > > any ideas ? > > > mbp2-de-luc:wxcanvastest luc$ ghc --make Paint.hs > > [1 of 1] Compiling Main ( Paint.hs, Paint.o ) > > Linking Paint ... > > mbp2-de-luc:wxcanvastest luc$ ./Paint > > Segmentation fault: 11 > > mbp2-de-luc:wxcanvastest luc$ > > |
From: Luc T. <luc...@gm...> - 2013-03-27 09:31:35
|
Many thanks ! so you solved it already in wxcore-0.12.1.6 ! but what happened ? it never made its way to the core trunk ? any clue if this is still valid ? To enable GraphicsContext, wxWidgets must be compiled with --enable-graphics_ctx option. or is it detected automatically ? was it related to 2.8 or even before ? Anyway, many thanks for your help , and I will try it tonight . luc -------------- Luc be.linkedin.com/in/luctaesch/ (http://be.linkedin.com/in/luctaesch/) Envoyé avec Sparrow (http://www.sparrowmailapp.com/?sig) Le mardi 26 mars 2013 à 23:31, Dmitriy Nikitinskiy a écrit : > Hello, > > Mabe this will help: > > http://sourceforge.net/tracker/?func=detail&aid=3087609&group_id=73133&atid=536848 > > here patch and working example, tested on openSuse and windows xp. > > Regards, > Dmitriy > > 27.03.2013 01:27, luc taesch wrote: > > > > I am a bit clue less > > > > I have reduced to the bare minimum > > > > gr <- graphicsRendererCreateContextFromNativeWindow f > > > > graphicsContextDelete gr > > > > > > it compiles and segfault… > > > > > > any ideas ? > > > > > > mbp2-de-luc:wxcanvastest luc$ ghc --make Paint.hs > > > > [1 of 1] Compiling Main ( Paint.hs, Paint.o ) > > > > Linking Paint ... > > > > mbp2-de-luc:wxcanvastest luc$ ./Paint > > > > Segmentation fault: 11 > > > > mbp2-de-luc:wxcanvastest luc$ > > > ------------------------------------------------------------------------------ > Own the Future-Intel® Level Up Game Demo Contest 2013 > Rise to greatness in Intel's independent game demo contest. > Compete for recognition, cash, and the chance to get your game > on Steam. $5K grand prize plus 10 genre and skill prizes. > Submit your demo by 6/6/13. http://p.sf.net/sfu/intel_levelupd2d > _______________________________________________ > wxhaskell-devel mailing list > wxh...@li... (mailto:wxh...@li...) > https://lists.sourceforge.net/lists/listinfo/wxhaskell-devel > > |