Opened issue #1510 Thanks, Sankar
On 11/29/15 8:01 PM, John Benediktsson wrote: > That could be a bug, or maybe a side effect of the design. Would you mind > opening an issue on github for us to look into later? > > Thanks, > John. > >> On Nov 29, 2015, at 6:10 AM, Sankaranarayanan Viswanathan >> <rationalrev...@gmail.com> wrote: >> >>> On 11/29/15 7:22 PM, Jon Harper wrote: >>> There's an image-gadget implementation from images.viewer, maybe you >>> should start from that and expand to get all the functionnality you >>> need ? >>> >>> IN: scratchpad >>> "resource:./misc/icons/factor_48...@2x.png" <image-gadget> gadget. >>> "resource:./misc/icons/factor_48...@2x.png" <image-gadget> "image" >>> open-window >>> >>> Jon >>> >>> >>> On Sun, Nov 29, 2015 at 1:37 PM, Sankaranarayanan Viswanathan >>> <rationalrev...@gmail.com> wrote: >>>> Hi, >>>> >>>> Hi, i'm facing a problem drawing textures in a new window. when I >>>> create the gadget and add it to the listener using gadget. the image >>>> shows corretly, when I create the gadget and use open-window, the >>>> image does not show up on the new window. >>>> >>>> Sample code below: >>>> >>>> TUPLE: i-gadget < gadget >>>> image texture ; >>>> >>>> : <i-gadget> ( path -- gadget ) >>>> [ i-gadget new ] dip load-image >>image ; >>>> >>>> M: i-gadget pref-dim* >>>> image>> dim>> [ 20 + ] map ; >>>> >>>> M: i-gadget graft* >>>> dup find-gl-context >>>> dup image>> { 0 0 } <texture> >>texture drop ; >>>> >>>> M: i-gadget ungraft* >>>> dup find-gl-context >>>> dup texture>> dispose >>>> f >>texture drop ; >>>> >>>> M: i-gadget draw-gadget* >>>> [ { 10 10 } ] dip texture>> [ draw-texture ] >>>> curry with-translation ; >>>> >>>> ! In the listener >>>> >>>> "vocab:images/sprites/game_drop.png" <i-gadget> gadget. >>>> >>>> ! the above works and shows the image in the listener >>>> >>>> "vocab:images/sprites/game_drop.png" <i-gadget> "i-gadget" open-window >>>> >>>> ! the above opens a new window but the image does not show >>>> >>>> What could I be missing? >>>> >>>> Thanks, >>>> Sankar >>>> >>>> >>>> ------------------------------------------------------------------------------ >>>> _______________________________________________ >>>> Factor-talk mailing list >>>> Factor-talk@lists.sourceforge.net >>>> https://lists.sourceforge.net/lists/listinfo/factor-talk >>> >>> ------------------------------------------------------------------------------ >> >> I see that moving the texture creation code from graft* to draw-gadget* >> solves the issue. I'm wondering if this is a bug, since the >> documentation for graft* mentions that resources can be allocated on >> this method (and to use find-gl-context to ensure the correct GL context >> is setup before allocating the resources). >> >> The modified the code shown below works correctly: >> >> M: i-gadget graft* >> drop ; >> >> M: i-gadget draw-gadget* >> [ { 10 10 } ] dip >> dup texture>> [ ] >> [ dup image>> { 0 0 } <texture> >>texture texture>> ] ?if >> [ draw-texture ] curry with-translation ; >> >> image-gadget seems to have been implemented in the same way though (i.e. >> setting up textures is done on the 1st call into draw-gadget*). >> >> Thanks, >> Sankar >> >> >> ------------------------------------------------------------------------------ >> _______________________________________________ >> Factor-talk mailing list >> Factor-talk@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/factor-talk > > ------------------------------------------------------------------------------ > ------------------------------------------------------------------------------ _______________________________________________ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk