Page 1 of 1

GetGadgetState + ImageID = null?

Posted: Tue Jul 12, 2016 1:21 pm
by jamirokwai
Hi there,

I try to get the ImageID from an ImageGadget using GetGadgetState:

Code: Select all

  If OpenWindow(0, 0, 0, 245, 105, "ImageGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
    CreateImage(0, 16, 16, 32, #PB_Image_Transparent)
    If StartDrawing(ImageOutput(0))
      Circle(8, 8, 7, RGB(255, 0, 0))
      StopDrawing()
    EndIf
 
    ImageGadget(0,  10, 10, 100, 83, ImageID(0))                    ; imagegadget standard
    
  Debug ImageID(GetGadgetState(0))
  EndIf
  
  
If throws "null". I doubt, this is correct, or do I miss something?

Cheers
J.

Re: GetGadgetState + ImageID = null?

Posted: Fri Jul 22, 2016 12:38 am
by Peter
SB-Help wrote:GetGadgetState() -> ImageGadget(): returns the ImageID of the currently displayed image.
so ImageID(GetGadgetState(0)) is doppelt gemoppelt. ;-)

Greetings ... Peter

Re: GetGadgetState + ImageID = null?

Posted: Fri Jul 22, 2016 10:13 pm
by jamirokwai
Peter wrote:
SB-Help wrote:GetGadgetState() -> ImageGadget(): returns the ImageID of the currently displayed image.
so ImageID(GetGadgetState(0)) is doppelt gemoppelt. ;-)

Greetings ... Peter
Moppelt gedoppelt?

I fiddled around with resizing. This works:

Code: Select all

If OpenWindow(0, 0, 0, 245, 105, "ImageGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
    CreateImage(0, 16, 16, 32, #PB_Image_Transparent)
    If StartDrawing(ImageOutput(0))
      Circle(8, 8, 7, RGB(255, 0, 0))
      StopDrawing()
    EndIf
 
    ImageGadget(0,  10, 10, 100, 83, ImageID(0))                    ; imagegadget standard
    
    x= GetGadgetState(0)
    ResizeImage(0,200,83)
    SetGadgetState(0,ImageID(0))
  EndIf
debug x will throw [object HTMLCanvasElement], which tricked me :?

Thanks, Peter!

Cheers
J.