summaryrefslogtreecommitdiffstats
path: root/doc/src/snippets/code/src_activeqt_control_qaxfactory.cpp
diff options
context:
space:
mode:
authorJason Barron <jbarron@trolltech.com>2009-06-04 16:41:47 (GMT)
committerJason Barron <jbarron@trolltech.com>2009-06-05 08:20:19 (GMT)
commitfd6e80b7cc36ebc111d062301ba8bfca5e6e6f50 (patch)
tree29b1720a5e251045c9ebf0e7331c790b8d6390f0 /doc/src/snippets/code/src_activeqt_control_qaxfactory.cpp
parent7b9b55e3a0deb69a6ff04ee9b76840a5f8d11545 (diff)
downloadQt-fd6e80b7cc36ebc111d062301ba8bfca5e6e6f50.zip
Qt-fd6e80b7cc36ebc111d062301ba8bfca5e6e6f50.tar.gz
Qt-fd6e80b7cc36ebc111d062301ba8bfca5e6e6f50.tar.bz2
Introduce Symbian CFbsBitmap <-> QPixmap conversion functions.
Introduce functions for converting to and from a CFbsBitmap on Symbian. Currently these functions unfortunately have to copy the data to the internal QImage stored in the raster pixmap data backend :( Hopefully we can improve this with a native Symbian pixmap backend in the future. The autotest generates both small and large CFbsBitmaps of different formats and then verifies that the color makes it into the QPixmap. Currently the indexed image formats don't seem to work, but this is most likely because we don't set a palette for them. The semi-trans bitmaps seem to work fine (verified visually), but the current QCOMPARE doesn't consider the fact that the color was alpha blended. Reviewed-by: Sami Merilä
Diffstat (limited to 'doc/src/snippets/code/src_activeqt_control_qaxfactory.cpp')
0 files changed, 0 insertions, 0 deletions
lse #define LEAD_UNDERSCORE "" #endif /* The .so extension module ABI tag, supplied by the Makefile via Makefile.pre.in and configure. This is used to discriminate between incompatible .so files so that extensions for different Python builds can live in the same directory. E.g. foomodule.cpython-32.so */ const char *_PyImport_DynLoadFiletab[] = { #ifdef __CYGWIN__ ".dll", #else /* !__CYGWIN__ */ "." SOABI ".so", ".abi" PYTHON_ABI_STRING ".so", ".so", #endif /* __CYGWIN__ */ NULL, }; static struct { dev_t dev; ino_t ino; void *handle; } handles[128]; static int nhandles = 0; dl_funcptr _PyImport_GetDynLoadFunc(const char *shortname, const char *pathname, FILE *fp) { dl_funcptr p; void *handle; char funcname[258]; char pathbuf[260]; int dlopenflags=0; if (strchr(pathname, '/') == NULL) { /* Prefix bare filename with "./" */ PyOS_snprintf(pathbuf, sizeof(pathbuf), "./%-.255s", pathname); pathname = pathbuf; } PyOS_snprintf(funcname, sizeof(funcname), LEAD_UNDERSCORE "PyInit_%.200s", shortname); if (fp != NULL) { int i; struct stat statb; if (fstat(fileno(fp), &statb) == -1) { PyErr_SetFromErrno(PyExc_IOError); return NULL; } for (i = 0; i < nhandles; i++) { if (statb.st_dev == handles[i].dev && statb.st_ino == handles[i].ino) { p = (dl_funcptr) dlsym(handles[i].handle, funcname); return p; } } if (nhandles < 128) { handles[nhandles].dev = statb.st_dev; handles[nhandles].ino = statb.st_ino; } } dlopenflags = PyThreadState_GET()->interp->dlopenflags; handle = dlopen(pathname, dlopenflags); if (handle == NULL) { PyObject *mod_name; PyObject *path; PyObject *error_ob; const char *error = dlerror(); if (error == NULL) error = "unknown dlopen() error"; error_ob = PyUnicode_FromString(error); if (error_ob == NULL) return NULL; mod_name = PyUnicode_FromString(shortname); if (mod_name == NULL) { Py_DECREF(error_ob); return NULL; } path = PyUnicode_FromString(pathname); if (path == NULL) { Py_DECREF(error_ob); Py_DECREF(mod_name); return NULL; } PyErr_SetImportError(error_ob, mod_name, path); Py_DECREF(error_ob); Py_DECREF(mod_name); Py_DECREF(path); return NULL; } if (fp != NULL && nhandles < 128) handles[nhandles++].handle = handle; p = (dl_funcptr) dlsym(handle, funcname); return p; }