| Commit message (Collapse) | Author | Age |
| |
|
|
| |
Since Rust 1.77, `offset_of` is available in the std.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
The limit per grid is increased to `1000`, and a new limit per cell is added,
set to `20`.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
If a graphic is added over another one, the implementation now checks if new
graphic has transparent pixels in every cell. If so, the graphic is appended to
the cell, instead of replacing the previous one.
SmallVec is used to prevent heap allocation when the cell only contains a single
graphic. This should be the most common scenario.
The GPU will store up to 100 textures. If another texture is added when there
are 100, the oldest one is deleted.
|
| |
|
|
|
| |
Similar to the underline line rendered when the cursor is over an hyperlink, for
graphics we now render a border around the graphic.
|
| |
|
|
|
|
|
|
|
| |
When text is added to a cell with a reference to a graphic, an operation is sent
to the OpenGL thread to replace a subregion of the cell with a transparent area.
If the OpenGL driver supports the GL_ARB_clear_texture extension, the region is
updated with glClearTexSubImage. If the extension is not available, the
texture is updated with glTexSubImage2D.
|
| |
|
|
|
|
|
|
| |
With the template we can create hyperlinks attached to the graphic.
To avoid reflow issues when a row is shrank, wrapped rows that only contain
graphic cells are discarded. With this approach we loss some info, like the
hyperlink, but the image is always properly positioned in the grid.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The merge requires multiple changes in order to be compatible with the last
version of Alacritty:
- Textures are now always deleted on Drop.
This is required because Alacritty now supports multiple windows in the same
process, so we can't assume that all resources are freed when a single window
is closed. This is the same approach used for the atlas textures.
- The graphics feature is only compatible with OpenGL 3.3.
Alacritty now supports GLES 2.2, but in order to provide a proper support for
it we need a different approach, specific for that version.
- Cell dimensions in pixels are re-added to the alacritty_terminal crate.
|
| | |
|
|
|
Fixes #910
|