_eve – Low-level BridgeTek EVE bindings

The _eve module provides a class _EVE which contains methods for constructing EVE command buffers and appending basic graphics commands.

class _eve._EVE

Create an _EVE object

register(o: object) None
flush() None

Send any queued drawing commands directly to the hardware.

Parameters:

width (int) – The width of the grid in tiles, or 1 for sprites.

cc(b: circuitpython_typing.ReadableBuffer) None

Append bytes to the command FIFO.

Parameters:

b (ReadableBuffer) – The bytes to add

AlphaFunc(func: int, ref: int) None

Set the alpha test function

Parameters:
  • func (int) – specifies the test function, one of NEVER, LESS, LEQUAL, GREATER, GEQUAL, EQUAL, NOTEQUAL, or ALWAYS. Range 0-7. The initial value is ALWAYS(7)

  • ref (int) – specifies the reference value for the alpha test. Range 0-255. The initial value is 0

These values are part of the graphics context and are saved and restored by SaveContext() and RestoreContext().

Begin(prim: int) None

Begin drawing a graphics primitive

Parameters:

prim (int) – graphics primitive.

Valid primitives are BITMAPS, POINTS, LINES, LINE_STRIP, EDGE_STRIP_R, EDGE_STRIP_L, EDGE_STRIP_A, EDGE_STRIP_B and RECTS.

BitmapExtFormat(format: int) None

Set the bitmap format

Parameters:

format (int) – bitmap pixel format.

BitmapHandle(handle: int) None

Set the bitmap handle

Parameters:

handle (int) – bitmap handle. Range 0-31. The initial value is 0

This value is part of the graphics context and is saved and restored by SaveContext() and RestoreContext().

BitmapLayoutH(linestride: int, height: int) None

Set the source bitmap memory format and layout for the current handle. high bits for large bitmaps

Parameters:
  • linestride (int) – high part of bitmap line stride, in bytes. Range 0-7

  • height (int) – high part of bitmap height, in lines. Range 0-3

BitmapLayout(format: int, linestride: int, height: int) None

Set the source bitmap memory format and layout for the current handle

Parameters:
  • format (int) – bitmap pixel format, or GLFORMAT to use BITMAP_EXT_FORMAT instead. Range 0-31

  • linestride (int) – bitmap line stride, in bytes. Range 0-1023

  • height (int) – bitmap height, in lines. Range 0-511

BitmapSizeH(width: int, height: int) None

Set the screen drawing of bitmaps for the current handle. high bits for large bitmaps

Parameters:
  • width (int) – high part of drawn bitmap width, in pixels. Range 0-3

  • height (int) – high part of drawn bitmap height, in pixels. Range 0-3

BitmapSize(filter: int, wrapx: int, wrapy: int, width: int, height: int) None

Set the screen drawing of bitmaps for the current handle

Parameters:
  • filter (int) – bitmap filtering mode, one of NEAREST or BILINEAR. Range 0-1

  • wrapx (int) – bitmap \(x\) wrap mode, one of REPEAT or BORDER. Range 0-1

  • wrapy (int) – bitmap \(y\) wrap mode, one of REPEAT or BORDER. Range 0-1

  • width (int) – drawn bitmap width, in pixels. Range 0-511

  • height (int) – drawn bitmap height, in pixels. Range 0-511

BitmapSource(addr: int) None

Set the source address for bitmap graphics

Parameters:

addr (int) – Bitmap start address, pixel-aligned. May be in SRAM or flash. Range 0-16777215

BitmapSwizzle(r: int, g: int, b: int, a: int) None

Set the source for the r,g,b and a channels of a bitmap

Parameters:
  • r (int) – red component source channel. Range 0-7

  • g (int) – green component source channel. Range 0-7

  • b (int) – blue component source channel. Range 0-7

  • a (int) – alpha component source channel. Range 0-7

BitmapTransformA(p: int, v: int) None

Set the \(a\) component of the bitmap transform matrix

