now probing into the Python interface for devctx
This commit is contained in:
@@ -144,15 +144,19 @@ static PyObject *devctxt_select_bitmap(DevCtxtObject *self, BitmapObject *newbmp
|
||||
BitmapObject *old_bitmap = NULL;
|
||||
PBITMAP old_pbmp;
|
||||
|
||||
Log(LDEBUG, "select_bitmap entry");
|
||||
if ((self->pdctxt->flags & DCFLG_TYPES) != DCFLG_IS_MEMORY)
|
||||
{
|
||||
PyErr_SetString(PyExc_RuntimeError, "must select bitmap into memory device context");
|
||||
return NULL;
|
||||
}
|
||||
Log(LDEBUG, "verified 1");
|
||||
old_bitmap = self->selected_bitmap;
|
||||
old_pbmp = (PBITMAP)DC_SelectObject(self->pdctxt, (PGFXOBJECT)(newbmp->pbmp));
|
||||
Log(LDEBUG, "old_bitmap present=%d, old_pbmp present=%d", !!old_bitmap, !!old_pbmp);
|
||||
if (!old_bitmap)
|
||||
{
|
||||
Log(LDEBUG, "need to wrap old bitmap");
|
||||
old_bitmap = (BitmapObject *)Epython_wrap_bitmap(old_pbmp);
|
||||
if (!old_bitmap)
|
||||
{
|
||||
@@ -162,6 +166,7 @@ static PyObject *devctxt_select_bitmap(DevCtxtObject *self, BitmapObject *newbmp
|
||||
else
|
||||
Py_INCREF(old_bitmap);
|
||||
}
|
||||
Log(LDEBUG, "replacement sequence");
|
||||
Py_DECREF(self->selected_bitmap);
|
||||
self->selected_bitmap = newbmp;
|
||||
Py_INCREF(self->selected_bitmap);
|
||||
@@ -171,7 +176,8 @@ static PyObject *devctxt_select_bitmap(DevCtxtObject *self, BitmapObject *newbmp
|
||||
static PyObject *devctxt_select_object(DevCtxtObject *self, PyObject *args)
|
||||
{
|
||||
PyObject *obj;
|
||||
|
||||
|
||||
Log(LDEBUG, "select_object entry");
|
||||
if (!PyArg_ParseTuple(args, "O", &obj))
|
||||
return NULL;
|
||||
if (!obj)
|
||||
@@ -179,6 +185,7 @@ static PyObject *devctxt_select_object(DevCtxtObject *self, PyObject *args)
|
||||
PyErr_SetString(PyExc_RuntimeError, "bad object selected");
|
||||
return NULL;
|
||||
}
|
||||
Log(LDEBUG, "ready to comb objects");
|
||||
if (PyObject_TypeCheck(obj, &BitmapType))
|
||||
return devctxt_select_bitmap(self, (BitmapObject *)obj);
|
||||
PyErr_SetString(PyExc_RuntimeError, "unknown type of object selected");
|
||||
|
||||
Reference in New Issue
Block a user