from typing import Tuple, Set, Iterable, List


class Bitmap(Image):
    @overload
    def __init__(self, fileName: str): ...
    @overload
    def __init__(self, stream: Stream): ...
    @overload
    def __init__(self, bytes: Set(Byte)): ...
    @overload
    def __init__(self, handler: IHandler): ...
    @overload
    def __init__(self, size: Size, pixelFormat: PixelFormat): ...
    @overload
    def __init__(self, width: int, height: int, pixelFormat: PixelFormat): ...
    @overload
    def __init__(self, width: int, height: int, graphics: Graphics): ...
    @overload
    def __init__(self, image: Image, width: Nullable, height: Nullable, interpolation: ImageInterpolation): ...
    @overload
    def __init__(self, width: int, height: int, pixelFormat: PixelFormat, data: Iterable[Color]): ...
    @overload
    def __init__(self, width: int, height: int, pixelFormat: PixelFormat, data: Iterable[int]): ...
    def Clone(self, rectangle: Nullable) -> Bitmap: ...
    @overload
    def FromResource(resourceName: str, assembly: Assembly) -> Bitmap: ...
    @overload
    def FromResource(resourceName: str, type: Type) -> Bitmap: ...
    @overload
    def GetPixel(self, position: Point) -> Color: ...
    @overload
    def GetPixel(self, x: int, y: int) -> Color: ...
    def Lock(self) -> BitmapData: ...
    @overload
    def Save(self, stream: Stream, format: ImageFormat) -> None: ...
    @overload
    def Save(self, fileName: str, format: ImageFormat) -> None: ...
    @overload
    def SetPixel(self, position: Point, color: Color) -> None: ...
    @overload
    def SetPixel(self, x: int, y: int, color: Color) -> None: ...
    def ToByteArray(self, imageFormat: ImageFormat) -> Set(Byte): ...
    @overload
    def WithSize(self, fittingSize: Size) -> Icon: ...
    @overload
    def WithSize(self, width: int, height: int) -> Icon: ...


class BitmapData:
    def Dispose(self) -> None: ...
    @property
    def BitsPerPixel(self) -> int: ...
    @property
    def BytesPerPixel(self) -> int: ...
    @property
    def ControlObject(self) -> Object: ...
    @property
    def Data(self) -> IntPtr: ...
    @property
    def Flipped(self) -> bool: ...
    @property
    def Image(self) -> Image: ...
    @property
    def ScanWidth(self) -> int: ...
    @overload
    def GetPixel(self, position: Point) -> Color: ...
    @overload
    def GetPixel(self, x: int, y: int) -> Color: ...
    def GetPixels(self) -> Iterable[Color]: ...
    @overload
    def SetPixel(self, position: Point, color: Color) -> None: ...
    @overload
    def SetPixel(self, x: int, y: int, color: Color) -> None: ...
    def SetPixels(self, pixels: Iterable[Color]) -> None: ...
    def TranslateArgbToData(self, argb: int) -> int: ...
    def TranslateDataToArgb(self, bitmapData: int) -> int: ...


class Brush:
    def Dispose(self) -> None: ...
    @property
    def ControlObject(self) -> Object: ...
    @property
    def Handler(self) -> Object: ...
    @ControlObject.setter
    def ControlObject(self, value: Object) -> None: ...


class Brushes:
    def Cached(color: Color) -> SolidBrush: ...
    def ClearCache() -> None: ...
    @property
    def AliceBlue() -> SolidBrush: ...
    @property
    def AntiqueWhite() -> SolidBrush: ...
    @property
    def Aqua() -> SolidBrush: ...
    @property
    def Aquamarine() -> SolidBrush: ...
    @property
    def Azure() -> SolidBrush: ...
    @property
    def Beige() -> SolidBrush: ...
    @property
    def Bisque() -> SolidBrush: ...
    @property
    def Black() -> SolidBrush: ...
    @property
    def BlanchedAlmond() -> SolidBrush: ...
    @property
    def Blue() -> SolidBrush: ...
    @property
    def BlueViolet() -> SolidBrush: ...
    @property
    def Brown() -> SolidBrush: ...
    @property
    def BurlyWood() -> SolidBrush: ...
    @property
    def CadetBlue() -> SolidBrush: ...
    @property
    def Chartreuse() -> SolidBrush: ...
    @property
    def Chocolate() -> SolidBrush: ...
    @property
    def Coral() -> SolidBrush: ...
    @property
    def CornflowerBlue() -> SolidBrush: ...
    @property
    def Cornsilk() -> SolidBrush: ...
    @property
    def Crimson() -> SolidBrush: ...
    @property
    def Cyan() -> SolidBrush: ...
    @property
    def DarkBlue() -> SolidBrush: ...
    @property
    def DarkCyan() -> SolidBrush: ...
    @property
    def DarkGoldenrod() -> SolidBrush: ...
    @property
    def DarkGray() -> SolidBrush: ...
    @property
    def DarkGreen() -> SolidBrush: ...
    @property
    def DarkKhaki() -> SolidBrush: ...
    @property
    def DarkMagenta() -> SolidBrush: ...
    @property
    def DarkOliveGreen() -> SolidBrush: ...
    @property
    def DarkOrange() -> SolidBrush: ...
    @property
    def DarkOrchid() -> SolidBrush: ...
    @property
    def DarkRed() -> SolidBrush: ...
    @property
    def DarkSalmon() -> SolidBrush: ...
    @property
    def DarkSeaGreen() -> SolidBrush: ...
    @property
    def DarkSlateBlue() -> SolidBrush: ...
    @property
    def DarkSlateGray() -> SolidBrush: ...
    @property
    def DarkTurquoise() -> SolidBrush: ...
    @property
    def DarkViolet() -> SolidBrush: ...
    @property
    def DeepPink() -> SolidBrush: ...
    @property
    def DeepSkyBlue() -> SolidBrush: ...
    @property
    def DimGray() -> SolidBrush: ...
    @property
    def DodgerBlue() -> SolidBrush: ...
    @property
    def Firebrick() -> SolidBrush: ...
    @property
    def FloralWhite() -> SolidBrush: ...
    @property
    def ForestGreen() -> SolidBrush: ...
    @property
    def Fuchsia() -> SolidBrush: ...
    @property
    def Gainsboro() -> SolidBrush: ...
    @property
    def GhostWhite() -> SolidBrush: ...
    @property
    def Gold() -> SolidBrush: ...
    @property
    def Goldenrod() -> SolidBrush: ...
    @property
    def Gray() -> SolidBrush: ...
    @property
    def Green() -> SolidBrush: ...
    @property
    def GreenYellow() -> SolidBrush: ...
    @property
    def Honeydew() -> SolidBrush: ...
    @property
    def HotPink() -> SolidBrush: ...
    @property
    def IndianRed() -> SolidBrush: ...
    @property
    def Indigo() -> SolidBrush: ...
    @property
    def Ivory() -> SolidBrush: ...
    @property
    def Khaki() -> SolidBrush: ...
    @property
    def Lavender() -> SolidBrush: ...
    @property
    def LavenderBlush() -> SolidBrush: ...
    @property
    def LawnGreen() -> SolidBrush: ...
    @property
    def LemonChiffon() -> SolidBrush: ...
    @property
    def LightBlue() -> SolidBrush: ...
    @property
    def LightCoral() -> SolidBrush: ...
    @property
    def LightCyan() -> SolidBrush: ...
    @property
    def LightGoldenrodYellow() -> SolidBrush: ...
    @property
    def LightGreen() -> SolidBrush: ...
    @property
    def LightGrey() -> SolidBrush: ...
    @property
    def LightPink() -> SolidBrush: ...
    @property
    def LightSalmon() -> SolidBrush: ...
    @property
    def LightSeaGreen() -> SolidBrush: ...
    @property
    def LightSkyBlue() -> SolidBrush: ...
    @property
    def LightSlateGray() -> SolidBrush: ...
    @property
    def LightSteelBlue() -> SolidBrush: ...
    @property
    def LightYellow() -> SolidBrush: ...
    @property
    def Lime() -> SolidBrush: ...
    @property
    def LimeGreen() -> SolidBrush: ...
    @property
    def Linen() -> SolidBrush: ...
    @property
    def Magenta() -> SolidBrush: ...
    @property
    def Maroon() -> SolidBrush: ...
    @property
    def MediumAquamarine() -> SolidBrush: ...
    @property
    def MediumBlue() -> SolidBrush: ...
    @property
    def MediumOrchid() -> SolidBrush: ...
    @property
    def MediumPurple() -> SolidBrush: ...
    @property
    def MediumSeaGreen() -> SolidBrush: ...
    @property
    def MediumSlateBlue() -> SolidBrush: ...
    @property
    def MediumSpringGreen() -> SolidBrush: ...
    @property
    def MediumTurquoise() -> SolidBrush: ...
    @property
    def MediumVioletRed() -> SolidBrush: ...
    @property
    def MidnightBlue() -> SolidBrush: ...
    @property
    def MintCream() -> SolidBrush: ...
    @property
    def MistyRose() -> SolidBrush: ...
    @property
    def Moccasin() -> SolidBrush: ...
    @property
    def NavajoWhite() -> SolidBrush: ...
    @property
    def Navy() -> SolidBrush: ...
    @property
    def OldLace() -> SolidBrush: ...
    @property
    def Olive() -> SolidBrush: ...
    @property
    def OliveDrab() -> SolidBrush: ...
    @property
    def Orange() -> SolidBrush: ...
    @property
    def OrangeRed() -> SolidBrush: ...
    @property
    def Orchid() -> SolidBrush: ...
    @property
    def PaleGoldenrod() -> SolidBrush: ...
    @property
    def PaleGreen() -> SolidBrush: ...
    @property
    def PaleTurquoise() -> SolidBrush: ...
    @property
    def PaleVioletRed() -> SolidBrush: ...
    @property
    def PapayaWhip() -> SolidBrush: ...
    @property
    def PeachPuff() -> SolidBrush: ...
    @property
    def Peru() -> SolidBrush: ...
    @property
    def Pink() -> SolidBrush: ...
    @property
    def Plum() -> SolidBrush: ...
    @property
    def PowderBlue() -> SolidBrush: ...
    @property
    def Purple() -> SolidBrush: ...
    @property
    def Red() -> SolidBrush: ...
    @property
    def RosyBrown() -> SolidBrush: ...
    @property
    def RoyalBlue() -> SolidBrush: ...
    @property
    def SaddleBrown() -> SolidBrush: ...
    @property
    def Salmon() -> SolidBrush: ...
    @property
    def SandyBrown() -> SolidBrush: ...
    @property
    def SeaGreen() -> SolidBrush: ...
    @property
    def Seashell() -> SolidBrush: ...
    @property
    def Sienna() -> SolidBrush: ...
    @property
    def Silver() -> SolidBrush: ...
    @property
    def SkyBlue() -> SolidBrush: ...
    @property
    def SlateBlue() -> SolidBrush: ...
    @property
    def SlateGray() -> SolidBrush: ...
    @property
    def Snow() -> SolidBrush: ...
    @property
    def SpringGreen() -> SolidBrush: ...
    @property
    def SteelBlue() -> SolidBrush: ...
    @property
    def Tan() -> SolidBrush: ...
    @property
    def Teal() -> SolidBrush: ...
    @property
    def Thistle() -> SolidBrush: ...
    @property
    def Tomato() -> SolidBrush: ...
    @property
    def Transparent() -> SolidBrush: ...
    @property
    def Turquoise() -> SolidBrush: ...
    @property
    def Violet() -> SolidBrush: ...
    @property
    def Wheat() -> SolidBrush: ...
    @property
    def White() -> SolidBrush: ...
    @property
    def WhiteSmoke() -> SolidBrush: ...
    @property
    def Yellow() -> SolidBrush: ...
    @property
    def YellowGreen() -> SolidBrush: ...


class Color:
    @overload
    def __init__(self, color: Color, alpha: Nullable): ...
    @overload
    def __init__(self, red: Single, green: Single, blue: Single, alpha: Single): ...
    @overload
    def __init__(self, controlObject: Object, red: Single, green: Single, blue: Single, alpha: Single): ...
    @overload
    def Blend(baseColor: Color, blendColor: Color) -> Color: ...
    @overload
    def Blend(baseColor: Color, blendColor: Color, blendFactor: Single) -> Color: ...
    def Distance(value1: Color, value2: Color) -> Single: ...
    @overload
    def Equals(self, other: Color) -> bool: ...
    @overload
    def Equals(self, obj: Object) -> bool: ...
    @overload
    def FromArgb(argb: int) -> Color: ...
    @overload
    def FromArgb(red: int, green: int, blue: int, alpha: int) -> Color: ...
    def FromElementId(id: int, alpha: int) -> Color: ...
    def FromGrayscale(val: Single, alpha: Single) -> Color: ...
    def FromRgb(argb: int) -> Color: ...
    @property
    def A(self) -> Single: ...
    @property
    def Ab(self) -> int: ...
    @property
    def B(self) -> Single: ...
    @property
    def Bb(self) -> int: ...
    @property
    def ControlObject(self) -> Object: ...
    @property
    def G(self) -> Single: ...
    @property
    def Gb(self) -> int: ...
    @property
    def R(self) -> Single: ...
    @property
    def Rb(self) -> int: ...
    def GetHashCode(self) -> int: ...
    def Invert(self) -> None: ...
    def op_Equality(color1: Color, color2: Color) -> bool: ...
    def op_Inequality(color1: Color, color2: Color) -> bool: ...
    def Parse(value: str) -> Color: ...
    @A.setter
    def A(self, value: Single) -> None: ...
    @Ab.setter
    def Ab(self, value: int) -> None: ...
    @B.setter
    def B(self, value: Single) -> None: ...
    @Bb.setter
    def Bb(self, value: int) -> None: ...
    @G.setter
    def G(self, value: Single) -> None: ...
    @Gb.setter
    def Gb(self, value: int) -> None: ...
    @R.setter
    def R(self, value: Single) -> None: ...
    @Rb.setter
    def Rb(self, value: int) -> None: ...
    @overload
    def ToArgb(self) -> int: ...
    @overload
    def ToArgb(self, style: ColorStyles) -> int: ...
    def ToCMYK(self) -> ColorCMYK: ...
    def ToElementId(self) -> int: ...
    @overload
    def ToHex(self, includeAlpha: bool) -> str: ...
    @overload
    def ToHex(self, style: ColorStyles) -> str: ...
    def ToHSB(self) -> ColorHSB: ...
    def ToHSL(self) -> ColorHSL: ...
    def ToString(self) -> str: ...
    @overload
    def TryParse(value: str) -> Tuple[bool, Color]: ...
    @overload
    def TryParse(value: str, style: ColorStyles) -> Tuple[bool, Color]: ...


