Skip to content

UI.ImageButton

Name - Description Default Type
<input> The value that will be passed to the Action shards of the button. ImageGFX.Texture2D
<output> Indicates whether the button was clicked during this frame. Bool
Action The shards to execute when the button is pressed. None Shard[Shard]
Scale Scaling to apply to the source image. (1 1) Float2&Float2
Size The size to render the image at. None Float2&Float2
ScalingAware When set to true, this image's pixels will be rendered 1:1 regardless of UI context point size. None Bool&Bool
Selected Indicates whether the button is selected. None Bool&Bool

Clickable button with image.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
(GFX.MainWindow
 :Contents
 (->
  (Setup
   (GFX.DrawQueue) >= .ui-draw-queue
   (GFX.UIPass .ui-draw-queue) >> .render-steps)
  (UI
   .ui-draw-queue
   (UI.CentralPanel
    (->
     (Setup
      (LoadImage "../../assets/ShardsLogo.png") = .image)
     .image (UI.ImageButton :Scale (float2 0.1) :Action (Msg "Clicked")))))

  (GFX.Render :Steps .render-steps)))

 

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
(GFX.MainWindow
 :Contents
 (->
  (Setup
   (GFX.DrawQueue) >= .ui-draw-queue
   (GFX.UIPass .ui-draw-queue) >> .render-steps)
  (UI
   .ui-draw-queue
   (UI.CentralPanel
    (->
     (Setup
      (LoadImage "data/ShardsLogo.png")  >= .image
      (GFX.Texture) >= .texture)
       ; Draw UI image by loading the image into graphics memory when needed
     .image (UI.ImageButton :Scale (float2 0.1))
       ; Draw UI image directly from a texture
     .texture (UI.ImageButton :Scale (float2 0.1)))))

  (GFX.Render :Steps .render-steps)))