data GCFunction = GXclear | GXand | GXandReverse | GXcopy | GXandInverted | GXnoop | GXxor | GXor | GXnor | GXequiv | GXinvert | GXorReverse | GXCopyInverted | GXorInverted | GXnand | GXset instance Enum GCFunction instance Eq GCFunction instance Ord GCFunction instance Show GCFunction data GCLineStyle = LineSolid | LineDoubleDash | LineOnOffDash instance Enum GCLineStyle instance Eq GCLineStyle instance Ord GCLineStyle instance Show GCLineStyle data GCCapStyle = CapNotLast | CapButt | CapRound | CapProjecting instance Enum GCCapStyle instance Eq GCCapStyle instance Ord GCCapStyle instance Show GCCapStyle data GCFillStyle = FillSolid | FillTiled | FillStippled | FillOpaqueStippled instance Enum GCFillStyle instance Eq GCFillStyle instance Ord GCFillStyle instance Show GCFillStyle data GCSubwindowMode = ClipByChildren | IncludeInferiors instance Enum GCSubwindowMode instance Eq GCSubwindowMode instance Ord GCSubwindowMode instance Show GCSubwindowMode data GCAttributes a b = GCFunction GCFunction | GCForeground a | GCBackground a | GCLineWidth Width | GCLineStyle GCLineStyle | GCFont b | GCCapStyle GCCapStyle | GCSubwindowMode GCSubwindowMode | GCGraphicsExposures Bool | GCFillStyle GCFillStyle | GCTile PixmapId | GCStipple PixmapId instance (Eq a, Eq b) => Eq (GCAttributes a b) instance (Ord a, Ord b) => Ord (GCAttributes a b) instance (Show a, Show b) => Show (GCAttributes a b) type GCAttributeList = [GCAttributes Pixel FontId]