class ColorCMYK:
    @overload
    def __init__(self, color: Color): ...
    @overload
    def __init__(self, cyan: Single, magenta: Single, yellow: Single, black: Single, alpha: Single): ...
    def Distance(value1: ColorCMYK, value2: ColorCMYK) -> Single: ...
    @overload
    def Equals(self, other: ColorCMYK) -> bool: ...
    @overload
    def Equals(self, obj: Object) -> bool: ...
    @property
    def A(self) -> Single: ...
    @property
    def C(self) -> Single: ...
    @property
    def K(self) -> Single: ...
    @property
    def M(self) -> Single: ...
    @property
    def Y(self) -> Single: ...
    def GetHashCode(self) -> int: ...
    def op_Equality(color1: ColorCMYK, color2: ColorCMYK) -> bool: ...
    @overload
    def op_Implicit(cmyk: ColorCMYK) -> Color: ...
    @overload
    def op_Implicit(color: Color) -> ColorCMYK: ...
    def op_Inequality(color1: ColorCMYK, color2: ColorCMYK) -> bool: ...
    @A.setter
    def A(self, value: Single) -> None: ...
    @C.setter
    def C(self, value: Single) -> None: ...
    @K.setter
    def K(self, value: Single) -> None: ...
    @M.setter
    def M(self, value: Single) -> None: ...
    @Y.setter
    def Y(self, value: Single) -> None: ...
    def ToColor(self) -> Color: ...


class ColorHSB:
    @overload
    def __init__(self, color: Color): ...
    @overload
    def __init__(self, hue: Single, saturation: Single, brightness: Single, alpha: Single): ...
    def Distance(value1: ColorHSB, value2: ColorHSB) -> Single: ...
    @overload
    def Equals(self, other: ColorHSB) -> bool: ...
    @overload
    def Equals(self, obj: Object) -> bool: ...
    @property
    def A(self) -> Single: ...
    @property
    def B(self) -> Single: ...
    @property
    def H(self) -> Single: ...
    @property
    def S(self) -> Single: ...
    def GetHashCode(self) -> int: ...
    def op_Equality(color1: ColorHSB, color2: ColorHSB) -> bool: ...
    @overload
    def op_Implicit(hsb: ColorHSB) -> Color: ...
    @overload
    def op_Implicit(color: Color) -> ColorHSB: ...
    def op_Inequality(color1: ColorHSB, color2: ColorHSB) -> bool: ...
    @A.setter
    def A(self, value: Single) -> None: ...
    @B.setter
    def B(self, value: Single) -> None: ...
    @H.setter
    def H(self, value: Single) -> None: ...
    @S.setter
    def S(self, value: Single) -> None: ...
    def ToColor(self) -> Color: ...


class ColorHSL:
    @overload
    def __init__(self, color: Color): ...
    @overload
    def __init__(self, hue: Single, saturation: Single, luminance: Single, alpha: Single): ...
    def Distance(value1: ColorHSL, value2: ColorHSL) -> Single: ...
    @overload
    def Equals(self, other: ColorHSL) -> bool: ...
    @overload
    def Equals(self, obj: Object) -> bool: ...
    @property
    def A(self) -> Single: ...
    @property
    def H(self) -> Single: ...
    @property
    def L(self) -> Single: ...
    @property
    def S(self) -> Single: ...
    def GetHashCode(self) -> int: ...
    def op_Equality(color1: ColorHSL, color2: ColorHSL) -> bool: ...
    @overload
    def op_Implicit(hsl: ColorHSL) -> Color: ...
    @overload
    def op_Implicit(color: Color) -> ColorHSL: ...
    def op_Inequality(color1: ColorHSL, color2: ColorHSL) -> bool: ...
    @A.setter
    def A(self, value: Single) -> None: ...
    @H.setter
    def H(self, value: Single) -> None: ...
    @L.setter
    def L(self, value: Single) -> None: ...
    @S.setter
    def S(self, value: Single) -> None: ...
    def ToColor(self) -> Color: ...


class Colors:
    @property
    def AliceBlue() -> Color: ...
    @property
    def AntiqueWhite() -> Color: ...
    @property
    def Aqua() -> Color: ...
    @property
    def Aquamarine() -> Color: ...
    @property
    def Azure() -> Color: ...
    @property
    def Beige() -> Color: ...
    @property
    def Bisque() -> Color: ...
    @property
    def Black() -> Color: ...
    @property
    def BlanchedAlmond() -> Color: ...
    @property
    def Blue() -> Color: ...
    @property
    def BlueViolet() -> Color: ...
    @property
    def Brown() -> Color: ...
    @property
    def BurlyWood() -> Color: ...
    @property
    def CadetBlue() -> Color: ...
    @property
    def Chartreuse() -> Color: ...
    @property
    def Chocolate() -> Color: ...
    @property
    def Coral() -> Color: ...
    @property
    def CornflowerBlue() -> Color: ...
    @property
    def Cornsilk() -> Color: ...
    @property
    def Crimson() -> Color: ...
    @property
    def Cyan() -> Color: ...
    @property
    def DarkBlue() -> Color: ...
    @property
    def DarkCyan() -> Color: ...
    @property
    def DarkGoldenrod() -> Color: ...
    @property
    def DarkGray() -> Color: ...
    @property
    def DarkGreen() -> Color: ...
    @property
    def DarkKhaki() -> Color: ...
    @property
    def DarkMagenta() -> Color: ...
    @property
    def DarkOliveGreen() -> Color: ...
    @property
    def DarkOrange() -> Color: ...
    @property
    def DarkOrchid() -> Color: ...
    @property
    def DarkRed() -> Color: ...
    @property
    def DarkSalmon() -> Color: ...
    @property
    def DarkSeaGreen() -> Color: ...
    @property
    def DarkSlateBlue() -> Color: ...
    @property
    def DarkSlateGray() -> Color: ...
    @property
    def DarkTurquoise() -> Color: ...
    @property
    def DarkViolet() -> Color: ...
    @property
    def DeepPink() -> Color: ...
    @property
    def DeepSkyBlue() -> Color: ...
    @property
    def DimGray() -> Color: ...
    @property
    def DodgerBlue() -> Color: ...
    @property
    def Firebrick() -> Color: ...
    @property
    def FloralWhite() -> Color: ...
    @property
    def ForestGreen() -> Color: ...
    @property
    def Fuchsia() -> Color: ...
    @property
    def Gainsboro() -> Color: ...
    @property
    def GhostWhite() -> Color: ...
    @property
    def Gold() -> Color: ...
    @property
    def Goldenrod() -> Color: ...
    @property
    def Gray() -> Color: ...
    @property
    def Green() -> Color: ...
    @property
    def GreenYellow() -> Color: ...
    @property
    def Honeydew() -> Color: ...
    @property
    def HotPink() -> Color: ...
    @property
    def IndianRed() -> Color: ...
    @property
    def Indigo() -> Color: ...
    @property
    def Ivory() -> Color: ...
    @property
    def Khaki() -> Color: ...
    @property
    def Lavender() -> Color: ...
    @property
    def LavenderBlush() -> Color: ...
    @property
    def LawnGreen() -> Color: ...
    @property
    def LemonChiffon() -> Color: ...
    @property
    def LightBlue() -> Color: ...
    @property
    def LightCoral() -> Color: ...
    @property
    def LightCyan() -> Color: ...
    @property
    def LightGoldenrodYellow() -> Color: ...
    @property
    def LightGreen() -> Color: ...
    @property
    def LightGrey() -> Color: ...
    @property
    def LightPink() -> Color: ...
    @property
    def LightSalmon() -> Color: ...
    @property
    def LightSeaGreen() -> Color: ...
    @property
    def LightSkyBlue() -> Color: ...
    @property
    def LightSlateGray() -> Color: ...
    @property
    def LightSteelBlue() -> Color: ...
    @property
    def LightYellow() -> Color: ...
    @property
    def Lime() -> Color: ...
    @property
    def LimeGreen() -> Color: ...
    @property
    def Linen() -> Color: ...
    @property
    def Magenta() -> Color: ...
    @property
    def Maroon() -> Color: ...
    @property
    def MediumAquamarine() -> Color: ...
    @property
    def MediumBlue() -> Color: ...
    @property
    def MediumOrchid() -> Color: ...
    @property
    def MediumPurple() -> Color: ...
    @property
    def MediumSeaGreen() -> Color: ...
    @property
    def MediumSlateBlue() -> Color: ...
    @property
    def MediumSpringGreen() -> Color: ...
    @property
    def MediumTurquoise() -> Color: ...
    @property
    def MediumVioletRed() -> Color: ...
    @property
    def MidnightBlue() -> Color: ...
    @property
    def MintCream() -> Color: ...
    @property
    def MistyRose() -> Color: ...
    @property
    def Moccasin() -> Color: ...
    @property
    def NavajoWhite() -> Color: ...
    @property
    def Navy() -> Color: ...
    @property
    def OldLace() -> Color: ...
    @property
    def Olive() -> Color: ...
    @property
    def OliveDrab() -> Color: ...
    @property
    def Orange() -> Color: ...
    @property
    def OrangeRed() -> Color: ...
    @property
    def Orchid() -> Color: ...
    @property
    def PaleGoldenrod() -> Color: ...
    @property
    def PaleGreen() -> Color: ...
    @property
    def PaleTurquoise() -> Color: ...
    @property
    def PaleVioletRed() -> Color: ...
    @property
    def PapayaWhip() -> Color: ...
    @property
    def PeachPuff() -> Color: ...
    @property
    def Peru() -> Color: ...
    @property
    def Pink() -> Color: ...
    @property
    def Plum() -> Color: ...
    @property
    def PowderBlue() -> Color: ...
    @property
    def Purple() -> Color: ...
    @property
    def Red() -> Color: ...
    @property
    def RosyBrown() -> Color: ...
    @property
    def RoyalBlue() -> Color: ...
    @property
    def SaddleBrown() -> Color: ...
    @property
    def Salmon() -> Color: ...
    @property
    def SandyBrown() -> Color: ...
    @property
    def SeaGreen() -> Color: ...
    @property
    def Seashell() -> Color: ...
    @property
    def Sienna() -> Color: ...
    @property
    def Silver() -> Color: ...
    @property
    def SkyBlue() -> Color: ...
    @property
    def SlateBlue() -> Color: ...
    @property
    def SlateGray() -> Color: ...
    @property
    def Snow() -> Color: ...
    @property
    def SpringGreen() -> Color: ...
    @property
    def SteelBlue() -> Color: ...
    @property
    def Tan() -> Color: ...
    @property
    def Teal() -> Color: ...
    @property
    def Thistle() -> Color: ...
    @property
    def Tomato() -> Color: ...
    @property
    def Transparent() -> Color: ...
    @property
    def Turquoise() -> Color: ...
    @property
    def Violet() -> Color: ...
    @property
    def Wheat() -> Color: ...
    @property
    def White() -> Color: ...
    @property
    def WhiteSmoke() -> Color: ...
    @property
    def Yellow() -> Color: ...
    @property
    def YellowGreen() -> Color: ...


class ColorStyles:
    #None = 0
    ExcludeAlpha = 1
    AlphaLast = 4
    ShortHex = 8
    All = 13


class DashStyle:
    @overload
    def __init__(self): ...
    @overload
    def __init__(self, offset: Single, dashes: Set(Single)): ...
    @overload
    def Equals(self, other: DashStyle) -> bool: ...
    @overload
    def Equals(self, obj: Object) -> bool: ...
    @property
    def Dashes(self) -> Set(Single): ...
    @property
    def IsSolid(self) -> bool: ...
    @property
    def Offset(self) -> Single: ...
    def GetHashCode(self) -> int: ...
    def op_Equality(style1: DashStyle, style2: DashStyle) -> bool: ...
    def op_Inequality(style1: DashStyle, style2: DashStyle) -> bool: ...
    def Parse(value: str) -> DashStyle: ...
    def ToString(self) -> str: ...
    def TryParse(value: str) -> Tuple[bool, DashStyle]: ...


class DashStyles:
    @property
    def Dash() -> DashStyle: ...
    @property
    def DashDot() -> DashStyle: ...
    @property
    def DashDotDot() -> DashStyle: ...
    @property
    def Dot() -> DashStyle: ...
    @property
    def Solid() -> DashStyle: ...


class FillMode:
    Alternate = 0
    Winding = 1


class Font(Widget):
    @overload
    def __init__(self, handler: IHandler): ...
    @overload
    def __init__(self, systemFont: SystemFont, size: Nullable, decoration: FontDecoration): ...
    @overload
    def __init__(self, typeface: FontTypeface, size: Single, decoration: FontDecoration): ...
    @overload
    def __init__(self, family: str, size: Single, style: FontStyle, decoration: FontDecoration): ...
    @overload
    def __init__(self, family: FontFamily, size: Single, style: FontStyle, decoration: FontDecoration): ...
    def Equals(self, obj: Object) -> bool: ...
    @property
    def Ascent(self) -> Single: ...
    @property
    def Baseline(self) -> Single: ...
    @property
    def Bold(self) -> bool: ...
    @property
    def Descent(self) -> Single: ...
    @property
    def Family(self) -> FontFamily: ...
    @property
    def FamilyName(self) -> str: ...
    @property
    def FontDecoration(self) -> FontDecoration: ...
    @property
    def FontStyle(self) -> FontStyle: ...
    @property
    def Italic(self) -> bool: ...
    @property
    def Leading(self) -> Single: ...
    @property
    def LineHeight(self) -> Single: ...
    @property
    def Size(self) -> Single: ...
    @property
    def Strikethrough(self) -> bool: ...
    @property
    def Typeface(self) -> FontTypeface: ...
    @property
    def Underline(self) -> bool: ...
    @property
    def XHeight(self) -> Single: ...
    def GetHashCode(self) -> int: ...
    def MeasureString(self, text: str) -> SizeF: ...
    def ToString(self) -> str: ...


