TL/DR: that would involve changes to the teletype sources. below, i assume you can read the c code.
nothing like the norns graphics API is available on teletype.
it’s probably not realistic to expect to do much with bitmaps, but adding a few small glyphs like the turtle might be effective.
the drawing layer for libavr32 is much more low-level than on norns. (the processor is 100’s of times slower, it doesn’t run linux or any other OS, etc.) on norns we use cairo and have fonts and stuff; on libavr32 eveything is done from scratch.
characters
there is a single font; glyphs are hardcoded as column-first bitmaps
[ https://github.com/monome/libavr32/blob/main/src/font.c ]
there are also some ugly methods for rendering the same glyphs in larger sizes or with consistent glyph spacing. (doesn’t look good but maybe you need it.)
a properly fixed-width glyph set would be nice, but flash memory is another thing that is extremely limited on these systems. hopefully looking at that source makes it clear how the glyph data is laid out and what you would need to do to customize it.
if you are really actually wanting to do this, i can dig up the scripts i used to render arbitrary truetype fonts as bitmaps in this format when this stuff was first developed for aleph back when. (it is rough and i wouldn’t really recommend going down this rabbit hole.)
pixels
pixels and rectangles are easy.
the abstraction for a drawing surface is called a region, and all the drawing commands are here:
[ https://github.com/monome/libavr32/blob/main/src/region.h ]
a region is an arbitrarily-sized grid of pixels that can be composited onto the screen buffer. typically an application would statically allocate one or more regions for use as working buffers.
you can see examples of region drawing and management throughout the teletype sources, such as in line_editor.c etc
it is also straightforward to hardcode the contents of a region. for example, the hebrew glyph rendered at startup on aleph, looks like this
[ https://github.com/monome/aleph/blob/dev/avr32/src/startup_glyph.c ]
and rendering it just looks like this
[ https://github.com/monome/aleph/blob/dev/avr32/src/screen_startup.c#L18 ]
so if you want to just flip through a number of static bitmaps, i think that would be a fine approach.
to be clear: i don’t think it would be at all easy to add much graphics stuff to the teletype, mainly that flash memory is seriously tight. (and of course it’s not obvious how you would manage and control the presentation of graphics.) but you could get into this stuff for a custom application firmware.