Parameters:
  • p (int) – precision control: 0 is 8.8, 1 is 1.15. Range 0-1. The initial value is 0

  • v (int) – The \(a\) component of the bitmap transform matrix, in signed 8.8 or 1.15 bit fixed-point form. Range 0-131071. The initial value is 256

The initial value is p = 0, v = 256. This represents the value 1.0.

These values are part of the graphics context and are saved and restored by SaveContext() and RestoreContext().

BitmapTransformB(p: int, v: int) None

Set the \(b\) component of the bitmap transform matrix

Parameters:
  • p (int) – precision control: 0 is 8.8, 1 is 1.15. Range 0-1. The initial value is 0

  • v (int) – The \(b\) component of the bitmap transform matrix, in signed 8.8 or 1.15 bit fixed-point form. Range 0-131071. The initial value is 0

The initial value is p = 0, v = 0. This represents the value 0.0.

These values are part of the graphics context and are saved and restored by SaveContext() and RestoreContext().

BitmapTransformC(v: int) None

Set the \(c\) component of the bitmap transform matrix

Parameters:

v (int) – The \(c\) component of the bitmap transform matrix, in signed 15.8 bit fixed-point form. Range 0-16777215. The initial value is 0

This value is part of the graphics context and is saved and restored by SaveContext() and RestoreContext().

BitmapTransformD(p: int, v: int) None

Set the \(d\) component of the bitmap transform matrix

Parameters:
  • p (int) – precision control: 0 is 8.8, 1 is 1.15. Range 0-1. The initial value is 0

  • v (int) – The \(d\) component of the bitmap transform matrix, in signed 8.8 or 1.15 bit fixed-point form. Range 0-131071. The initial value is 0

The initial value is p = 0, v = 0. This represents the value 0.0.

These values are part of the graphics context and are saved and restored by SaveContext() and RestoreContext().

BitmapTransformE(p: int, v: int) None

Set the \(e\) component of the bitmap transform matrix

Parameters:
  • p (int) – precision control: 0 is 8.8, 1 is 1.15. Range 0-1. The initial value is 0

  • v (int) – The \(e\) component of the bitmap transform matrix, in signed 8.8 or 1.15 bit fixed-point form. Range 0-131071. The initial value is 256

The initial value is p = 0, v = 256. This represents the value 1.0.

These values are part of the graphics context and are saved and restored by SaveContext() and RestoreContext().

BitmapTransformF(v: int) None

Set the \(f\) component of the bitmap transform matrix

Parameters:

v (int) – The \(f\) component of the bitmap transform matrix, in signed 15.8 bit fixed-point form. Range 0-16777215. The initial value is 0

This value is part of the graphics context and is saved and restored by SaveContext() and RestoreContext().

BlendFunc(src: int, dst: int) None

Set pixel arithmetic

Parameters:
  • src (int) – specifies how the source blending factor is computed. One of ZERO, ONE, SRC_ALPHA, DST_ALPHA, ONE_MINUS_SRC_ALPHA or ONE_MINUS_DST_ALPHA. Range 0-7. The initial value is SRC_ALPHA(2)

  • dst (int) – specifies how the destination blending factor is computed, one of the same constants as src. Range 0-7. The initial value is ONE_MINUS_SRC_ALPHA(4)

These values are part of the graphics context and are saved and restored by SaveContext() and RestoreContext().

Call(dest: int) None

Execute a sequence of commands at another location in the display list

Parameters:

dest (int) – display list address. Range 0-65535

Cell(cell: int) None

Set the bitmap cell number for the vertex2f command

Parameters:

cell (int) – bitmap cell number. Range 0-127. The initial value is 0

This value is part of the graphics context and is saved and restored by SaveContext() and RestoreContext().

ClearColorA(alpha: int) None

Set clear value for the alpha channel

Parameters:

alpha (int) – alpha value used when the color buffer is cleared. Range 0-255. The initial value is 0

This value is part of the graphics context and is saved and restored by SaveContext() and RestoreContext().

ClearColorRGB(red: int, green: int, blue: int) None

Set clear values for red, green and blue channels

