Skip to content

Modern Tui TuiRect Contains

Paul Squires edited this page Oct 19, 2026 · 6 revisions

Home › Terminal TUI Library › Geometry › TuiRect.Contains

TuiRect.Contains

Returns true if a cell is inside the rectangle; use it to hit-test the mouse.

Syntax

TuiRect.Contains( byval px as int32, byval py as int32 ) as boolean

Description

Point-in-rect, half-open on the right and bottom. This is the hit test for mouse events -- remember the mouse reports 0-based cell coordinates, in the same space.

Example

#import "std/numeric"
#import "std/tui"
using tui, numeric

dim as TuiRect body = TuiRectOf( 10, 5, 30, 12 )
print body.Contains( 10, 5 )      '' true  -- the top-left corner is inside
print body.Contains( 40, 5 )      '' false -- Right( ) is not

'' hit-testing a mouse event, the shape used in examples/dashboard.tiko
dim as TuiEvent e
e.kind = TUIEVENT_MOUSE
e.mouse.kind = TUIMOUSE_PRESS
e.mouse.x = 12 : e.mouse.y = 8
if( body.Contains( e.mouse.x, e.mouse.y ) ) then
    dim as int32 row = e.mouse.y - body.y
    print "clicked row"; row      '' 3
end if

See also

TuiRect TuiRect.Bottom TuiRect.Intersect TuiRect.Equals TuiSize TuiPos
TuiRect.Right TuiRect.IsEmpty TuiRect.Inner TuiRectOf TuiSizeOf TuiMargin

Library: Terminal TUI Library
Category: Terminal TUI Library
Documented under: Geometry
Working examples: hello.tiko · form.tiko · dashboard.tiko


Home · Keyword Index

Clone this wiki locally