# This file was automatically generated by SWIG (https://www.swig.org).
# Version 4.1.1
#
# Do not make changes to this file unless you know what you are doing - modify
# the SWIG interface file instead.

from sys import version_info as _swig_python_version_info
# Import the low-level C/C++ module
if __package__ or "." in __name__:
    from . import _pixelselectioncourier
else:
    import _pixelselectioncourier

try:
    import builtins as __builtin__
except ImportError:
    import __builtin__

def _swig_repr(self):
    try:
        strthis = "proxy of " + self.this.__repr__()
    except __builtin__.Exception:
        strthis = ""
    return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)


def _swig_setattr_nondynamic_instance_variable(set):
    def set_instance_attr(self, name, value):
        if name == "this":
            set(self, name, value)
        elif name == "thisown":
            self.this.own(value)
        elif hasattr(self, name) and isinstance(getattr(type(self), name), property):
            set(self, name, value)
        else:
            raise AttributeError("You cannot add instance attributes to %s" % self)
    return set_instance_attr


def _swig_setattr_nondynamic_class_variable(set):
    def set_class_attr(cls, name, value):
        if hasattr(cls, name) and not isinstance(getattr(cls, name), property):
            set(cls, name, value)
        else:
            raise AttributeError("You cannot add class attributes to %s" % cls)
    return set_class_attr


def _swig_add_metaclass(metaclass):
    """Class decorator for adding a metaclass to a SWIG wrapped class - a slimmed down version of six.add_metaclass"""
    def wrapper(cls):
        return metaclass(cls.__name__, cls.__bases__, cls.__dict__.copy())
    return wrapper


class _SwigNonDynamicMeta(type):
    """Meta class to enforce nondynamic attributes (no new attributes) for a class"""
    __setattr__ = _swig_setattr_nondynamic_class_variable(type.__setattr__)


import ooflib.SWIG.common.coord
class PixelSelectionCourier(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined")

    def __repr__(self):
        return _pixelselectioncourier.PixelSelectionCourier___repr__(self)
    __swig_destroy__ = _pixelselectioncourier.delete_PixelSelectionCourier

# Register PixelSelectionCourier in _pixelselectioncourier:
_pixelselectioncourier.PixelSelectionCourier_swigregister(PixelSelectionCourier)
class PointSelection(PixelSelectionCourier):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, arg2, Point):
        _pixelselectioncourier.PointSelection_swiginit(self, _pixelselectioncourier.new_PointSelection(arg2, Point))
    __swig_destroy__ = _pixelselectioncourier.delete_PointSelection

# Register PointSelection in _pixelselectioncourier:
_pixelselectioncourier.PointSelection_swigregister(PointSelection)
class BrushSelection(PixelSelectionCourier):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, arg2, arg3, PointList):
        _pixelselectioncourier.BrushSelection_swiginit(self, _pixelselectioncourier.new_BrushSelection(arg2, arg3, PointList))
    __swig_destroy__ = _pixelselectioncourier.delete_BrushSelection

# Register BrushSelection in _pixelselectioncourier:
_pixelselectioncourier.BrushSelection_swigregister(BrushSelection)
class RectangleSelection(PixelSelectionCourier):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, arg2, arg3, arg4):
        _pixelselectioncourier.RectangleSelection_swiginit(self, _pixelselectioncourier.new_RectangleSelection(arg2, arg3, arg4))
    __swig_destroy__ = _pixelselectioncourier.delete_RectangleSelection

# Register RectangleSelection in _pixelselectioncourier:
_pixelselectioncourier.RectangleSelection_swigregister(RectangleSelection)
class CircleSelection(PixelSelectionCourier):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, arg2, arg3, arg4, arg5, arg6):
        _pixelselectioncourier.CircleSelection_swiginit(self, _pixelselectioncourier.new_CircleSelection(arg2, arg3, arg4, arg5, arg6))
    __swig_destroy__ = _pixelselectioncourier.delete_CircleSelection

# Register CircleSelection in _pixelselectioncourier:
_pixelselectioncourier.CircleSelection_swigregister(CircleSelection)
class EllipseSelection(PixelSelectionCourier):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, arg2, arg3, arg4):
        _pixelselectioncourier.EllipseSelection_swiginit(self, _pixelselectioncourier.new_EllipseSelection(arg2, arg3, arg4))
    __swig_destroy__ = _pixelselectioncourier.delete_EllipseSelection

# Register EllipseSelection in _pixelselectioncourier:
_pixelselectioncourier.EllipseSelection_swigregister(EllipseSelection)
class GroupSelection(PixelSelectionCourier):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, arg2, arg3):
        _pixelselectioncourier.GroupSelection_swiginit(self, _pixelselectioncourier.new_GroupSelection(arg2, arg3))
    __swig_destroy__ = _pixelselectioncourier.delete_GroupSelection

# Register GroupSelection in _pixelselectioncourier:
_pixelselectioncourier.GroupSelection_swigregister(GroupSelection)
class IntersectSelection(PixelSelectionCourier):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, arg2, arg3, arg4):
        _pixelselectioncourier.IntersectSelection_swiginit(self, _pixelselectioncourier.new_IntersectSelection(arg2, arg3, arg4))
    __swig_destroy__ = _pixelselectioncourier.delete_IntersectSelection

# Register IntersectSelection in _pixelselectioncourier:
_pixelselectioncourier.IntersectSelection_swigregister(IntersectSelection)
class DespeckleSelection(PixelSelectionCourier):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, arg2, arg3, arg4):
        _pixelselectioncourier.DespeckleSelection_swiginit(self, _pixelselectioncourier.new_DespeckleSelection(arg2, arg3, arg4))
    __swig_destroy__ = _pixelselectioncourier.delete_DespeckleSelection

# Register DespeckleSelection in _pixelselectioncourier:
_pixelselectioncourier.DespeckleSelection_swigregister(DespeckleSelection)
class ElkcepsedSelection(PixelSelectionCourier):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, arg2, arg3, arg4):
        _pixelselectioncourier.ElkcepsedSelection_swiginit(self, _pixelselectioncourier.new_ElkcepsedSelection(arg2, arg3, arg4))
    __swig_destroy__ = _pixelselectioncourier.delete_ElkcepsedSelection

# Register ElkcepsedSelection in _pixelselectioncourier:
_pixelselectioncourier.ElkcepsedSelection_swigregister(ElkcepsedSelection)
class ExpandSelection(PixelSelectionCourier):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, arg2, arg3, arg4):
        _pixelselectioncourier.ExpandSelection_swiginit(self, _pixelselectioncourier.new_ExpandSelection(arg2, arg3, arg4))
    __swig_destroy__ = _pixelselectioncourier.delete_ExpandSelection

# Register ExpandSelection in _pixelselectioncourier:
_pixelselectioncourier.ExpandSelection_swigregister(ExpandSelection)
class ShrinkSelection(PixelSelectionCourier):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, arg2, arg3, arg4):
        _pixelselectioncourier.ShrinkSelection_swiginit(self, _pixelselectioncourier.new_ShrinkSelection(arg2, arg3, arg4))
    __swig_destroy__ = _pixelselectioncourier.delete_ShrinkSelection

# Register ShrinkSelection in _pixelselectioncourier:
_pixelselectioncourier.ShrinkSelection_swigregister(ShrinkSelection)

