package bogue

  1. Overview
  2. Docs

Low-level graphics

Dependency graph

type canvas

Contains the hardware information for drawing (SDL renderer and window).

type texture = Tsdl.Sdl.texture
type align =
  1. | Min
  2. | Center
  3. | Max

Initialization and shutdown

val quit : unit -> unit

Cleanup and quit SDL.

Colors

type rgb = int * int * int

red, green and blue values are integers in the range 0..255

type color = int * int * int * int

r,g,b,a

type fill =
  1. | Pattern of texture
  2. | Solid of color

Predefined colors

val black : rgb
val grey : rgb
val pale_grey : rgb
val dark_grey : rgb
val white : rgb
val red : rgb
val blue : rgb
val green : rgb
val magenta : rgb
val cyan : rgb
val yellow : rgb
val sienna : rgb
val label_color : rgb
val none : color

none = (0,0,0,0) is completely transparent black.

Creating colors

val opaque : rgb -> color
val transp : rgb -> color
val lighter : color -> color
val darker : color -> color
val set_alpha : int -> rgb -> color
val find_color : string -> rgb

Convert a string of the form "grey" or "#FE01BC" to a rgb code (r,g,b). Color names are taken from here.

val pale : rgb -> rgb

Using colors

val set_color : Tsdl.Sdl.renderer -> color -> unit

Equivalent to Sdl.set_render_draw_color

Layers

type layer

Layers are used to decide the order of drawing: which graphical elements (layouts) should be below, which should be above. For the most part, you don't have to access them directly.

val use_new_layer : unit -> unit

Use this when you want to switch to a completely different set of layers, typically when you want to draw on another window.

SDL misc

val unscale_size : (int * int) -> int * int

Transform a size (W,H) in physical pixels into 'logical' pixels (w,h), which are used for layouts.

val set_system_cursor : Tsdl.Sdl.System_cursor.t -> unit
OCaml

Innovation. Community. Security.