class FontDecoration:
    #None = 0
    Underline = 1
    Strikethrough = 2


class FontFamilies:
    @property
    def Cursive() -> FontFamily: ...
    @property
    def Fantasy() -> FontFamily: ...
    @property
    def Monospace() -> FontFamily: ...
    @property
    def Sans() -> FontFamily: ...
    @property
    def Serif() -> FontFamily: ...


class FontFamily(Widget):
    @overload
    def __init__(self, handler: IHandler): ...
    @overload
    def __init__(self, familyName: str): ...
    @overload
    def Equals(self, other: FontFamily) -> bool: ...
    @overload
    def Equals(self, obj: Object) -> bool: ...
    @property
    def LocalizedName(self) -> str: ...
    @property
    def Name(self) -> str: ...
    @property
    def Typefaces(self) -> Iterable[FontTypeface]: ...
    def GetHashCode(self) -> int: ...
    def op_Equality(value1: FontFamily, value2: FontFamily) -> bool: ...
    def op_Inequality(value1: FontFamily, value2: FontFamily) -> bool: ...
    def ToString(self) -> str: ...


class Fonts:
    @overload
    def Cached(familyName: str, size: Single, style: FontStyle, decoration: FontDecoration) -> Font: ...
    @overload
    def Cached(family: FontFamily, size: Single, style: FontStyle, decoration: FontDecoration) -> Font: ...
    def ClearCache() -> None: ...
    def Cursive(size: Single, style: FontStyle, decoration: FontDecoration) -> Font: ...
    def Fantasy(size: Single, style: FontStyle, decoration: FontDecoration) -> Font: ...
    @property
    def AvailableFontFamilies() -> Iterable[FontFamily]: ...
    def Monospace(size: Single, style: FontStyle, decoration: FontDecoration) -> Font: ...
    def Sans(size: Single, style: FontStyle, decoration: FontDecoration) -> Font: ...
    def Serif(size: Single, style: FontStyle, decoration: FontDecoration) -> Font: ...


class FontStyle:
    #None = 0
    Bold = 1
    Italic = 2


class FontTypeface(Widget):
    def __init__(self, family: FontFamily, handler: IHandler): ...
    @overload
    def Equals(self, obj: Object) -> bool: ...
    @overload
    def Equals(self, other: FontTypeface) -> bool: ...
    @property
    def Bold(self) -> bool: ...
    @property
    def Family(self) -> FontFamily: ...
    @property
    def FontStyle(self) -> FontStyle: ...
    @property
    def IsSymbol(self) -> bool: ...
    @property
    def Italic(self) -> bool: ...
    @property
    def LocalizedName(self) -> str: ...
    @property
    def Name(self) -> str: ...
    def GetHashCode(self) -> int: ...
    @overload
    def HasCharacterRange(self, range: Range) -> bool: ...
    @overload
    def HasCharacterRange(self, start: int, end: int) -> bool: ...
    def HasCharacterRanges(self, ranges: Iterable[Range]) -> bool: ...
    def op_Equality(value1: FontTypeface, value2: FontTypeface) -> bool: ...
    def op_Inequality(value1: FontTypeface, value2: FontTypeface) -> bool: ...
    def ToString(self) -> str: ...


class FormattedText(Widget):
    def __init__(self): ...
    @property
    def Alignment(self) -> FormattedTextAlignment: ...
    @property
    def Font(self) -> Font: ...
    @property
    def ForegroundBrush(self) -> Brush: ...
    @property
    def MaximumHeight(self) -> Single: ...
    @property
    def MaximumSize(self) -> SizeF: ...
    @property
    def MaximumWidth(self) -> Single: ...
    @property
    def Text(self) -> str: ...
    @property
    def Trimming(self) -> FormattedTextTrimming: ...
    @property
    def Wrap(self) -> FormattedTextWrapMode: ...
    def Measure(self) -> SizeF: ...
    @Alignment.setter
    def Alignment(self, value: FormattedTextAlignment) -> None: ...
    @Font.setter
    def Font(self, value: Font) -> None: ...
    @ForegroundBrush.setter
    def ForegroundBrush(self, value: Brush) -> None: ...
    @MaximumHeight.setter
    def MaximumHeight(self, value: Single) -> None: ...
    @MaximumSize.setter
    def MaximumSize(self, value: SizeF) -> None: ...
    @MaximumWidth.setter
    def MaximumWidth(self, value: Single) -> None: ...
    @Text.setter
    def Text(self, value: str) -> None: ...
    @Trimming.setter
    def Trimming(self, value: FormattedTextTrimming) -> None: ...
    @Wrap.setter
    def Wrap(self, value: FormattedTextWrapMode) -> None: ...


class FormattedTextAlignment:
    Left = 0
    Right = 1
    Center = 2
    Justify = 3


class FormattedTextTrimming:
    #None = 0
    CharacterEllipsis = 1
    WordEllipsis = 2


class FormattedTextWrapMode:
    #None = 0
    Word = 1
    Character = 2


class GradientWrapMode:
    Pad = 0
    Repeat = 1
    Reflect = 2


class Graphics(Widget):
    @overload
    def __init__(self, handler: IHandler): ...
    @overload
    def __init__(self, image: Bitmap): ...
    @overload
    def Clear(self, brush: SolidBrush) -> None: ...
    @overload
    def Clear(self, color: Color) -> None: ...
    @overload
    def DrawArc(self, color: Color, rectangle: RectangleF, startAngle: Single, sweepAngle: Single) -> None: ...
    @overload
    def DrawArc(self, pen: Pen, rectangle: RectangleF, startAngle: Single, sweepAngle: Single) -> None: ...
    @overload
    def DrawArc(self, color: Color, x: Single, y: Single, width: Single, height: Single, startAngle: Single, sweepAngle: Single) -> None: ...
    @overload
    def DrawArc(self, pen: Pen, x: Single, y: Single, width: Single, height: Single, startAngle: Single, sweepAngle: Single) -> None: ...
    @overload
    def DrawEllipse(self, pen: Pen, rectangle: RectangleF) -> None: ...
    @overload
    def DrawEllipse(self, color: Color, rectangle: RectangleF) -> None: ...
    @overload
    def DrawEllipse(self, color: Color, x: Single, y: Single, width: Single, height: Single) -> None: ...
    @overload
    def DrawEllipse(self, pen: Pen, x: Single, y: Single, width: Single, height: Single) -> None: ...
    @overload
    def DrawImage(self, image: Image, rectangle: RectangleF) -> None: ...
    @overload
    def DrawImage(self, image: Image, location: PointF) -> None: ...
    @overload
    def DrawImage(self, image: Image, source: RectangleF, destination: RectangleF) -> None: ...
    @overload
    def DrawImage(self, image: Image, source: RectangleF, destination: PointF) -> None: ...
    @overload
    def DrawImage(self, image: Image, x: Single, y: Single) -> None: ...
    @overload
    def DrawImage(self, image: Image, x: Single, y: Single, width: Single, height: Single) -> None: ...
    def DrawInsetRectangle(self, topLeftColor: Color, bottomRightColor: Color, rectangle: RectangleF, width: int) -> None: ...
    @overload
    def DrawLine(self, color: Color, start: PointF, end: PointF) -> None: ...
    @overload
    def DrawLine(self, pen: Pen, start: PointF, end: PointF) -> None: ...
    @overload
    def DrawLine(self, pen: Pen, startx: Single, starty: Single, endx: Single, endy: Single) -> None: ...
    @overload
    def DrawLine(self, color: Color, startx: Single, starty: Single, endx: Single, endy: Single) -> None: ...
    @overload
    def DrawLines(self, pen: Pen, points: Iterable[PointF]) -> None: ...
    @overload
    def DrawLines(self, pen: Pen, points: Set(PointF)) -> None: ...
    @overload
    def DrawLines(self, color: Color, points: Iterable[PointF]) -> None: ...
    @overload
    def DrawLines(self, color: Color, points: Set(PointF)) -> None: ...
    @overload
    def DrawPath(self, color: Color, path: IGraphicsPath) -> None: ...
    @overload
    def DrawPath(self, pen: Pen, path: IGraphicsPath) -> None: ...
    @overload
    def DrawPolygon(self, color: Color, points: Set(PointF)) -> None: ...
    @overload
    def DrawPolygon(self, pen: Pen, points: Set(PointF)) -> None: ...
    @overload
    def DrawRectangle(self, color: Color, rectangle: RectangleF) -> None: ...
    @overload
    def DrawRectangle(self, pen: Pen, rectangle: RectangleF) -> None: ...
    @overload
    def DrawRectangle(self, pen: Pen, x: Single, y: Single, width: Single, height: Single) -> None: ...
    @overload
    def DrawRectangle(self, color: Color, x: Single, y: Single, width: Single, height: Single) -> None: ...
    @overload
    def DrawText(self, formattedText: FormattedText, location: PointF) -> None: ...
    @overload
    def DrawText(self, font: Font, color: Color, location: PointF, text: str) -> None: ...
    @overload
    def DrawText(self, font: Font, brush: Brush, location: PointF, text: str) -> None: ...
    @overload
    def DrawText(self, font: Font, brush: SolidBrush, location: PointF, text: str) -> None: ...
    @overload
    def DrawText(self, font: Font, brush: SolidBrush, x: Single, y: Single, text: str) -> None: ...
    @overload
    def DrawText(self, font: Font, brush: Brush, x: Single, y: Single, text: str) -> None: ...
    @overload
    def DrawText(self, font: Font, color: Color, x: Single, y: Single, text: str) -> None: ...
    @overload
    def DrawText(self, font: Font, brush: Brush, frame: RectangleF, text: str, wrap: FormattedTextWrapMode, alignment: FormattedTextAlignment, trimming: FormattedTextTrimming) -> None: ...
    @overload
    def FillEllipse(self, brush: Brush, rectangle: RectangleF) -> None: ...
    @overload
    def FillEllipse(self, color: Color, rectangle: RectangleF) -> None: ...
    @overload
    def FillEllipse(self, color: Color, x: Single, y: Single, width: Single, height: Single) -> None: ...
    @overload
    def FillEllipse(self, brush: Brush, x: Single, y: Single, width: Single, height: Single) -> None: ...
    @overload
    def FillPath(self, color: Color, path: IGraphicsPath) -> None: ...
    @overload
    def FillPath(self, brush: Brush, path: IGraphicsPath) -> None: ...
    @overload
    def FillPie(self, brush: Brush, rectangle: RectangleF, startAngle: Single, sweepAngle: Single) -> None: ...
    @overload
    def FillPie(self, color: Color, rectangle: RectangleF, startAngle: Single, sweepAngle: Single) -> None: ...
    @overload
    def FillPie(self, color: Color, x: Single, y: Single, width: Single, height: Single, startAngle: Single, sweepAngle: Single) -> None: ...
    @overload
    def FillPie(self, brush: Brush, x: Single, y: Single, width: Single, height: Single, startAngle: Single, sweepAngle: Single) -> None: ...
    @overload
    def FillPolygon(self, color: Color, points: Set(PointF)) -> None: ...
    @overload
    def FillPolygon(self, brush: Brush, points: Set(PointF)) -> None: ...
    @overload
    def FillRectangle(self, brush: Brush, rectangle: RectangleF) -> None: ...
    @overload
    def FillRectangle(self, color: Color, rectangle: RectangleF) -> None: ...
    @overload
    def FillRectangle(self, brush: Brush, x: Single, y: Single, width: Single, height: Single) -> None: ...
    @overload
    def FillRectangle(self, color: Color, x: Single, y: Single, width: Single, height: Single) -> None: ...
    @overload
    def FillRectangles(self, brush: Brush, rectangles: Iterable[RectangleF]) -> None: ...
    @overload
    def FillRectangles(self, color: Color, rectangles: Iterable[RectangleF]) -> None: ...
    def Flush(self) -> None: ...
    @property
    def AntiAlias(self) -> bool: ...
    @property
    def ClipBounds(self) -> RectangleF: ...
    @property
    def CurrentTransform(self) -> IMatrix: ...
    @property
    def DPI(self) -> Single: ...
    @property
    def ImageInterpolation(self) -> ImageInterpolation: ...
    @property
    def IsRetained(self) -> bool: ...
    @property
    def PixelOffsetMode(self) -> PixelOffsetMode: ...
    @property
    def PixelsPerPoint(self) -> Single: ...
    @property
    def PointsPerPixel(self) -> Single: ...
    def IsVisible(self, rectangle: RectangleF) -> bool: ...
    def MeasureString(self, font: Font, text: str) -> SizeF: ...
    def MultiplyTransform(self, matrix: IMatrix) -> None: ...
    def ResetClip(self) -> None: ...
    def RestoreTransform(self) -> None: ...
    def RotateTransform(self, angle: Single) -> None: ...
    def SaveTransform(self) -> None: ...
    def SaveTransformState(self) -> IDisposable: ...
    @overload
    def ScaleTransform(self, scale: SizeF) -> None: ...
    @overload
    def ScaleTransform(self, scale: Single) -> None: ...
    @overload
    def ScaleTransform(self, scaleX: Single, scaleY: Single) -> None: ...
    @AntiAlias.setter
    def AntiAlias(self, value: bool) -> None: ...
    @ImageInterpolation.setter
    def ImageInterpolation(self, value: ImageInterpolation) -> None: ...
    @PixelOffsetMode.setter
    def PixelOffsetMode(self, value: PixelOffsetMode) -> None: ...
    @overload
    def SetClip(self, rectangle: RectangleF) -> None: ...
    @overload
    def SetClip(self, path: IGraphicsPath) -> None: ...
    @overload
    def TranslateTransform(self, offset: PointF) -> None: ...
    @overload
    def TranslateTransform(self, offsetX: Single, offsetY: Single) -> None: ...