Parameters:
  • red (int) – red value used when the color buffer is cleared. Range 0-255. The initial value is 0

  • green (int) – green value used when the color buffer is cleared. Range 0-255. The initial value is 0

  • blue (int) – blue value used when the color buffer is cleared. Range 0-255. The initial value is 0

These values are part of the graphics context and are saved and restored by SaveContext() and RestoreContext().

Clear(c: int, s: int, t: int) None

Clear buffers to preset values

Parameters:
  • c (int) – clear color buffer. Range 0-1

  • s (int) – clear stencil buffer. Range 0-1

  • t (int) – clear tag buffer. Range 0-1

ClearStencil(s: int) None

Set clear value for the stencil buffer

Parameters:

s (int) – value used when the stencil buffer is cleared. Range 0-255. The initial value is 0

This value is part of the graphics context and is saved and restored by SaveContext() and RestoreContext().

ClearTag(s: int) None

Set clear value for the tag buffer

Parameters:

s (int) – value used when the tag buffer is cleared. Range 0-255. The initial value is 0

This value is part of the graphics context and is saved and restored by SaveContext() and RestoreContext().

ColorA(alpha: int) None

Set the current color alpha

Parameters:

alpha (int) – alpha for the current color. Range 0-255. The initial value is 255

This value is part of the graphics context and is saved and restored by SaveContext() and RestoreContext().

ColorMask(r: int, g: int, b: int, a: int) None

Enable and disable writing of frame buffer color components

Parameters:
  • r (int) – allow updates to the frame buffer red component. Range 0-1. The initial value is 1

  • g (int) – allow updates to the frame buffer green component. Range 0-1. The initial value is 1

  • b (int) – allow updates to the frame buffer blue component. Range 0-1. The initial value is 1

  • a (int) – allow updates to the frame buffer alpha component. Range 0-1. The initial value is 1

These values are part of the graphics context and are saved and restored by SaveContext() and RestoreContext().

ColorRGB(red: int, green: int, blue: int) None

Set the drawing color

Parameters:
  • red (int) – red value for the current color. Range 0-255. The initial value is 255

  • green (int) – green for the current color. Range 0-255. The initial value is 255

  • blue (int) – blue for the current color. Range 0-255. The initial value is 255

These values are part of the graphics context and are saved and restored by SaveContext() and RestoreContext().

Display() None

End the display list

End() None

End drawing a graphics primitive

Vertex2ii() and Vertex2f() calls are ignored until the next Begin().

Jump(dest: int) None

Execute commands at another location in the display list

Parameters:

dest (int) – display list address. Range 0-65535

Macro(m: int) None

Execute a single command from a macro register

Parameters:

m (int) – macro register to read. Range 0-1

Nop() None

No operation

PaletteSource(addr: int) None

Set the base address of the palette

Parameters:

addr (int) – Address in graphics SRAM, 2-byte aligned. Range 0-4194303. The initial value is 0

This value is part of the graphics context and is saved and restored by SaveContext() and RestoreContext().

RestoreContext() None

Restore the current graphics context from the context stack

Return() None

Return from a previous call command

SaveContext() None

Push the current graphics context on the context stack

ScissorSize(width: int, height: int) None

Set the size of the scissor clip rectangle

Parameters:
  • width (int) – The width of the scissor clip rectangle, in pixels. Range 0-4095. The initial value is hsize

  • height (int) – The height of the scissor clip rectangle, in pixels. Range 0-4095. The initial value is 2048

These values are part of the graphics context and are saved and restored by SaveContext() and RestoreContext().

ScissorXY(x: int, y: int) None

Set the top left corner of the scissor clip rectangle

Parameters:
  • x (int) – The \(x\) coordinate of the scissor clip rectangle, in pixels. Range 0-2047. The initial value is 0

  • y (int) – The \(y\) coordinate of the scissor clip rectangle, in pixels. Range 0-2047. The initial value is 0

These values are part of the graphics context and are saved and restored by SaveContext() and RestoreContext().

StencilFunc(func: int, ref: int, mask: int) None

Set function and reference value for stencil testing

