コード例 #1
0
def SingleContextHandlerInstance(context_code):
    try:
        c = dsight.ContextHandler(context_code, 3, 3)
        c = dsight.ContextHandler(context_code, 3, 3)

    except dsight.PythonExceptionWrapper as e:
        message, code = e.args
        if code == dsight.EXCEPTION_CODE_MULTIPLE_CONTEXT:
            return True

        raise e

    return False
コード例 #2
0
def DestructorResetStates(context_code):
    try:
        c1 = dsight.ContextHandler(context_code, 3, 3)
        c1 = None
        c2 = dsight.ContextHandler(context_code, 3, 3)

    except dsight.PythonExceptionWrapper as e:
        message, code = e.args
        if code == dsight.EXCEPTION_CODE_MULTIPLE_CONTEXT:
            return False
        raise e

    return True
コード例 #3
0
def AddOutOfBoundViewport(context_code):
    context = dsight.ContextHandler(context_code, 3, 3)
    canvas = context.AddCanvas(2, 2, None)
    try:
        canvas.AddViewport(0, 0, 4, 4)

    except dsight.PythonExceptionWrapper as e:
        message, code = e.args
        if code == dsight.EXCEPTION_CODE_INVALID_COORDINATES_OUT_OF_BOUNDS:
            return 1

        raise e

    return 0
コード例 #4
0
def ZeroSubdivision(context_code):
    context = dsight.ContextHandler(context_code, 3, 3)
    canvas = context.AddCanvas(0, 0, None)
    try:
        canvas.AddViewport(0, 0, 1, 1)

    except dsight.PythonExceptionWrapper as e:
        message, code = e.args
        if e.code == dsight.EXCEPTION_CODE_INVALID_COORDINATES_OUT_OF_BOUNDS:
            return 0

        raise e

    return 1
コード例 #5
0
def PreventViewportOverlapFromZeroZeroToOneOne(context_code):
    context = dsight.ContextHandler(context_code, 3, 3)
    canvas = context.AddCanvas(2, 2, None)
    canvas.AddViewport(0, 0, 1, 1)
    try:
        canvas.AddViewport(0, 0, 1, 1)

    except dsight.PythonExceptionWrapper as e:
        message, code = e.args
        if code == dsight.EXCEPTION_CODE_INVALID_COORDINATES_OVERLAP:
            return 1

        raise e

    return 0
コード例 #6
0
def DoNotOverlap(context_code):
    context = dsight.ContextHandler(context_code, 3, 3)
    canvas = context.AddCanvas(4, 4, None)
    canvas.AddViewport(0, 0, 2, 2)
    try:
        canvas.AddViewport(2, 2, 5, 5)

    except dsight.PythonExceptionWrapper as e:
        message, code = e.args
        if code == dsight.EXCEPTION_CODE_INVALID_COORDINATES_OVERLAP:
            return 0

        raise e

    return 1
コード例 #7
0
def CheckRefCountSetDefaultCanvasSize(context_code):
    r1 = dsight.ContextHandler(context_code, 3, 3)
    r2 = r1.SetDefaultCanvasSize(100, 100)
    return sys.getrefcount(r1) == 3
コード例 #8
0
def CheckRefCountChainWhithSetDefaultCanvasSize(context_code):
    context = dsight.ContextHandler(context_code, 3,
                                    3).SetDefaultCanvasSize(100, 100)
    return sys.getrefcount(context) == 2
コード例 #9
0
def ChainWhithSetDefaultCanvasSize(context_code):
    context = dsight.ContextHandler(context_code, 3,
                                    3).SetDefaultCanvasSize(100, 100)
    return type(context) == dsight.ContextHandler
コード例 #10
0
def SetDefaultCanvasSizeMustReturnItself(context_code):
    context = dsight.ContextHandler(context_code, 3, 3)
    return context == context.SetDefaultCanvasSize(100, 100)
コード例 #11
0
def CannotRemoveCanvasViewportTwice(context_code):
    context = dsight.ContextHandler(context_code, 3, 3)
    canvas = context.AddCanvas(0, 0, None)
    context.RemoveCanvas(canvas)
    return not context.RemoveCanvas(canvas)
コード例 #12
0
def RemoveCanvas(context_code):
    context = dsight.ContextHandler(context_code, 3, 3)
    canvas = context.AddCanvas(0, 0, None)
    return context.RemoveCanvas(canvas)
コード例 #13
0
def CannotRemoveViewportTwice(context_code):
    context = dsight.ContextHandler(context_code, 3, 3)
    canvas = context.AddCanvas(0, 0, None)
    viewport = canvas.AddViewport(0, 0, 1, 1)
    canvas.RemoveViewport(viewport)
    return not canvas.RemoveViewport(viewport)