class GraphicsPath:
    @overload
    def __init__(self): ...
    @overload
    def __init__(self, handler: IGraphicsPath): ...
    def AddArc(self, x: Single, y: Single, width: Single, height: Single, startAngle: Single, sweepAngle: Single) -> None: ...
    def AddBezier(self, start: PointF, control1: PointF, control2: PointF, end: PointF) -> None: ...
    def AddCurve(self, points: Iterable[PointF], tension: Single) -> None: ...
    def AddEllipse(self, x: Single, y: Single, width: Single, height: Single) -> None: ...
    def AddLine(self, startX: Single, startY: Single, endX: Single, endY: Single) -> None: ...
    def AddLines(self, points: Iterable[PointF]) -> None: ...
    def AddPath(self, path: IGraphicsPath, connect: bool) -> None: ...
    def AddRectangle(self, x: Single, y: Single, width: Single, height: Single) -> None: ...
    def Clone(self) -> IGraphicsPath: ...
    def CloseFigure(self) -> None: ...
    def Create() -> IGraphicsPath: ...
    def Dispose(self) -> None: ...
    @property
    def Bounds(self) -> RectangleF: ...
    @property
    def CurrentPoint(self) -> PointF: ...
    @property
    def FillMode(self) -> FillMode: ...
    @property
    def Instantiator() -> Func: ...
    @property
    def IsEmpty(self) -> bool: ...
    @overload
    def GetRoundRect(rectangle: RectangleF, radius: Single) -> IGraphicsPath: ...
    @overload
    def GetRoundRect(rectangle: RectangleF, nwRadius: Single, neRadius: Single, seRadius: Single, swRadius: Single) -> IGraphicsPath: ...
    def LineTo(self, x: Single, y: Single) -> None: ...
    def MoveTo(self, x: Single, y: Single) -> None: ...
    @FillMode.setter
    def FillMode(self, value: FillMode) -> None: ...
    def StartFigure(self) -> None: ...
    def Transform(self, matrix: IMatrix) -> None: ...


class GraphicsPathExtensions:
    def AddArc(path: IGraphicsPath, location: RectangleF, startAngle: Single, sweepAngle: Single) -> None: ...
    @overload
    def AddCurve(path: IGraphicsPath, points: Set(PointF)) -> None: ...
    @overload
    def AddCurve(path: IGraphicsPath, tension: Single, points: Set(PointF)) -> None: ...
    def AddEllipse(path: IGraphicsPath, location: RectangleF) -> None: ...
    def AddLine(path: IGraphicsPath, start: PointF, end: PointF) -> None: ...
    def AddLines(path: IGraphicsPath, points: Set(PointF)) -> None: ...
    def AddRectangle(path: IGraphicsPath, location: RectangleF) -> None: ...
    def LineTo(path: IGraphicsPath, point: PointF) -> None: ...
    def MoveTo(path: IGraphicsPath, point: PointF) -> None: ...


class Icon(Image):
    @overload
    def __init__(self, handler: IHandler): ...
    @overload
    def __init__(self, stream: Stream): ...
    @overload
    def __init__(self, fileName: str): ...
    @overload
    def __init__(self, frames: Iterable[IconFrame]): ...
    @overload
    def __init__(self, frames: Set(IconFrame)): ...
    @overload
    def __init__(self, scale: Single, bitmap: Bitmap): ...
    @overload
    def FromResource(resourceName: str, assembly: Assembly) -> Icon: ...
    @overload
    def FromResource(resourceName: str, type: Type) -> Icon: ...
    @property
    def Frames(self) -> Iterable[IconFrame]: ...
    def GetFrame(self, scale: Single, fittingSize: Nullable) -> IconFrame: ...
    @overload
    def WithSize(self, fittingSize: Size) -> Icon: ...
    @overload
    def WithSize(self, width: int, height: int) -> Icon: ...


class IconFrame:
    @overload
    def __init__(self, scale: Single, load: Func): ...
    @overload
    def __init__(self, scale: Single, stream: Stream): ...
    @overload
    def __init__(self, scale: Single, bitmap: Bitmap): ...
    def FromControlObject(scale: Single, controlObject: Object) -> IconFrame: ...
    def FromResource(scale: Single, resourceName: str, assembly: Assembly) -> IconFrame: ...
    @property
    def Bitmap(self) -> Bitmap: ...
    @property
    def ControlObject(self) -> Object: ...
    @property
    def PixelSize(self) -> Size: ...
    @property
    def Scale(self) -> Single: ...
    @property
    def Size(self) -> Size: ...


class IGraphicsPath:
    def AddArc(self, x: Single, y: Single, width: Single, height: Single, startAngle: Single, sweepAngle: Single) -> None: ...
    def AddBezier(self, start: PointF, control1: PointF, control2: PointF, end: PointF) -> None: ...
    def AddCurve(self, points: Iterable[PointF], tension: Single) -> None: ...
    def AddEllipse(self, x: Single, y: Single, width: Single, height: Single) -> None: ...
    def AddLine(self, startX: Single, startY: Single, endX: Single, endY: Single) -> None: ...
    def AddLines(self, points: Iterable[PointF]) -> None: ...
    def AddPath(self, path: IGraphicsPath, connect: bool) -> None: ...
    def AddRectangle(self, x: Single, y: Single, width: Single, height: Single) -> None: ...
    def Clone(self) -> IGraphicsPath: ...
    def CloseFigure(self) -> None: ...
    @property
    def Bounds(self) -> RectangleF: ...
    @property
    def CurrentPoint(self) -> PointF: ...
    @property
    def FillMode(self) -> FillMode: ...
    @property
    def IsEmpty(self) -> bool: ...
    def LineTo(self, x: Single, y: Single) -> None: ...
    def MoveTo(self, x: Single, y: Single) -> None: ...
    @FillMode.setter
    def FillMode(self, value: FillMode) -> None: ...
    def StartFigure(self) -> None: ...
    def Transform(self, matrix: IMatrix) -> None: ...


class IHandler:
    @overload
    def Create(self) -> None: ...
    @overload
    def Create(self, xx: Single, yx: Single, xy: Single, yy: Single, x0: Single, y0: Single) -> None: ...


class IHandler:
    @overload
    def Create(self, startColor: Color, endColor: Color, startPoint: PointF, endPoint: PointF) -> Object: ...
    @overload
    def Create(self, rectangle: RectangleF, startColor: Color, endColor: Color, angle: Single) -> Object: ...
    def GetGradientWrap(self, widget: LinearGradientBrush) -> GradientWrapMode: ...
    def GetTransform(self, widget: LinearGradientBrush) -> IMatrix: ...
    def SetGradientWrap(self, widget: LinearGradientBrush, gradientWrap: GradientWrapMode) -> None: ...
    def SetTransform(self, widget: LinearGradientBrush, transform: IMatrix) -> None: ...


class IHandler:
    def Create(self, width: int, height: int, bitsPerPixel: int) -> None: ...
    @property
    def Palette(self) -> Palette: ...
    def Resize(self, width: int, height: int) -> None: ...
    @Palette.setter
    def Palette(self, value: Palette) -> None: ...


class IHandler:
    @property
    def Size(self) -> Size: ...


class IHandler:
    @overload
    def Create(self, frame: IconFrame, stream: Stream) -> Object: ...
    @overload
    def Create(self, frame: IconFrame, load: Func) -> Object: ...
    @overload
    def Create(self, frame: IconFrame, bitmap: Bitmap) -> Object: ...
    def GetBitmap(self, frame: IconFrame) -> Bitmap: ...
    def GetPixelSize(self, frame: IconFrame) -> Size: ...


class IHandler:
    @overload
    def Create(self, stream: Stream) -> None: ...
    @overload
    def Create(self, fileName: str) -> None: ...
    @overload
    def Create(self, frames: Iterable[IconFrame]) -> None: ...
    @property
    def Frames(self) -> Iterable[IconFrame]: ...


class IHandler:
    pass


class IHandler:
    pass


class IHandler:
    @property
    def Alignment(self) -> FormattedTextAlignment: ...
    @property
    def Font(self) -> Font: ...
    @property
    def ForegroundBrush(self) -> Brush: ...
    @property
    def MaximumSize(self) -> SizeF: ...
    @property
    def Text(self) -> str: ...
    @property
    def Trimming(self) -> FormattedTextTrimming: ...
    @property
    def Wrap(self) -> FormattedTextWrapMode: ...
    def Measure(self) -> SizeF: ...
    @Alignment.setter
    def Alignment(self, value: FormattedTextAlignment) -> None: ...
    @Font.setter
    def Font(self, value: Font) -> None: ...
    @ForegroundBrush.setter
    def ForegroundBrush(self, value: Brush) -> None: ...
    @MaximumSize.setter
    def MaximumSize(self, value: SizeF) -> None: ...
    @Text.setter
    def Text(self, value: str) -> None: ...
    @Trimming.setter
    def Trimming(self, value: FormattedTextTrimming) -> None: ...
    @Wrap.setter
    def Wrap(self, value: FormattedTextWrapMode) -> None: ...


class IHandler:
    @property
    def FontStyle(self) -> FontStyle: ...
    @property
    def IsSymbol(self) -> bool: ...
    @property
    def LocalizedName(self) -> str: ...
    @property
    def Name(self) -> str: ...
    def HasCharacterRanges(self, ranges: Iterable[Range]) -> bool: ...


class IHandler:
    def FontFamilyAvailable(self, fontFamily: str) -> bool: ...
    @property
    def AvailableFontFamilies(self) -> Iterable[FontFamily]: ...


class IHandler:
    def Create(self, familyName: str) -> None: ...
    @property
    def LocalizedName(self) -> str: ...
    @property
    def Name(self) -> str: ...
    @property
    def Typefaces(self) -> Iterable[FontTypeface]: ...


class IHandler:
    @overload
    def Create(self, systemFont: SystemFont, size: Nullable, decoration: FontDecoration) -> None: ...
    @overload
    def Create(self, typeface: FontTypeface, size: Single, decoration: FontDecoration) -> None: ...
    @overload
    def Create(self, family: FontFamily, size: Single, style: FontStyle, decoration: FontDecoration) -> None: ...
    @property
    def Ascent(self) -> Single: ...
    @property
    def Baseline(self) -> Single: ...
    @property
    def Descent(self) -> Single: ...
    @property
    def Family(self) -> FontFamily: ...
    @property
    def FamilyName(self) -> str: ...
    @property
    def FontDecoration(self) -> FontDecoration: ...
    @property
    def FontStyle(self) -> FontStyle: ...
    @property
    def Leading(self) -> Single: ...
    @property
    def LineHeight(self) -> Single: ...
    @property
    def Size(self) -> Single: ...
    @property
    def Typeface(self) -> FontTypeface: ...
    @property
    def XHeight(self) -> Single: ...
    def MeasureString(self, text: str) -> SizeF: ...


class IHandler:
    def Clear(self, brush: SolidBrush) -> None: ...
    def CreateFromImage(self, image: Bitmap) -> None: ...
    def DrawArc(self, pen: Pen, x: Single, y: Single, width: Single, height: Single, startAngle: Single, sweepAngle: Single) -> None: ...
    def DrawEllipse(self, pen: Pen, x: Single, y: Single, width: Single, height: Single) -> None: ...
    @overload
    def DrawImage(self, image: Image, source: RectangleF, destination: RectangleF) -> None: ...
    @overload
    def DrawImage(self, image: Image, x: Single, y: Single) -> None: ...
    @overload
    def DrawImage(self, image: Image, x: Single, y: Single, width: Single, height: Single) -> None: ...
    def DrawLine(self, pen: Pen, startx: Single, starty: Single, endx: Single, endy: Single) -> None: ...
    def DrawLines(self, pen: Pen, points: Iterable[PointF]) -> None: ...
    def DrawPath(self, pen: Pen, path: IGraphicsPath) -> None: ...
    def DrawPolygon(self, pen: Pen, points: Iterable[PointF]) -> None: ...
    def DrawRectangle(self, pen: Pen, x: Single, y: Single, width: Single, height: Single) -> None: ...
    @overload
    def DrawText(self, formattedText: FormattedText, location: PointF) -> None: ...
    @overload
    def DrawText(self, font: Font, brush: Brush, x: Single, y: Single, text: str) -> None: ...
    def FillEllipse(self, brush: Brush, x: Single, y: Single, width: Single, height: Single) -> None: ...
    def FillPath(self, brush: Brush, path: IGraphicsPath) -> None: ...
    def FillPie(self, brush: Brush, x: Single, y: Single, width: Single, height: Single, startAngle: Single, sweepAngle: Single) -> None: ...
    def FillRectangle(self, brush: Brush, x: Single, y: Single, width: Single, height: Single) -> None: ...
    def Flush(self) -> None: ...
    @property
    def AntiAlias(self) -> bool: ...
    @property
    def ClipBounds(self) -> RectangleF: ...
    @property
    def CurrentTransform(self) -> IMatrix: ...
    @property
    def ImageInterpolation(self) -> ImageInterpolation: ...
    @property
    def IsRetained(self) -> bool: ...
    @property
    def PixelOffsetMode(self) -> PixelOffsetMode: ...
    @property
    def PointsPerPixel(self) -> Single: ...
    def MeasureString(self, font: Font, text: str) -> SizeF: ...
    def MultiplyTransform(self, matrix: IMatrix) -> None: ...
    def ResetClip(self) -> None: ...
    def RestoreTransform(self) -> None: ...
    def RotateTransform(self, angle: Single) -> None: ...
    def SaveTransform(self) -> None: ...
    def ScaleTransform(self, scaleX: Single, scaleY: Single) -> None: ...
    @AntiAlias.setter
    def AntiAlias(self, value: bool) -> None: ...
    @ImageInterpolation.setter
    def ImageInterpolation(self, value: ImageInterpolation) -> None: ...
    @PixelOffsetMode.setter
    def PixelOffsetMode(self, value: PixelOffsetMode) -> None: ...
    @overload
    def SetClip(self, rectangle: RectangleF) -> None: ...
    @overload
    def SetClip(self, path: IGraphicsPath) -> None: ...
    def TranslateTransform(self, offsetX: Single, offsetY: Single) -> None: ...


