Re: [Factor-talk] Problem drawing an image in a new window

2015-11-29 Thread Sankaranarayanan Viswanathan
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

2015-11-29 Thread John Benediktsson
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

2015-11-29 Thread Sankaranarayanan Viswanathan
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

2015-11-29 Thread Jon Harper
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

2015-11-29 Thread Sankaranarayanan Viswanathan
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