sig
  type visual_type =
      [ `DIRECT_COLOR
      | `GRAYSCALE
      | `PSEUDO_COLOR
      | `STATIC_COLOR
      | `STATIC_GRAY
      | `TRUE_COLOR ]
  val get_best :
    ?depth:int -> ?kind:Gdk.Visual.visual_type -> unit -> Gdk.visual
  val get_type : Gdk.visual -> Gdk.Visual.visual_type
  val depth : Gdk.visual -> int
  val red_mask : Gdk.visual -> int
  val red_shift : Gdk.visual -> int
  val red_prec : Gdk.visual -> int
  val green_mask : Gdk.visual -> int
  val green_shift : Gdk.visual -> int
  val green_prec : Gdk.visual -> int
  val blue_mask : Gdk.visual -> int
  val blue_shift : Gdk.visual -> int
  val blue_prec : Gdk.visual -> int
end