# Render | Basalt
A UI Framework made for CC:Tweaked

Skip to content

# Render ​

_This is the render module for Basalt. It tries to mimic the functionality of the `term` API. but with additional _ functionality. It also has a buffer system to reduce the number of calls

## Functions ​

Method | Returns | Description
--- | --- | ---
Render.new | Render | Creates a new Render object
Render:addDirtyRect | Render | Adds a dirty rectangle to the buffer
Render:blit | Render | Blits text to the screen
Render:multiBlit | Render | Blits text to the screen with multiple lines
Render:textFg | Render | Blits text to the screen with a foreground color
Render:textBg | Render | Blits text to the screen with a background color
Render:text | Render | Renders the text to the screen
Render:fg | Render | Blits a foreground color to the screen
Render:bg | Render | Blits a background color to the screen
Render:text | Render | Blits text to the screen
Render:fg | Render | Blits a foreground color to the screen
Render:bg | Render | Blits a background color to the screen
Render:clear | Render | Clears the screen
Render:render | Render | Renders the buffer to the screen
Render:rectOverlaps | boolean | Checks if two rectangles overlap
Render:mergeRects | Render | Merges two rectangles
Render:setCursor | Render | Sets the cursor position
Render:clearArea | Render | Clears an area of the screen
Render:getSize | number | Gets the size of the render
Render:setSize | Render | Sets the size of the render

## Render.new(terminal) ​

Creates a new Render object

### Parameters ​

- `terminal` `table` The terminal object to render to

### Returns ​

- `Render`

## Render:addDirtyRect(x, y, width, height) ​

Adds a dirty rectangle to the buffer

### Parameters ​

- `x` `number` The x position of the rectangle
- `y` `number` The y position of the rectangle
- `width` `number` The width of the rectangle
- `height` `number` The height of the rectangle

### Returns ​

- `Render`

## Render:blit(x, y, text, fg, bg) ​

Blits text to the screen

### Parameters ​

- `x` `number` The x position to blit to
- `y` `number` The y position to blit to
- `text` `string` The text to blit
- `fg` `string` The foreground color of the text
- `bg` `string` The background color of the text

### Returns ​

- `Render`

## Render:multiBlit(x, y, width, height, text, fg, bg) ​

Blits text to the screen with multiple lines

### Parameters ​

- `x` `number` The x position to blit to
- `y` `number` The y position to blit to
- `width` `number` The width of the text
- `height` `number` The height of the text
- `text` `string` The text to blit
- `fg` `colors` The foreground color of the text
- `bg` `colors` The background color of the text

### Returns ​

- `Render`

## Render:textFg(x, y, text, fg) ​

Blits text to the screen with a foreground color

### Parameters ​

- `x` `number` The x position to blit to
- `y` `number` The y position to blit to
- `text` `string` The text to blit
- `fg` `colors` The foreground color of the text

### Returns ​

- `Render`

## Render:textBg(x, y, text, bg) ​

Blits text to the screen with a background color

### Parameters ​

- `x` `number` The x position to blit to
- `y` `number` The y position to blit to
- `text` `string` The text to blit
- `bg` `colors` The background color of the text

### Returns ​

- `Render`

## Render:text(x, y, text) ​

Renders the text to the screen

### Parameters ​

- `x` `number` The x position to blit to
- `y` `number` The y position to blit to
- `text` `string` The text to blit

### Returns ​

- `Render`

## Render:fg(x, y, fg) ​

Blits a foreground color to the screen

### Parameters ​

- `x` `number` The x position
- `y` `number` The y position
- `fg` `string` The foreground color to blit

### Returns ​

- `Render`

## Render:bg(x, y, bg) ​

Blits a background color to the screen

### Parameters ​

- `x` `number` The x position
- `y` `number` The y position
- `bg` `string` The background color to blit

### Returns ​

- `Render`

## Render:text(x, y, text) ​

Blits text to the screen

### Parameters ​

- `x` `number` The x position to blit to
- `y` `number` The y position to blit to
- `text` `string` The text to blit

### Returns ​

- `Render`

## Render:fg(x, y, fg) ​

Blits a foreground color to the screen

### Parameters ​

- `x` `number` The x position
- `y` `number` The y position
- `fg` `string` The foreground color to blit

### Returns ​

- `Render`

## Render:bg(x, y, bg) ​

Blits a background color to the screen

### Parameters ​

- `x` `number` The x position
- `y` `number` The y position
- `bg` `string` The background color to blit

### Returns ​

- `Render`

## Render:clear(bg) ​

Clears the screen

### Parameters ​

- `bg` `colors` The background color to clear the screen with

### Returns ​

- `Render`

## Render:render() ​

Renders the buffer to the screen

### Returns ​

- `Render`

## Render:rectOverlaps(r1, r2) ​

Checks if two rectangles overlap

### Parameters ​

- `r1` `table` The first rectangle
- `r2` `table` The second rectangle

### Returns ​

- `boolean`

## Render:mergeRects(target, source) ​

Merges two rectangles

### Parameters ​

- `target` `table` The target rectangle
- `source` `table` The source rectangle

### Returns ​

- `Render`

## Render:setCursor(x, y, blink) ​

Sets the cursor position

### Parameters ​

- `x` `number` The x position of the cursor
- `y` `number` The y position of the cursor
- `blink` `boolean` Whether the cursor should blink

### Returns ​

- `Render`

## Render:clearArea(x, y, width, height, bg) ​

Clears an area of the screen

### Parameters ​

- `x` `number` The x position of the area
- `y` `number` The y position of the area
- `width` `number` The width of the area
- `height` `number` The height of the area
- `bg` `colors` The background color to clear the area with

### Returns ​

- `Render`

## Render:getSize() ​

Gets the size of the render

### Returns ​

- `number`

## Render:setSize(width, height) ​

Sets the size of the render

### Parameters ​

- `width` `number` The width of the render
- `height` `number` The height of the render

### Returns ​

- `Render`