class IHandler:
    def Create(self, brush: Brush, thickness: Single) -> Object: ...
    def GetBrush(self, widget: Pen) -> Brush: ...
    def GetLineCap(self, widget: Pen) -> PenLineCap: ...
    def GetLineJoin(self, widget: Pen) -> PenLineJoin: ...
    def GetMiterLimit(self, widget: Pen) -> Single: ...
    def GetThickness(self, widget: Pen) -> Single: ...
    def SetDashStyle(self, widget: Pen, dashStyle: DashStyle) -> None: ...
    def SetLineCap(self, widget: Pen, lineCap: PenLineCap) -> None: ...
    def SetLineJoin(self, widget: Pen, lineJoin: PenLineJoin) -> None: ...
    def SetMiterLimit(self, widget: Pen, miterLimit: Single) -> None: ...
    def SetThickness(self, widget: Pen, thickness: Single) -> None: ...


class IHandler:
    def Create(self, image: Image, opacity: Single) -> Object: ...
    def GetTransform(self, widget: TextureBrush) -> IMatrix: ...
    def SetOpacity(self, widget: TextureBrush, opacity: Single) -> None: ...
    def SetTransform(self, widget: TextureBrush, transform: IMatrix) -> None: ...


class IHandler:
    def Exclude(self, rectangle: Rectangle) -> None: ...
    def Reset(self) -> None: ...
    def Set(self, rectangle: Rectangle) -> None: ...


class IHandler:
    @property
    def Control(self) -> Color: ...
    @property
    def ControlBackground(self) -> Color: ...
    @property
    def ControlText(self) -> Color: ...
    @property
    def DisabledText(self) -> Color: ...
    @property
    def Highlight(self) -> Color: ...
    @property
    def HighlightText(self) -> Color: ...
    @property
    def LinkText(self) -> Color: ...
    @property
    def Selection(self) -> Color: ...
    @property
    def SelectionText(self) -> Color: ...
    @property
    def WindowBackground(self) -> Color: ...


class IHandler:
    def Create(self, color: Color) -> Object: ...
    def GetColor(self, widget: SolidBrush) -> Color: ...
    def SetColor(self, widget: SolidBrush, color: Color) -> None: ...


class IHandler:
    def Clone(self, rectangle: Nullable) -> Bitmap: ...
    @overload
    def Create(self, fileName: str) -> None: ...
    @overload
    def Create(self, stream: Stream) -> None: ...
    @overload
    def Create(self, width: int, height: int, pixelFormat: PixelFormat) -> None: ...
    @overload
    def Create(self, width: int, height: int, graphics: Graphics) -> None: ...
    @overload
    def Create(self, image: Image, width: int, height: int, interpolation: ImageInterpolation) -> None: ...
    def GetPixel(self, x: int, y: int) -> Color: ...
    @overload
    def Save(self, stream: Stream, format: ImageFormat) -> None: ...
    @overload
    def Save(self, fileName: str, format: ImageFormat) -> None: ...


class IHandler:
    def Create(self, startColor: Color, endColor: Color, center: PointF, gradientOrigin: PointF, radius: SizeF) -> Object: ...
    def GetGradientWrap(self, widget: RadialGradientBrush) -> GradientWrapMode: ...
    def GetTransform(self, widget: RadialGradientBrush) -> IMatrix: ...
    def SetGradientWrap(self, widget: RadialGradientBrush, gradientWrap: GradientWrapMode) -> None: ...
    def SetTransform(self, widget: RadialGradientBrush, transform: IMatrix) -> None: ...


class ILockableImage:
    def Lock(self) -> BitmapData: ...
    def Unlock(self, bitmapData: BitmapData) -> None: ...


class Image(Widget):
    @property
    def Height(self) -> int: ...
    @property
    def Size(self) -> Size: ...
    @property
    def Width(self) -> int: ...


class ImageFormat:
    Jpeg = 0
    Bitmap = 1
    Tiff = 2
    Png = 3
    Gif = 4


class ImageInterpolation:
    Default = 0
    #None = 1
    Low = 2
    Medium = 3
    High = 4


class IMatrix:
    def Append(self, matrix: IMatrix) -> None: ...
    def Clone(self) -> IMatrix: ...
    @property
    def Elements(self) -> Set(Single): ...
    @property
    def X0(self) -> Single: ...
    @property
    def Xx(self) -> Single: ...
    @property
    def Xy(self) -> Single: ...
    @property
    def Y0(self) -> Single: ...
    @property
    def Yx(self) -> Single: ...
    @property
    def Yy(self) -> Single: ...
    def Invert(self) -> None: ...
    def Prepend(self, matrix: IMatrix) -> None: ...
    def Rotate(self, angle: Single) -> None: ...
    def RotateAt(self, angle: Single, centerX: Single, centerY: Single) -> None: ...
    def Scale(self, scaleX: Single, scaleY: Single) -> None: ...
    def ScaleAt(self, scaleX: Single, scaleY: Single, centerX: Single, centerY: Single) -> None: ...
    @X0.setter
    def X0(self, value: Single) -> None: ...
    @Xx.setter
    def Xx(self, value: Single) -> None: ...
    @Xy.setter
    def Xy(self, value: Single) -> None: ...
    @Y0.setter
    def Y0(self, value: Single) -> None: ...
    @Yx.setter
    def Yx(self, value: Single) -> None: ...
    @Yy.setter
    def Yy(self, value: Single) -> None: ...
    def Skew(self, skewX: Single, skewY: Single) -> None: ...
    @overload
    def TransformPoint(self, point: PointF) -> PointF: ...
    @overload
    def TransformPoint(self, point: Point) -> PointF: ...
    def Translate(self, offsetX: Single, offsetY: Single) -> None: ...


class IndexedBitmap(Image):
    def __init__(self, width: int, height: int, bitsPerPixel: int): ...
    @property
    def BitsPerPixel(self) -> int: ...
    @property
    def Palette(self) -> Palette: ...
    def Lock(self) -> BitmapData: ...
    def Resize(self, width: int, height: int) -> None: ...
    @Palette.setter
    def Palette(self, value: Palette) -> None: ...


class ITransformBrush:
    @property
    def Transform(self) -> IMatrix: ...
    @Transform.setter
    def Transform(self, value: IMatrix) -> None: ...


class LinearGradientBrush(Brush):
    @overload
    def __init__(self, startColor: Color, endColor: Color, startPoint: PointF, endPoint: PointF): ...
    @overload
    def __init__(self, rectangle: RectangleF, startColor: Color, endColor: Color, angle: Single): ...
    @property
    def Handler(self) -> Object: ...
    @property
    def Instantiator() -> Func`5: ...
    @property
    def Transform(self) -> IMatrix: ...
    @property
    def Wrap(self) -> GradientWrapMode: ...
    @Transform.setter
    def Transform(self, value: IMatrix) -> None: ...
    @Wrap.setter
    def Wrap(self, value: GradientWrapMode) -> None: ...


class Matrix:
    def Append(matrix: IMatrix, matrices: Set(IMatrix)) -> None: ...
    @overload
    def Create() -> IMatrix: ...
    @overload
    def Create(elements: Set(Single)) -> IMatrix: ...
    @overload
    def Create(xx: Single, yx: Single, xy: Single, yy: Single, x0: Single, y0: Single) -> IMatrix: ...
    def FromRotation(angle: Single) -> IMatrix: ...
    @overload
    def FromRotationAt(angle: Single, center: PointF) -> IMatrix: ...
    @overload
    def FromRotationAt(angle: Single, centerX: Single, centerY: Single) -> IMatrix: ...
    @overload
    def FromScale(scale: SizeF) -> IMatrix: ...
    @overload
    def FromScale(scaleX: Single, scaleY: Single) -> IMatrix: ...
    @overload
    def FromScaleAt(scale: SizeF, center: PointF) -> IMatrix: ...
    @overload
    def FromScaleAt(scaleX: Single, scaleY: Single, centerX: Single, centerY: Single) -> IMatrix: ...
    def FromSkew(skewX: Single, skewY: Single) -> IMatrix: ...
    @overload
    def FromTranslation(offset: PointF) -> IMatrix: ...
    @overload
    def FromTranslation(offset: SizeF) -> IMatrix: ...
    @overload
    def FromTranslation(distanceX: Single, distanceY: Single) -> IMatrix: ...
    @property
    def Instantiator() -> Func: ...
    @property
    def InstantiatorWithElements() -> Func`7: ...
    def GetScale(matrix: IMatrix) -> PointF: ...
    def Inverse(matrix: IMatrix) -> IMatrix: ...
    def Multiply(matrix: IMatrix, matrices: Set(IMatrix)) -> IMatrix: ...
    def Prepend(matrix: IMatrix, matrices: Set(IMatrix)) -> None: ...
    def RotateAt(matrix: IMatrix, angle: Single, center: PointF) -> None: ...
    @overload
    def Scale(matrix: IMatrix, scale: Single) -> None: ...
    @overload
    def Scale(matrix: IMatrix, scale: SizeF) -> None: ...
    @overload
    def ScaleAt(matrix: IMatrix, scale: Single, center: PointF) -> None: ...
    @overload
    def ScaleAt(matrix: IMatrix, scale: SizeF, center: PointF) -> None: ...
    @overload
    def ScaleAt(matrix: IMatrix, scale: Single, centerX: Single, centerY: Single) -> None: ...
    def TransformRectangle(matrix: IMatrix, rect: RectangleF) -> RectangleF: ...
    def TransformSize(matrix: IMatrix, size: SizeF) -> SizeF: ...
    @overload
    def Translate(matrix: IMatrix, offset: PointF) -> None: ...
    @overload
    def Translate(matrix: IMatrix, offset: SizeF) -> None: ...


class Padding:
    @overload
    def __init__(self, all: int): ...
    @overload
    def __init__(self, horizontal: int, vertical: int): ...
    @overload
    def __init__(self, left: int, top: int, right: int, bottom: int): ...
    def Ceiling(padding: PaddingF) -> Padding: ...
    @overload
    def Equals(self, other: Padding) -> bool: ...
    @overload
    def Equals(self, obj: Object) -> bool: ...
    @property
    def Bottom(self) -> int: ...
    @property
    def Horizontal(self) -> int: ...
    @property
    def IsZero(self) -> bool: ...
    @property
    def Left(self) -> int: ...
    @property
    def Right(self) -> int: ...
    @property
    def Size(self) -> Size: ...
    @property
    def Top(self) -> int: ...
    @property
    def Vertical(self) -> int: ...
    def GetHashCode(self) -> int: ...
    def op_Addition(value1: Padding, value2: Padding) -> Padding: ...
    def op_Equality(value1: Padding, value2: Padding) -> bool: ...
    def op_Explicit(padding: PaddingF) -> Padding: ...
    def op_Implicit(all: int) -> Padding: ...
    def op_Inequality(value1: Padding, value2: Padding) -> bool: ...
    def op_Subtraction(value1: Padding, value2: Padding) -> Padding: ...
    def op_UnaryNegation(padding: Padding) -> Padding: ...
    def Round(padding: PaddingF) -> Padding: ...
    @Bottom.setter
    def Bottom(self, value: int) -> None: ...
    @Left.setter
    def Left(self, value: int) -> None: ...
    @Right.setter
    def Right(self, value: int) -> None: ...
    @Top.setter
    def Top(self, value: int) -> None: ...
    def ToString(self) -> str: ...
    def Truncate(padding: PaddingF) -> Padding: ...


class PaddingF:
    @overload
    def __init__(self, all: Single): ...
    @overload
    def __init__(self, horizontal: Single, vertical: Single): ...
    @overload
    def __init__(self, left: Single, top: Single, right: Single, bottom: Single): ...
    @overload
    def Equals(self, other: PaddingF) -> bool: ...
    @overload
    def Equals(self, obj: Object) -> bool: ...
    @property
    def Bottom(self) -> Single: ...
    @property
    def Horizontal(self) -> Single: ...
    @property
    def IsZero(self) -> bool: ...
    @property
    def Left(self) -> Single: ...
    @property
    def Right(self) -> Single: ...
    @property
    def Size(self) -> SizeF: ...
    @property
    def Top(self) -> Single: ...
    @property
    def Vertical(self) -> Single: ...
    def GetHashCode(self) -> int: ...
    def op_Addition(value1: PaddingF, value2: PaddingF) -> PaddingF: ...
    def op_Equality(value1: PaddingF, value2: PaddingF) -> bool: ...
    @overload
    def op_Implicit(all: Single) -> PaddingF: ...
    @overload
    def op_Implicit(padding: Padding) -> PaddingF: ...
    def op_Inequality(value1: PaddingF, value2: PaddingF) -> bool: ...
    def op_Subtraction(value1: PaddingF, value2: PaddingF) -> PaddingF: ...
    def op_UnaryNegation(padding: PaddingF) -> PaddingF: ...
    @Bottom.setter
    def Bottom(self, value: Single) -> None: ...
    @Left.setter
    def Left(self, value: Single) -> None: ...
    @Right.setter
    def Right(self, value: Single) -> None: ...
    @Top.setter
    def Top(self, value: Single) -> None: ...
    def ToString(self) -> str: ...


