54 lines
1.6 KiB
Plaintext
54 lines
1.6 KiB
Plaintext
// Filename: pythonTask.I
|
|
// Created by: drose (16Sep08)
|
|
//
|
|
////////////////////////////////////////////////////////////////////
|
|
//
|
|
// PANDA 3D SOFTWARE
|
|
// Copyright (c) Carnegie Mellon University. All rights reserved.
|
|
//
|
|
// All use of this software is subject to the terms of the revised BSD
|
|
// license. You should have received a copy of this license along
|
|
// with this source code in a file named "LICENSE."
|
|
//
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: PythonTask::set_delay
|
|
// Access: Public
|
|
// Description: If None is passed, calls clear_delay, otherwise
|
|
// sets the delay time. See AsyncTask::set_delay()
|
|
// and AsyncTask::clear_delay().
|
|
////////////////////////////////////////////////////////////////////
|
|
INLINE void PythonTask::
|
|
set_delay(PyObject *delay) {
|
|
if (delay == Py_None) {
|
|
AsyncTask::clear_delay();
|
|
return;
|
|
}
|
|
|
|
PyObject *value = PyNumber_Float(delay);
|
|
if (value == NULL) {
|
|
return;
|
|
}
|
|
|
|
AsyncTask::set_delay(PyFloat_AS_DOUBLE(value));
|
|
Py_DECREF(value);
|
|
}
|
|
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: PythonTask::get_delay
|
|
// Access: Public
|
|
// Description: Returns the delay time if set, None otherwise.
|
|
// See AsyncTask::has_delay() and AsyncTask::get_delay().
|
|
////////////////////////////////////////////////////////////////////
|
|
INLINE PyObject *PythonTask::
|
|
get_delay() const {
|
|
if (AsyncTask::has_delay()) {
|
|
return PyFloat_FromDouble(AsyncTask::get_delay());
|
|
} else {
|
|
Py_INCREF(Py_None);
|
|
return Py_None;
|
|
}
|
|
}
|