Re: [Factor-talk] Problem drawing an image in a new window
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 >> 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" gadget. >>> "resource:./misc/icons/factor_48...@2x.png" "image" >>> open-window >>> >>> Jon >>> >>> >>> On Sun, Nov 29, 2015 at 1:37 PM, Sankaranarayanan Viswanathan >>> 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 ; : ( 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 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" gadget. ! the above works and shows the image in the listener "vocab:images/sprites/game_drop.png" "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>> ] ?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
Re: [Factor-talk] Problem drawing an image in a new window
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 > 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" gadget. >> "resource:./misc/icons/factor_48...@2x.png" "image" >> open-window >> >> Jon >> >> >> On Sun, Nov 29, 2015 at 1:37 PM, Sankaranarayanan Viswanathan >> 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 ; >>> >>> : ( 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 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" gadget. >>> >>> ! the above works and shows the image in the listener >>> >>> "vocab:images/sprites/game_drop.png" "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>> ] ?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
Re: [Factor-talk] Problem drawing an image in a new window
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" gadget. > "resource:./misc/icons/factor_48...@2x.png" "image" open-window > > Jon > > > On Sun, Nov 29, 2015 at 1:37 PM, Sankaranarayanan Viswanathan > 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 ; >> >> : ( 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 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" gadget. >> >> ! the above works and shows the image in the listener >> >> "vocab:images/sprites/game_drop.png" "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>> ] ?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
Re: [Factor-talk] Problem drawing an image in a new window
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" gadget. "resource:./misc/icons/factor_48...@2x.png" "image" open-window Jon On Sun, Nov 29, 2015 at 1:37 PM, Sankaranarayanan Viswanathan 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 ; > > : ( 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 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" gadget. > > ! the above works and shows the image in the listener > > "vocab:images/sprites/game_drop.png" "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 -- ___ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk
[Factor-talk] Problem drawing an image in a new window
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 ; : ( 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 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" gadget. ! the above works and shows the image in the listener "vocab:images/sprites/game_drop.png" "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