class Palette:
    @overload
    def __init__(self): ...
    @overload
    def __init__(self, colors: Iterable[Color]): ...
    def AddRange(self, colors: Iterable[Color]) -> None: ...
    def Clone(self) -> Palette: ...
    def Equals(self, obj: Object) -> bool: ...
    def FindAddColour(self, color: Color) -> int: ...
    def FindClosest(self, color: Color) -> int: ...
    def FromEGA(palEGA: Palette) -> Palette: ...
    @property
    def EGAColors() -> Set(int): ...
    def GetDosPalette() -> Palette: ...
    def GetEgaPalette() -> Palette: ...
    def GetHashCode(self) -> int: ...
    def GetRGBColor(self, index: int) -> int: ...
    def Load(self, reader: BinaryReader, size: int, shift: int, includeAlpha: bool) -> None: ...
    def Save(self, writer: BinaryWriter, shift: int, includeAlpha: bool) -> None: ...


class Pen:
    @overload
    def __init__(self, color: Color, thickness: Single): ...
    @overload
    def __init__(self, brush: Brush, thickness: Single): ...
    def Dispose(self) -> None: ...
    @property
    def Brush(self) -> Brush: ...
    @property
    def Color(self) -> Color: ...
    @property
    def ControlObject(self) -> Object: ...
    @property
    def DashStyle(self) -> DashStyle: ...
    @property
    def Handler(self) -> Object: ...
    @property
    def Instantiator() -> Func`3: ...
    @property
    def LineCap(self) -> PenLineCap: ...
    @property
    def LineJoin(self) -> PenLineJoin: ...
    @property
    def MiterLimit(self) -> Single: ...
    @property
    def Thickness(self) -> Single: ...
    @Color.setter
    def Color(self, value: Color) -> None: ...
    @ControlObject.setter
    def ControlObject(self, value: Object) -> None: ...
    @DashStyle.setter
    def DashStyle(self, value: DashStyle) -> None: ...
    @LineCap.setter
    def LineCap(self, value: PenLineCap) -> None: ...
    @LineJoin.setter
    def LineJoin(self, value: PenLineJoin) -> None: ...
    @MiterLimit.setter
    def MiterLimit(self, value: Single) -> None: ...
    @Thickness.setter
    def Thickness(self, value: Single) -> None: ...


class PenLineCap:
    Square = 0
    Butt = 1
    Round = 2


class PenLineJoin:
    Miter = 0
    Bevel = 1
    Round = 2


class Pens:
    def Cached(color: Color, thickness: Single, dashStyle: DashStyle) -> Pen: ...
    def ClearCache() -> None: ...
    @property
    def AliceBlue() -> Pen: ...
    @property
    def AntiqueWhite() -> Pen: ...
    @property
    def Aqua() -> Pen: ...
    @property
    def Aquamarine() -> Pen: ...
    @property
    def Azure() -> Pen: ...
    @property
    def Beige() -> Pen: ...
    @property
    def Bisque() -> Pen: ...
    @property
    def Black() -> Pen: ...
    @property
    def BlanchedAlmond() -> Pen: ...
    @property
    def Blue() -> Pen: ...
    @property
    def BlueViolet() -> Pen: ...
    @property
    def Brown() -> Pen: ...
    @property
    def BurlyWood() -> Pen: ...
    @property
    def CadetBlue() -> Pen: ...
    @property
    def Chartreuse() -> Pen: ...
    @property
    def Chocolate() -> Pen: ...
    @property
    def Coral() -> Pen: ...
    @property
    def CornflowerBlue() -> Pen: ...
    @property
    def Cornsilk() -> Pen: ...
    @property
    def Crimson() -> Pen: ...
    @property
    def Cyan() -> Pen: ...
    @property
    def DarkBlue() -> Pen: ...
    @property
    def DarkCyan() -> Pen: ...
    @property
    def DarkGoldenrod() -> Pen: ...
    @property
    def DarkGray() -> Pen: ...
    @property
    def DarkGreen() -> Pen: ...
    @property
    def DarkKhaki() -> Pen: ...
    @property
    def DarkMagenta() -> Pen: ...
    @property
    def DarkOliveGreen() -> Pen: ...
    @property
    def DarkOrange() -> Pen: ...
    @property
    def DarkOrchid() -> Pen: ...
    @property
    def DarkRed() -> Pen: ...
    @property
    def DarkSalmon() -> Pen: ...
    @property
    def DarkSeaGreen() -> Pen: ...
    @property
    def DarkSlateBlue() -> Pen: ...
    @property
    def DarkSlateGray() -> Pen: ...
    @property
    def DarkTurquoise() -> Pen: ...
    @property
    def DarkViolet() -> Pen: ...
    @property
    def DeepPink() -> Pen: ...
    @property
    def DeepSkyBlue() -> Pen: ...
    @property
    def DimGray() -> Pen: ...
    @property
    def DodgerBlue() -> Pen: ...
    @property
    def Firebrick() -> Pen: ...
    @property
    def FloralWhite() -> Pen: ...
    @property
    def ForestGreen() -> Pen: ...
    @property
    def Fuchsia() -> Pen: ...
    @property
    def Gainsboro() -> Pen: ...
    @property
    def GhostWhite() -> Pen: ...
    @property
    def Gold() -> Pen: ...
    @property
    def Goldenrod() -> Pen: ...
    @property
    def Gray() -> Pen: ...
    @property
    def Green() -> Pen: ...
    @property
    def GreenYellow() -> Pen: ...
    @property
    def Honeydew() -> Pen: ...
    @property
    def HotPink() -> Pen: ...
    @property
    def IndianRed() -> Pen: ...
    @property
    def Indigo() -> Pen: ...
    @property
    def Ivory() -> Pen: ...
    @property
    def Khaki() -> Pen: ...
    @property
    def Lavender() -> Pen: ...
    @property
    def LavenderBlush() -> Pen: ...
    @property
    def LawnGreen() -> Pen: ...
    @property
    def LemonChiffon() -> Pen: ...
    @property
    def LightBlue() -> Pen: ...
    @property
    def LightCoral() -> Pen: ...
    @property
    def LightCyan() -> Pen: ...
    @property
    def LightGoldenrodYellow() -> Pen: ...
    @property
    def LightGreen() -> Pen: ...
    @property
    def LightGrey() -> Pen: ...
    @property
    def LightPink() -> Pen: ...
    @property
    def LightSalmon() -> Pen: ...
    @property
    def LightSeaGreen() -> Pen: ...
    @property
    def LightSkyBlue() -> Pen: ...
    @property
    def LightSlateGray() -> Pen: ...
    @property
    def LightSteelBlue() -> Pen: ...
    @property
    def LightYellow() -> Pen: ...
    @property
    def Lime() -> Pen: ...
    @property
    def LimeGreen() -> Pen: ...
    @property
    def Linen() -> Pen: ...
    @property
    def Magenta() -> Pen: ...
    @property
    def Maroon() -> Pen: ...
    @property
    def MediumAquamarine() -> Pen: ...
    @property
    def MediumBlue() -> Pen: ...
    @property
    def MediumOrchid() -> Pen: ...
    @property
    def MediumPurple() -> Pen: ...
    @property
    def MediumSeaGreen() -> Pen: ...
    @property
    def MediumSlateBlue() -> Pen: ...
    @property
    def MediumSpringGreen() -> Pen: ...
    @property
    def MediumTurquoise() -> Pen: ...
    @property
    def MediumVioletRed() -> Pen: ...
    @property
    def MidnightBlue() -> Pen: ...
    @property
    def MintCream() -> Pen: ...
    @property
    def MistyRose() -> Pen: ...
    @property
    def Moccasin() -> Pen: ...
    @property
    def NavajoWhite() -> Pen: ...
    @property
    def Navy() -> Pen: ...
    @property
    def OldLace() -> Pen: ...
    @property
    def Olive() -> Pen: ...
    @property
    def OliveDrab() -> Pen: ...
    @property
    def Orange() -> Pen: ...
    @property
    def OrangeRed() -> Pen: ...
    @property
    def Orchid() -> Pen: ...
    @property
    def PaleGoldenrod() -> Pen: ...
    @property
    def PaleGreen() -> Pen: ...
    @property
    def PaleTurquoise() -> Pen: ...
    @property
    def PaleVioletRed() -> Pen: ...
    @property
    def PapayaWhip() -> Pen: ...
    @property
    def PeachPuff() -> Pen: ...
    @property
    def Peru() -> Pen: ...
    @property
    def Pink() -> Pen: ...
    @property
    def Plum() -> Pen: ...
    @property
    def PowderBlue() -> Pen: ...
    @property
    def Purple() -> Pen: ...
    @property
    def Red() -> Pen: ...
    @property
    def RosyBrown() -> Pen: ...
    @property
    def RoyalBlue() -> Pen: ...
    @property
    def SaddleBrown() -> Pen: ...
    @property
    def Salmon() -> Pen: ...
    @property
    def SandyBrown() -> Pen: ...
    @property
    def SeaGreen() -> Pen: ...
    @property
    def Seashell() -> Pen: ...
    @property
    def Sienna() -> Pen: ...
    @property
    def Silver() -> Pen: ...
    @property
    def SkyBlue() -> Pen: ...
    @property
    def SlateBlue() -> Pen: ...
    @property
    def SlateGray() -> Pen: ...
    @property
    def Snow() -> Pen: ...
    @property
    def SpringGreen() -> Pen: ...
    @property
    def SteelBlue() -> Pen: ...
    @property
    def Tan() -> Pen: ...
    @property
    def Teal() -> Pen: ...
    @property
    def Thistle() -> Pen: ...
    @property
    def Tomato() -> Pen: ...
    @property
    def Transparent() -> Pen: ...
    @property
    def Turquoise() -> Pen: ...
    @property
    def Violet() -> Pen: ...
    @property
    def Wheat() -> Pen: ...
    @property
    def White() -> Pen: ...
    @property
    def WhiteSmoke() -> Pen: ...
    @property
    def Yellow() -> Pen: ...
    @property
    def YellowGreen() -> Pen: ...


class PixelFormat:
    Format32bppRgb = 0
    Format24bppRgb = 1
    Format32bppRgba = 2


class PixelOffsetMode:
    #None = 0
    Half = 1
    Aligned = 2


class Point:
    @overload
    def __init__(self, size: Size): ...
    @overload
    def __init__(self, point: PointF): ...
    @overload
    def __init__(self, x: int, y: int): ...
    def Abs(point: Point) -> Point: ...
    @overload
    def Distance(self, point: Point) -> Single: ...
    @overload
    def Distance(point1: Point, point2: Point) -> Single: ...
    @overload
    def DotProduct(self, point: Point) -> int: ...
    @overload
    def DotProduct(point1: Point, point2: Point) -> int: ...
    @overload
    def Equals(self, obj: Object) -> bool: ...
    @overload
    def Equals(self, other: Point) -> bool: ...
    @property
    def IsZero(self) -> bool: ...
    @property
    def Length(self) -> Single: ...
    @property
    def LengthSquared(self) -> int: ...
    @property
    def Normal(self) -> Point: ...
    @property
    def UnitVector(self) -> PointF: ...
    @property
    def X(self) -> int: ...
    @property
    def Y(self) -> int: ...
    def GetHashCode(self) -> int: ...
    def Max(point1: Point, point2: Point) -> Point: ...
    def Min(point1: Point, point2: Point) -> Point: ...
    @overload
    def Offset(self, point: Point) -> None: ...
    @overload
    def Offset(self, x: int, y: int) -> None: ...
    @overload
    def Offset(point: Point, offset: Point) -> Point: ...
    @overload
    def Offset(point: Point, x: int, y: int) -> Point: ...
    @overload
    def op_Addition(point1: Point, point2: Point) -> Point: ...
    @overload
    def op_Addition(point: Point, size: Size) -> Point: ...
    @overload
    def op_Addition(point: Point, value: int) -> Point: ...
    @overload
    def op_Division(point: Point, value: int) -> Point: ...
    @overload
    def op_Division(point: Point, size: Size) -> Point: ...
    def op_Equality(point1: Point, point2: Point) -> bool: ...
    @overload
    def op_Explicit(point: PointF) -> Point: ...
    @overload
    def op_Explicit(size: Size) -> Point: ...
    def op_Inequality(point1: Point, point2: Point) -> bool: ...
    @overload
    def op_Multiply(factor: int, point: Point) -> Point: ...
    @overload
    def op_Multiply(point: Point, size: Size) -> Point: ...
    @overload
    def op_Multiply(point: Point, factor: Single) -> PointF: ...
    @overload
    def op_Multiply(point: Point, factor: int) -> Point: ...
    @overload
    def op_Multiply(point1: Point, point2: Point) -> Point: ...
    @overload
    def op_Subtraction(point: Point, size: Size) -> Point: ...
    @overload
    def op_Subtraction(point1: Point, point2: Point) -> Point: ...
    @overload
    def op_Subtraction(point: Point, value: int) -> Point: ...
    def op_UnaryNegation(point: Point) -> Point: ...
    @overload
    def Restrict(self, rectangle: Rectangle) -> None: ...
    @overload
    def Restrict(point: Point, rectangle: Rectangle) -> Point: ...
    def Round(point: PointF) -> Point: ...
    @X.setter
    def X(self, value: int) -> None: ...
    @Y.setter
    def Y(self, value: int) -> None: ...
    def ToString(self) -> str: ...
    def Truncate(point: PointF) -> Point: ...
    def UnitVectorAtAngle(angle: Single) -> PointF: ...


class PointF:
    @overload
    def __init__(self, size: SizeF): ...
    @overload
    def __init__(self, point: Point): ...
    @overload
    def __init__(self, x: Single, y: Single): ...
    def Abs(point: PointF) -> PointF: ...
    def AngleTo(self, destination: PointF) -> Single: ...
    @overload
    def Distance(self, point: PointF) -> Single: ...
    @overload
    def Distance(point1: PointF, point2: PointF) -> Single: ...
    @overload
    def DotProduct(self, point: PointF) -> Single: ...
    @overload
    def DotProduct(point1: PointF, point2: PointF) -> Single: ...
    @overload
    def Equals(self, other: PointF) -> bool: ...
    @overload
    def Equals(self, obj: Object) -> bool: ...
    @property
    def Angle(self) -> Single: ...
    @property
    def IsZero(self) -> bool: ...
    @property
    def Length(self) -> Single: ...
    @property
    def LengthSquared(self) -> Single: ...
    @property
    def Normal(self) -> PointF: ...
    @property
    def UnitVector(self) -> PointF: ...
    @property
    def X(self) -> Single: ...
    @property
    def Y(self) -> Single: ...
    def GetHashCode(self) -> int: ...
    def LengthTo(self, destination: PointF) -> Single: ...
    def Max(point1: PointF, point2: PointF) -> PointF: ...
    def Min(point1: PointF, point2: PointF) -> PointF: ...
    @overload
    def Offset(self, offset: PointF) -> None: ...
    @overload
    def Offset(point: PointF, offset: PointF) -> PointF: ...
    @overload
    def Offset(self, x: Single, y: Single) -> None: ...
    @overload
    def Offset(point: PointF, x: Single, y: Single) -> PointF: ...
    @overload
    def op_Addition(point: PointF, value: Single) -> PointF: ...
    @overload
    def op_Addition(point: PointF, size: SizeF) -> PointF: ...
    @overload
    def op_Addition(point1: PointF, point2: PointF) -> PointF: ...
    @overload
    def op_Division(point: PointF, value: Single) -> PointF: ...
    @overload
    def op_Division(point: PointF, size: SizeF) -> PointF: ...
    def op_Equality(point1: PointF, point2: PointF) -> bool: ...
    def op_Explicit(size: SizeF) -> PointF: ...
    def op_Implicit(point: Point) -> PointF: ...
    def op_Inequality(point1: PointF, point2: PointF) -> bool: ...
    @overload
    def op_Multiply(point: PointF, factor: Single) -> PointF: ...
    @overload
    def op_Multiply(point: PointF, size: SizeF) -> PointF: ...
    @overload
    def op_Multiply(point1: PointF, point2: PointF) -> PointF: ...
    @overload
    def op_Multiply(factor: Single, point: PointF) -> PointF: ...
    @overload
    def op_Subtraction(point: PointF, size: SizeF) -> PointF: ...
    @overload
    def op_Subtraction(point: PointF, value: Single) -> PointF: ...
    @overload
    def op_Subtraction(point1: PointF, point2: PointF) -> PointF: ...
    def op_UnaryNegation(point: PointF) -> PointF: ...
    @overload
    def Restrict(self, rectangle: RectangleF) -> None: ...
    @overload
    def Restrict(point: Point, rectangle: Rectangle) -> Point: ...
    @overload
    def Rotate(self, angle: Single) -> None: ...
    @overload
    def Rotate(point: PointF, angle: Single) -> PointF: ...
    @X.setter
    def X(self, value: Single) -> None: ...
    @Y.setter
    def Y(self, value: Single) -> None: ...
    def ToString(self) -> str: ...
    def UnitVectorAtAngle(angle: Single) -> PointF: ...


class RadialGradientBrush(Brush):
    def __init__(self, startColor: Color, endColor: Color, center: PointF, gradientOrigin: PointF, radius: SizeF): ...
    @property
    def Handler(self) -> Object: ...
    @property
    def Instantiator() -> Func`6: ...
    @property
    def Transform(self) -> IMatrix: ...
    @property
    def Wrap(self) -> GradientWrapMode: ...
    @Transform.setter
    def Transform(self, value: IMatrix) -> None: ...
    @Wrap.setter
    def Wrap(self, value: GradientWrapMode) -> None: ...


