Skip to content

UI.ImageButton

Name Mandatory 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 No The shards to execute when the button is pressed. none NoneShard[Shard]
Scale No Scaling to apply to the source image. @f2(1 1) Float2Var(Float2)None
Size No The size to render the image at. none Float2Var(Float2)None
ScalingAware No When set to true, this image's pixels will be rendered 1:1 regardless of UI context point size. none BoolVar(Bool)None
Selected No Indicates whether the button is selected. none BoolVar(Bool)None

Clickable button with image.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
GFX.MainWindow(Contents: {
  // Setup
  GFX.DrawQueue = ui-draw-queue
  GFX.UIPass(ui-draw-queue) >> render-steps

  // UI
  UI({
    UI.CentralPanel({
      LoadImage("../../assets/ShardsLogo.png") = image
      image | UI.ImageButton(Scale: @f2(0.1 0.1) Action: {Msg("Clicked")})
    })
  })

  UI.Render(ui-draw-queue)
  GFX.Render(Steps: render-steps)
})

[info] textureFree 1
[info] textureFree 2
[info] textureFree 3
[info] textureFree 4
[info] textureFree 5
[info] textureFree 6
[warning] Context has 4 buffers at release (2 released, 4 kept)
[warning] Context has 13 textures at release (1 released, 13 kept)
 

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
GFX.MainWindow(Contents: {
  // Setup
  GFX.DrawQueue = ui-draw-queue
  GFX.UIPass(ui-draw-queue) >> render-steps

  // UI
  UI({
    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: @f2(0.1 0.1))
      // Draw UI image directly from a texture
      texture | UI.ImageButton(Scale: @f2(0.1 0.1))
    })
  })

  UI.Render(ui-draw-queue)
  GFX.Render(Steps: render-steps)
})

[info] textureFree 1
[info] textureFree 2
[info] textureFree 3
[info] textureFree 4
[info] textureFree 5
[info] textureFree 6
[info] textureFree 7
[info] textureFree 8
[warning] Context has 8 buffers at release (2 released, 8 kept)
[warning] Context has 16 textures at release (2 released, 16 kept)