Parameters:
  • func (int) – specifies the test function, one of NEVER, LESS, LEQUAL, GREATER, GEQUAL, EQUAL, NOTEQUAL, or ALWAYS. Range 0-7. The initial value is ALWAYS(7)

  • ref (int) – specifies the reference value for the stencil test. Range 0-255. The initial value is 0

  • mask (int) – specifies a mask that is ANDed with the reference value and the stored stencil value. Range 0-255. The initial value is 255

These values are part of the graphics context and are saved and restored by SaveContext() and RestoreContext().

StencilMask(mask: int) None

Control the writing of individual bits in the stencil planes

Parameters:

mask (int) – the mask used to enable writing stencil bits. Range 0-255. The initial value is 255

This value is part of the graphics context and is saved and restored by SaveContext() and RestoreContext().

StencilOp(sfail: int, spass: int) None

Set stencil test actions

Parameters:
  • sfail (int) – specifies the action to take when the stencil test fails, one of KEEP, ZERO, REPLACE, INCR, INCR_WRAP, DECR, DECR_WRAP, and INVERT. Range 0-7. The initial value is KEEP(1)

  • spass (int) – specifies the action to take when the stencil test passes, one of the same constants as sfail. Range 0-7. The initial value is KEEP(1)

These values are part of the graphics context and are saved and restored by SaveContext() and RestoreContext().

TagMask(mask: int) None

Control the writing of the tag buffer

Parameters:

mask (int) – allow updates to the tag buffer. Range 0-1. The initial value is 1

This value is part of the graphics context and is saved and restored by SaveContext() and RestoreContext().

Tag(s: int) None

Set the current tag value

Parameters:

s (int) – tag value. Range 0-255. The initial value is 255

This value is part of the graphics context and is saved and restored by SaveContext() and RestoreContext().

Vertex2ii(x: int, y: int, handle: int, cell: int) None
Parameters:
  • x (int) – x-coordinate in pixels. Range 0-511

  • y (int) – y-coordinate in pixels. Range 0-511

  • handle (int) – bitmap handle. Range 0-31

  • cell (int) – cell number. Range 0-127

This method is an alternative to Vertex2f().

Vertex2f(b: float) None

Draw a point.

Parameters:
  • x (float) – pixel x-coordinate

  • y (float) – pixel y-coordinate

LineWidth(width: float) None

Set the width of rasterized lines

Parameters:

width (float) – line width in pixels. Range 0-511. The initial value is 1

This value is part of the graphics context and is saved and restored by SaveContext() and RestoreContext().

PointSize(size: float) None

Set the diameter of rasterized points

Parameters:

size (float) – point diameter in pixels. Range 0-1023. The initial value is 1

This value is part of the graphics context and is saved and restored by SaveContext() and RestoreContext().

VertexTranslateX(x: float) None

Set the vertex transformation’s x translation component

Parameters:

x (float) – signed x-coordinate in pixels. Range ±4095. The initial value is 0

This value is part of the graphics context and is saved and restored by SaveContext() and RestoreContext().

VertexTranslateY(y: float) None

Set the vertex transformation’s y translation component

Parameters:

y (float) – signed y-coordinate in pixels. Range ±4095. The initial value is 0

This value is part of the graphics context and is saved and restored by SaveContext() and RestoreContext().

VertexFormat(frac: int) None

Set the precision of vertex2f coordinates

Parameters:

frac (int) – Number of fractional bits in X,Y coordinates, 0-4. Range 0-7. The initial value is 4

This value is part of the graphics context and is saved and restored by SaveContext() and RestoreContext().

cmd0(n: int) None

Append the command word n to the FIFO

Parameters:

n (int) – The command code

This method is used by the eve module to efficiently add commands to the FIFO.

cmd(n: int, fmt: str, args: Tuple[str, Ellipsis]) None

Append a command packet to the FIFO.

Parameters:
  • n (int) – The command code

  • fmt (str) – The command format struct layout

  • args (tuple(str, ...)) – The command’s arguments

Supported format codes: h, H, i, I.

This method is used by the eve module to efficiently add commands to the FIFO.