class Rectangle:
    @overload
    def __init__(self, size: Size): ...
    @overload
    def __init__(self, rectangle: RectangleF): ...
    @overload
    def __init__(self, start: Point, end: Point): ...
    @overload
    def __init__(self, location: Point, size: Size): ...
    @overload
    def __init__(self, x: int, y: int, width: int, height: int): ...
    @overload
    def Align(self, gridSize: Size) -> None: ...
    @overload
    def Align(self, gridWidth: int, gridHeight: int) -> None: ...
    @overload
    def Align(rectangle: Rectangle, gridSize: Size) -> Rectangle: ...
    @overload
    def Align(rectangle: Rectangle, gridWidth: int, gridHeight: int) -> Rectangle: ...
    def Ceiling(rectangle: RectangleF) -> Rectangle: ...
    @overload
    def Contains(self, point: Point) -> bool: ...
    @overload
    def Contains(self, rectangle: Rectangle) -> bool: ...
    @overload
    def Contains(self, x: int, y: int) -> bool: ...
    @overload
    def Equals(self, obj: Object) -> bool: ...
    @overload
    def Equals(self, other: Rectangle) -> bool: ...
    def FromCenter(center: Point, size: Size) -> Rectangle: ...
    def FromSides(left: int, top: int, right: int, bottom: int) -> Rectangle: ...
    @property
    def Bottom(self) -> int: ...
    @property
    def BottomLeft(self) -> Point: ...
    @property
    def BottomRight(self) -> Point: ...
    @property
    def Center(self) -> Point: ...
    @property
    def EndLocation(self) -> Point: ...
    @property
    def Height(self) -> int: ...
    @property
    def InnerBottom(self) -> int: ...
    @property
    def InnerBottomLeft(self) -> Point: ...
    @property
    def InnerBottomRight(self) -> Point: ...
    @property
    def InnerRight(self) -> int: ...
    @property
    def InnerTopRight(self) -> Point: ...
    @property
    def IsEmpty(self) -> bool: ...
    @property
    def IsZero(self) -> bool: ...
    @property
    def Left(self) -> int: ...
    @property
    def Location(self) -> Point: ...
    @property
    def MiddleBottom(self) -> Point: ...
    @property
    def MiddleLeft(self) -> Point: ...
    @property
    def MiddleRight(self) -> Point: ...
    @property
    def MiddleTop(self) -> Point: ...
    @property
    def MiddleX(self) -> int: ...
    @property
    def MiddleY(self) -> int: ...
    @property
    def Right(self) -> int: ...
    @property
    def Size(self) -> Size: ...
    @property
    def Top(self) -> int: ...
    @property
    def TopLeft(self) -> Point: ...
    @property
    def TopRight(self) -> Point: ...
    @property
    def Width(self) -> int: ...
    @property
    def X(self) -> int: ...
    @property
    def Y(self) -> int: ...
    def GetHashCode(self) -> int: ...
    @overload
    def Inflate(self, size: Size) -> None: ...
    @overload
    def Inflate(rectangle: Rectangle, size: Size) -> Rectangle: ...
    @overload
    def Inflate(self, width: int, height: int) -> None: ...
    @overload
    def Inflate(rectangle: Rectangle, width: int, height: int) -> Rectangle: ...
    @overload
    def Inset(self, padding: Padding) -> None: ...
    @overload
    def Inset(rectangle: Rectangle, padding: Padding) -> Rectangle: ...
    @overload
    def Intersect(self, rectangle: Rectangle) -> None: ...
    @overload
    def Intersect(rect1: Rectangle, rect2: Rectangle) -> Rectangle: ...
    def Intersects(self, rectangle: Rectangle) -> bool: ...
    def Normalize(self) -> None: ...
    @overload
    def Offset(self, size: Size) -> None: ...
    @overload
    def Offset(self, point: Point) -> None: ...
    @overload
    def Offset(rectangle: Rectangle, size: Size) -> Rectangle: ...
    @overload
    def Offset(rectangle: Rectangle, point: Point) -> Rectangle: ...
    @overload
    def Offset(self, x: int, y: int) -> None: ...
    @overload
    def Offset(rectangle: Rectangle, x: int, y: int) -> Rectangle: ...
    @overload
    def op_Addition(rectangle: Rectangle, offset: Point) -> Rectangle: ...
    @overload
    def op_Addition(rectangle: Rectangle, offset: Size) -> Rectangle: ...
    @overload
    def op_Addition(rectangle: Rectangle, padding: Padding) -> Rectangle: ...
    @overload
    def op_Division(rectangle: Rectangle, factor: int) -> Rectangle: ...
    @overload
    def op_Division(rectangle: Rectangle, size: Size) -> Rectangle: ...
    def op_Equality(rect1: Rectangle, rect2: Rectangle) -> bool: ...
    def op_Explicit(rectangle: RectangleF) -> Rectangle: ...
    def op_Inequality(rect1: Rectangle, rect2: Rectangle) -> bool: ...
    @overload
    def op_Multiply(rectangle: Rectangle, size: Size) -> Rectangle: ...
    @overload
    def op_Multiply(rectangle: Rectangle, factor: int) -> Rectangle: ...
    @overload
    def op_Subtraction(rectangle: Rectangle, padding: Padding) -> Rectangle: ...
    @overload
    def op_Subtraction(rectangle: Rectangle, offset: Point) -> Rectangle: ...
    @overload
    def op_Subtraction(rectangle: Rectangle, offset: Size) -> Rectangle: ...
    @overload
    def Restrict(self, size: Size) -> None: ...
    @overload
    def Restrict(self, rectangle: Rectangle) -> None: ...
    @overload
    def Restrict(self, location: Point, size: Size) -> None: ...
    @overload
    def Restrict(rectangle: Rectangle, restrict: Rectangle) -> Rectangle: ...
    @overload
    def Restrict(rectangle: Rectangle, size: Size) -> Rectangle: ...
    def Round(rectangle: RectangleF) -> Rectangle: ...
    @Bottom.setter
    def Bottom(self, value: int) -> None: ...
    @BottomLeft.setter
    def BottomLeft(self, value: Point) -> None: ...
    @BottomRight.setter
    def BottomRight(self, value: Point) -> None: ...
    @Center.setter
    def Center(self, value: Point) -> None: ...
    @EndLocation.setter
    def EndLocation(self, value: Point) -> None: ...
    @Height.setter
    def Height(self, value: int) -> None: ...
    @InnerBottom.setter
    def InnerBottom(self, value: int) -> None: ...
    @InnerBottomLeft.setter
    def InnerBottomLeft(self, value: Point) -> None: ...
    @InnerBottomRight.setter
    def InnerBottomRight(self, value: Point) -> None: ...
    @InnerRight.setter
    def InnerRight(self, value: int) -> None: ...
    @InnerTopRight.setter
    def InnerTopRight(self, value: Point) -> None: ...
    @Left.setter
    def Left(self, value: int) -> None: ...
    @Location.setter
    def Location(self, value: Point) -> None: ...
    @MiddleBottom.setter
    def MiddleBottom(self, value: Point) -> None: ...
    @MiddleLeft.setter
    def MiddleLeft(self, value: Point) -> None: ...
    @MiddleRight.setter
    def MiddleRight(self, value: Point) -> None: ...
    @MiddleTop.setter
    def MiddleTop(self, value: Point) -> None: ...
    @MiddleX.setter
    def MiddleX(self, value: int) -> None: ...
    @MiddleY.setter
    def MiddleY(self, value: int) -> None: ...
    @Right.setter
    def Right(self, value: int) -> None: ...
    @Size.setter
    def Size(self, value: Size) -> None: ...
    @Top.setter
    def Top(self, value: int) -> None: ...
    @TopLeft.setter
    def TopLeft(self, value: Point) -> None: ...
    @TopRight.setter
    def TopRight(self, value: Point) -> None: ...
    @Width.setter
    def Width(self, value: int) -> None: ...
    @X.setter
    def X(self, value: int) -> None: ...
    @Y.setter
    def Y(self, value: int) -> None: ...
    def ToString(self) -> str: ...
    def Truncate(rectangle: RectangleF) -> Rectangle: ...
    @overload
    def Union(self, rectangle: Rectangle) -> None: ...
    @overload
    def Union(rect1: Rectangle, rect2: Rectangle) -> Rectangle: ...


