The Color structure contains functions to manipulate colours and palettes.
structure Color: sig type HPALETTE and HDC datatype PaletteEntryFlag = PC_EXPLICIT | PC_NOCOLLAPSE | PC_NULL | PC_RESERVED type PALETTEENTRY = {red: int, green: int, blue: int, flags: PaletteEntryFlag} type COLORREF val toRGB : COLORREF -> {red: Int.int, blue: Int.int, green: Int.int} val RGB : {red: int, blue: int, green: int} -> COLORREF val PALETTERGB : {red: int, blue: int, green: int} -> COLORREF type SystemPaletteUse val SYSPAL_ERROR : SystemPaletteUse val SYSPAL_NOSTATIC : SystemPaletteUse val SYSPAL_STATIC : SystemPaletteUse val AnimatePalette : HPALETTE * int * PALETTEENTRY list -> bool val CreateHalftonePalette : HDC -> HPALETTE val CreatePalette : PALETTEENTRY list -> HPALETTE val GetNearestColor : HDC * COLORREF -> COLORREF val GetNearestPaletteIndex : HPALETTE * COLORREF -> int val GetPaletteEntries : HPALETTE * int * int -> PALETTEENTRY list val GetSystemPaletteEntries : HPALETTE * int * int -> PALETTEENTRY list val GetSystemPaletteUse : HDC -> SystemPaletteUse val RealizePalette : HDC -> int val ResizePalette : HPALETTE * int -> unit val SelectPalette : HDC * HPALETTE * bool -> HPALETTE val SetPaletteEntries : HPALETTE * int * PALETTEENTRY list -> unit val SetSystemPaletteUse : HDC * SystemPaletteUse -> SystemPaletteUse val UnrealizeObject : HPALETTE -> unit val UpdateColors : HDC -> unit end