class RectangleF:
    @overload
    def __init__(self, rectangle: Rectangle): ...
    @overload
    def __init__(self, size: SizeF): ...
    @overload
    def __init__(self, start: PointF, end: PointF): ...
    @overload
    def __init__(self, location: PointF, size: SizeF): ...
    @overload
    def __init__(self, x: Single, y: Single, width: Single, height: Single): ...
    @overload
    def Align(self, gridSize: SizeF) -> None: ...
    @overload
    def Align(self, gridWidth: Single, gridHeight: Single) -> None: ...
    @overload
    def Align(rectangle: RectangleF, gridSize: SizeF) -> RectangleF: ...
    @overload
    def Align(rectangle: RectangleF, gridWidth: Single, gridHeight: Single) -> RectangleF: ...
    @overload
    def Contains(self, point: PointF) -> bool: ...
    @overload
    def Contains(self, rectangle: RectangleF) -> bool: ...
    @overload
    def Contains(self, x: Single, y: Single) -> bool: ...
    @overload
    def Distance(rect: RectangleF, point: PointF) -> SizeF: ...
    @overload
    def Distance(rect1: RectangleF, rect2: RectangleF) -> SizeF: ...
    @overload
    def Equals(self, other: RectangleF) -> bool: ...
    @overload
    def Equals(self, obj: Object) -> bool: ...
    def FromCenter(center: PointF, size: SizeF) -> RectangleF: ...
    def FromSides(left: Single, top: Single, right: Single, bottom: Single) -> RectangleF: ...
    @property
    def Bottom(self) -> Single: ...
    @property
    def BottomLeft(self) -> PointF: ...
    @property
    def BottomRight(self) -> PointF: ...
    @property
    def Center(self) -> PointF: ...
    @property
    def EndLocation(self) -> PointF: ...
    @property
    def Height(self) -> Single: ...
    @property
    def InnerBottom(self) -> Single: ...
    @property
    def InnerBottomLeft(self) -> PointF: ...
    @property
    def InnerBottomRight(self) -> PointF: ...
    @property
    def InnerRight(self) -> Single: ...
    @property
    def InnerTopRight(self) -> PointF: ...
    @property
    def IsEmpty(self) -> bool: ...
    @property
    def IsZero(self) -> bool: ...
    @property
    def Left(self) -> Single: ...
    @property
    def Location(self) -> PointF: ...
    @property
    def MiddleBottom(self) -> PointF: ...
    @property
    def MiddleLeft(self) -> PointF: ...
    @property
    def MiddleRight(self) -> PointF: ...
    @property
    def MiddleTop(self) -> PointF: ...
    @property
    def MiddleX(self) -> Single: ...
    @property
    def MiddleY(self) -> Single: ...
    @property
    def Right(self) -> Single: ...
    @property
    def Size(self) -> SizeF: ...
    @property
    def Top(self) -> Single: ...
    @property
    def TopLeft(self) -> PointF: ...
    @property
    def TopRight(self) -> PointF: ...
    @property
    def Width(self) -> Single: ...
    @property
    def X(self) -> Single: ...
    @property
    def Y(self) -> Single: ...
    def GetHashCode(self) -> int: ...
    @overload
    def Inflate(self, size: SizeF) -> None: ...
    @overload
    def Inflate(rectangle: RectangleF, size: SizeF) -> RectangleF: ...
    @overload
    def Inflate(self, width: Single, height: Single) -> None: ...
    @overload
    def Inflate(rectangle: RectangleF, width: Single, height: Single) -> RectangleF: ...
    @overload
    def Inset(self, padding: PaddingF) -> None: ...
    @overload
    def Inset(rectangle: RectangleF, padding: PaddingF) -> RectangleF: ...
    @overload
    def Intersect(self, rectangle: RectangleF) -> None: ...
    @overload
    def Intersect(rect1: RectangleF, rect2: RectangleF) -> RectangleF: ...
    def Intersects(self, rectangle: RectangleF) -> bool: ...
    def Normalize(self) -> None: ...
    @overload
    def Offset(self, point: PointF) -> None: ...
    @overload
    def Offset(self, size: SizeF) -> None: ...
    @overload
    def Offset(rectangle: RectangleF, size: SizeF) -> RectangleF: ...
    @overload
    def Offset(rectangle: RectangleF, point: PointF) -> RectangleF: ...
    @overload
    def Offset(self, x: Single, y: Single) -> None: ...
    @overload
    def Offset(rectangle: RectangleF, x: Single, y: Single) -> RectangleF: ...
    @overload
    def op_Addition(rectangle: RectangleF, padding: PaddingF) -> RectangleF: ...
    @overload
    def op_Addition(rectangle: RectangleF, offset: SizeF) -> RectangleF: ...
    @overload
    def op_Addition(rectangle: RectangleF, offset: PointF) -> RectangleF: ...
    @overload
    def op_Division(rectangle: RectangleF, size: SizeF) -> RectangleF: ...
    @overload
    def op_Division(rectangle: RectangleF, factor: Single) -> RectangleF: ...
    def op_Equality(rect1: RectangleF, rect2: RectangleF) -> bool: ...
    def op_Implicit(rectangle: Rectangle) -> RectangleF: ...
    def op_Inequality(rect1: RectangleF, rect2: RectangleF) -> bool: ...
    @overload
    def op_Multiply(rectangle: RectangleF, factor: Single) -> RectangleF: ...
    @overload
    def op_Multiply(rectangle: RectangleF, size: SizeF) -> RectangleF: ...
    @overload
    def op_Subtraction(rectangle: RectangleF, padding: PaddingF) -> RectangleF: ...
    @overload
    def op_Subtraction(rectangle: RectangleF, offset: SizeF) -> RectangleF: ...
    @overload
    def op_Subtraction(rectangle: RectangleF, offset: PointF) -> RectangleF: ...
    @overload
    def Restrict(self, rectangle: RectangleF) -> None: ...
    @overload
    def Restrict(self, size: SizeF) -> None: ...
    @overload
    def Restrict(rectangle: Rectangle, restrict: Rectangle) -> Rectangle: ...
    @overload
    def Restrict(self, point: PointF, size: SizeF) -> None: ...
    @Bottom.setter
    def Bottom(self, value: Single) -> None: ...
    @BottomLeft.setter
    def BottomLeft(self, value: PointF) -> None: ...
    @BottomRight.setter
    def BottomRight(self, value: PointF) -> None: ...
    @Center.setter
    def Center(self, value: PointF) -> None: ...
    @EndLocation.setter
    def EndLocation(self, value: PointF) -> None: ...
    @Height.setter
    def Height(self, value: Single) -> None: ...
    @InnerBottom.setter
    def InnerBottom(self, value: Single) -> None: ...
    @InnerBottomLeft.setter
    def InnerBottomLeft(self, value: PointF) -> None: ...
    @InnerBottomRight.setter
    def InnerBottomRight(self, value: PointF) -> None: ...
    @InnerRight.setter
    def InnerRight(self, value: Single) -> None: ...
    @InnerTopRight.setter
    def InnerTopRight(self, value: PointF) -> None: ...
    @Left.setter
    def Left(self, value: Single) -> None: ...
    @Location.setter
    def Location(self, value: PointF) -> None: ...
    @MiddleBottom.setter
    def MiddleBottom(self, value: PointF) -> None: ...
    @MiddleLeft.setter
    def MiddleLeft(self, value: PointF) -> None: ...
    @MiddleRight.setter
    def MiddleRight(self, value: PointF) -> None: ...
    @MiddleTop.setter
    def MiddleTop(self, value: PointF) -> None: ...
    @MiddleX.setter
    def MiddleX(self, value: Single) -> None: ...
    @MiddleY.setter
    def MiddleY(self, value: Single) -> None: ...
    @Right.setter
    def Right(self, value: Single) -> None: ...
    @Size.setter
    def Size(self, value: SizeF) -> None: ...
    @Top.setter
    def Top(self, value: Single) -> None: ...
    @TopLeft.setter
    def TopLeft(self, value: PointF) -> None: ...
    @TopRight.setter
    def TopRight(self, value: PointF) -> None: ...
    @Width.setter
    def Width(self, value: Single) -> None: ...
    @X.setter
    def X(self, value: Single) -> None: ...
    @Y.setter
    def Y(self, value: Single) -> None: ...
    def ToString(self) -> str: ...
    @overload
    def Union(self, rectangle: RectangleF) -> None: ...
    @overload
    def Union(rect1: RectangleF, rect2: RectangleF) -> RectangleF: ...


class Region(Widget):
    def __init__(self): ...
    def Exclude(self, rectangle: Rectangle) -> None: ...
    def Reset(self) -> None: ...
    def Set(self, rectangle: Rectangle) -> None: ...


class Size:
    @overload
    def __init__(self, point: Point): ...
    @overload
    def __init__(self, size: SizeF): ...
    @overload
    def __init__(self, width: int, height: int): ...
    def Abs(size: Size) -> Size: ...
    def Ceiling(size: SizeF) -> Size: ...
    @overload
    def Contains(self, point: Point) -> bool: ...
    @overload
    def Contains(self, x: int, y: int) -> bool: ...
    @overload
    def Equals(self, obj: Object) -> bool: ...
    @overload
    def Equals(self, other: Size) -> bool: ...
    def FitTo(self, constraint: Size) -> Size: ...
    @property
    def Height(self) -> int: ...
    @property
    def IsEmpty(self) -> bool: ...
    @property
    def IsZero(self) -> bool: ...
    @property
    def Width(self) -> int: ...
    def GetHashCode(self) -> int: ...
    def Max(size1: Size, size2: Size) -> Size: ...
    def Min(size1: Size, size2: Size) -> Size: ...
    @overload
    def op_Addition(size: Size, value: int) -> Size: ...
    @overload
    def op_Addition(size1: Size, size2: Size) -> Size: ...
    @overload
    def op_Addition(size: Size, point: Point) -> Size: ...
    @overload
    def op_Division(size1: Size, size2: Size) -> Size: ...
    @overload
    def op_Division(size: Size, factor: int) -> Size: ...
    def op_Equality(size1: Size, size2: Size) -> bool: ...
    @overload
    def op_Explicit(size: SizeF) -> Size: ...
    @overload
    def op_Explicit(point: Point) -> Size: ...
    def op_Inequality(size1: Size, size2: Size) -> bool: ...
    @overload
    def op_Multiply(factor: int, size: Size) -> Size: ...
    @overload
    def op_Multiply(size: Size, factor: Single) -> SizeF: ...
    @overload
    def op_Multiply(size1: Size, size2: Size) -> Size: ...
    @overload
    def op_Multiply(size: Size, factor: int) -> Size: ...
    @overload
    def op_Subtraction(size1: Size, size2: Size) -> Size: ...
    @overload
    def op_Subtraction(size: Size, point: Point) -> Size: ...
    @overload
    def op_Subtraction(size: Size, value: int) -> Size: ...
    def op_UnaryNegation(size: Size) -> Size: ...
    def Round(size: SizeF) -> Size: ...
    @Height.setter
    def Height(self, value: int) -> None: ...
    @Width.setter
    def Width(self, value: int) -> None: ...
    def ToString(self) -> str: ...
    def Truncate(size: SizeF) -> Size: ...


class SizeF:
    @overload
    def __init__(self, point: PointF): ...
    @overload
    def __init__(self, width: Single, height: Single): ...
    def Abs(size: SizeF) -> SizeF: ...
    @overload
    def Contains(self, point: PointF) -> bool: ...
    @overload
    def Contains(self, x: Single, y: Single) -> bool: ...
    @overload
    def Equals(self, obj: Object) -> bool: ...
    @overload
    def Equals(self, other: SizeF) -> bool: ...
    def FitTo(self, constraint: SizeF) -> SizeF: ...
    @property
    def Height(self) -> Single: ...
    @property
    def IsEmpty(self) -> bool: ...
    @property
    def IsZero(self) -> bool: ...
    @property
    def Width(self) -> Single: ...
    def GetHashCode(self) -> int: ...
    def Max(size1: SizeF, size2: SizeF) -> SizeF: ...
    def Min(size1: SizeF, size2: SizeF) -> SizeF: ...
    @overload
    def op_Addition(size: SizeF, value: Single) -> SizeF: ...
    @overload
    def op_Addition(size1: SizeF, size2: SizeF) -> SizeF: ...
    @overload
    def op_Division(size1: SizeF, size2: SizeF) -> SizeF: ...
    @overload
    def op_Division(size: SizeF, factor: Single) -> SizeF: ...
    def op_Equality(size1: SizeF, size2: SizeF) -> bool: ...
    def op_Explicit(point: PointF) -> SizeF: ...
    def op_Implicit(size: Size) -> SizeF: ...
    def op_Inequality(size1: SizeF, size2: SizeF) -> bool: ...
    @overload
    def op_Multiply(factor: Single, size: SizeF) -> SizeF: ...
    @overload
    def op_Multiply(size: SizeF, factor: Single) -> SizeF: ...
    @overload
    def op_Multiply(size1: SizeF, size2: SizeF) -> SizeF: ...
    @overload
    def op_Subtraction(size1: SizeF, size2: SizeF) -> SizeF: ...
    @overload
    def op_Subtraction(size: SizeF, value: Single) -> SizeF: ...
    def op_UnaryNegation(size: SizeF) -> SizeF: ...
    @Height.setter
    def Height(self, value: Single) -> None: ...
    @Width.setter
    def Width(self, value: Single) -> None: ...
    def ToString(self) -> str: ...


class SolidBrush(Brush):
    def __init__(self, color: Color): ...
    @property
    def Color(self) -> Color: ...
    @property
    def Handler(self) -> Object: ...
    @property
    def Instantiator() -> Func: ...
    @Color.setter
    def Color(self, value: Color) -> None: ...


class SystemColors:
    @property
    def Control() -> Color: ...
    @property
    def ControlBackground() -> Color: ...
    @property
    def ControlText() -> Color: ...
    @property
    def DisabledText() -> Color: ...
    @property
    def Highlight() -> Color: ...
    @property
    def HighlightText() -> Color: ...
    @property
    def LinkText() -> Color: ...
    @property
    def Selection() -> Color: ...
    @property
    def SelectionText() -> Color: ...
    @property
    def WindowBackground() -> Color: ...


class SystemFont:
    Default = 0
    Bold = 1
    Label = 2
    TitleBar = 3
    ToolTip = 4
    MenuBar = 5
    Menu = 6
    Message = 7
    Palette = 8
    StatusBar = 9
    User = 10


class SystemFonts:
    def Bold(size: Nullable, decoration: FontDecoration) -> Font: ...
    def Cached(systemFont: SystemFont, size: Nullable, decoration: FontDecoration) -> Font: ...
    def ClearCache() -> None: ...
    def Default(size: Nullable, decoration: FontDecoration) -> Font: ...
    def Label(size: Nullable, decoration: FontDecoration) -> Font: ...
    def Menu(size: Nullable, decoration: FontDecoration) -> Font: ...
    def MenuBar(size: Nullable, decoration: FontDecoration) -> Font: ...
    def Message(size: Nullable, decoration: FontDecoration) -> Font: ...
    def Palette(size: Nullable, decoration: FontDecoration) -> Font: ...
    def StatusBar(size: Nullable, decoration: FontDecoration) -> Font: ...
    def TitleBar(size: Nullable, decoration: FontDecoration) -> Font: ...
    def ToolTip(size: Nullable, decoration: FontDecoration) -> Font: ...
    def User(size: Nullable, decoration: FontDecoration) -> Font: ...


class TextureBrush(Brush):
    def __init__(self, image: Image, opacity: Single): ...
    @property
    def Handler(self) -> Object: ...
    @property
    def Image(self) -> Image: ...
    @property
    def Instantiator() -> Func`3: ...
    @property
    def Opacity(self) -> Single: ...
    @property
    def Transform(self) -> IMatrix: ...
    @Opacity.setter
    def Opacity(self, value: Single) -> None: ...
    @Transform.setter
    def Transform(self, value: IMatrix) -> None: ...
