41 #include <QMutexLocker> 56 #if defined ( PLD_bmpqt ) 57 "bmpqt:Qt Windows bitmap driver:0:qt:66:bmpqt\n" 59 #if defined ( PLD_jpgqt ) 60 "jpgqt:Qt jpg driver:0:qt:67:jpgqt\n" 62 #if defined ( PLD_pngqt ) 63 "pngqt:Qt png driver:0:qt:68:pngqt\n" 65 #if defined ( PLD_ppmqt ) 66 "ppmqt:Qt ppm driver:0:qt:69:ppmqt\n" 68 #if defined ( PLD_tiffqt ) 69 "tiffqt:Qt tiff driver:0:qt:70:tiffqt\n" 71 #if defined ( PLD_svgqt ) && QT_VERSION >= 0x040300 72 "svgqt:Qt SVG driver:0:qt:71:svgqt\n" 74 #if defined ( PLD_qtwidget ) 75 "qtwidget:Qt Widget:1:qt:72:qtwidget\n" 77 #if defined ( PLD_epsqt ) 78 "epsqt:Qt EPS driver:0:qt:73:epsqt\n" 80 #if defined ( PLD_pdfqt ) 81 "pdfqt:Qt PDF driver:0:qt:74:pdfqt\n" 83 #if defined ( PLD_extqt ) 84 "extqt:External Qt driver:0:qt:75:extqt\n" 86 #if defined ( PLD_memqt ) 87 "memqt:Memory Qt driver:0:qt:76:memqt\n" 93 {
"lines_antialiasing",
DRV_INT, &lines_aa,
"Toggles antialiasing on lines (0|1)" },
94 { NULL,
DRV_INT, NULL, NULL } };
109 argv[0] =
new char[10];
110 argv[1] =
new char[1];
115 if ( getenv(
"DISPLAY" ) == NULL )
118 new QApplication(
argc,
argv, isGUI );
168 plwarn(
"All pages after the first skipped because family file output not specified.\n" );
175 #if defined ( PLD_bmpqt ) || defined ( PLD_jpgqt ) || defined ( PLD_pngqt ) || defined ( PLD_ppmqt ) || defined ( PLD_tiffqt ) || defined ( PLD_memqt ) 176 void plD_init_rasterqt(
PLStream * );
177 void plD_eop_rasterqt(
PLStream * );
178 void plD_line_rasterqt(
PLStream *,
short,
short,
short,
short );
179 void plD_polyline_rasterqt(
PLStream *,
short*,
short*,
PLINT );
180 void plD_tidy_rasterqt(
PLStream * );
185 #if defined ( PLD_bmpqt ) 190 #if defined ( PLD_jpgqt ) 195 #if defined ( PLD_pngqt ) 200 #if defined ( PLD_ppmqt ) 205 #if defined ( PLD_tiffqt ) 210 #if defined ( PLD_svgqt ) && QT_VERSION >= 0x040300 215 void plD_line_svgqt(
PLStream *,
short,
short,
short,
short );
216 void plD_polyline_svgqt(
PLStream *,
short*,
short*,
PLINT );
222 #if defined ( PLD_epsqt ) || defined ( PLD_pdfqt ) 223 void plD_init_epspdfqt(
PLStream * );
224 void plD_bop_epspdfqt_helper(
PLStream *,
int ifeps );
225 void plD_eop_epspdfqt(
PLStream * );
226 void plD_line_epspdfqt(
PLStream *,
short,
short,
short,
short );
227 void plD_polyline_epspdfqt(
PLStream *,
short*,
short*,
PLINT );
228 void plD_tidy_epspdfqt(
PLStream * );
232 #if defined ( PLD_epsqt ) 236 #if defined ( PLD_pdfqt ) 241 #if defined ( PLD_qtwidget ) 243 void plD_init_qtwidget(
PLStream * );
244 void plD_eop_qtwidget(
PLStream * );
245 void plD_wait_qtwidget(
PLStream * );
246 void plD_line_qtwidget(
PLStream *,
short,
short,
short,
short );
247 void plD_polyline_qtwidget(
PLStream *,
short*,
short*,
PLINT );
248 void plD_tidy_qtwidget(
PLStream * );
251 void plD_bop_qtwidget(
PLStream * );
254 #if defined ( PLD_extqt ) 258 void plD_line_extqt(
PLStream *,
short,
short,
short,
short );
259 void plD_polyline_extqt(
PLStream *,
short*,
short*,
PLINT );
266 #if defined ( PLD_memqt ) 274 #if defined ( PLD_bmpqt ) || defined ( PLD_jpgqt ) || defined ( PLD_pngqt ) || defined ( PLD_ppmqt ) || defined ( PLD_tiffqt ) || defined ( PLD_memqt ) 306 if ( pls->
xdpi <= 0. )
314 pls->
dev =
new QtRasterDevice;
315 pls->
xlength = (
PLINT) ( ( (QtRasterDevice *) ( pls->
dev ) )->m_dWidth );
316 pls->
ylength = (
PLINT) ( ( (QtRasterDevice *) ( pls->
dev ) )->m_dHeight );
322 ( (QtRasterDevice *) pls->
dev )->setPLStream( pls );
325 handler.setMasterDevice( (QtRasterDevice *) ( pls->
dev ) );
334 plP_setpxl( dpi / 25.4 / ( (QtRasterDevice *) ( pls->
dev ) )->downscale, dpi / 25.4 / ( (QtRasterDevice *) ( pls->
dev ) )->downscale );
336 ( (QtRasterDevice *) ( pls->
dev ) )->setResolution( dpi );
344 void plD_eop_rasterqt(
PLStream *pls )
350 ( (QtRasterDevice *) pls->
dev )->savePlot();
351 handler.DeviceChangedPage( (QtRasterDevice *) pls->
dev );
354 void plD_line_rasterqt(
PLStream * pls,
short x1a,
short y1a,
short x2a,
short y2a )
356 QtRasterDevice* widget = (QtRasterDevice *) pls->
dev;
362 if ( widget == NULL )
366 widget->drawLine( x1a, y1a, x2a, y2a );
369 void plD_polyline_rasterqt(
PLStream *pls,
short *xa,
short *ya,
PLINT npts )
371 QtRasterDevice * widget = (QtRasterDevice *) pls->
dev;
377 if ( widget == NULL )
381 widget->drawPolyline( xa, ya, npts );
387 unsigned char *r, *g, *b;
390 QtRasterDevice * widget = (QtRasterDevice *) pls->
dev;
395 if ( widget == NULL )
411 for ( i = 0; i < pls->
dev_npts; i++ )
413 xa[i] = pls->
dev_x[i];
414 ya[i] = pls->
dev_y[i];
417 widget->drawPolygon( xa, ya, pls->
dev_npts );
426 r =
new unsigned char[pls->
ncol1];
427 g =
new unsigned char[pls->
ncol1];
428 b =
new unsigned char[pls->
ncol1];
431 for ( i = 0; i < pls->
ncol1; i++ )
436 alpha[i] = pls->
cmap1[i].
a;
440 for ( i = 0; i < pls->
dev_npts; i++ )
442 xa[i] = pls->
dev_x[i];
443 ya[i] = pls->
dev_y[i];
445 widget->drawPolygon( xa, ya, pls->
dev_npts );
459 widget->drawText( (
EscText *) ptr );
468 QtRasterDevice * widget = (QtRasterDevice *) pls->
dev;
473 if ( widget == NULL )
479 widget->setWidthF( pls->
width );
495 void plD_tidy_rasterqt(
PLStream * pls )
497 QtRasterDevice * widget = (QtRasterDevice *) pls->
dev;
499 if ( widget != NULL )
501 handler.DeviceClosed( widget );
511 #if defined ( PLD_bmpqt ) 514 #ifndef ENABLE_DYNDRIVERS 541 ( (QtRasterDevice *) pls->
dev )->definePlotName( pls->
FileName,
"BMP" );
546 #if defined ( PLD_jpgqt ) 549 #ifndef ENABLE_DYNDRIVERS 576 ( (QtRasterDevice *) pls->
dev )->definePlotName( pls->
FileName,
"JPG" );
581 #if defined ( PLD_pngqt ) 584 #ifndef ENABLE_DYNDRIVERS 611 ( (QtRasterDevice *) pls->
dev )->definePlotName( pls->
FileName,
"PNG" );
616 #if defined ( PLD_ppmqt ) 619 #ifndef ENABLE_DYNDRIVERS 646 ( (QtRasterDevice *) pls->
dev )->definePlotName( pls->
FileName,
"PPM" );
651 #if defined ( PLD_tiffqt ) 654 #ifndef ENABLE_DYNDRIVERS 670 void plD_bop_tiffqt(
PLStream *pls )
681 ( (QtRasterDevice *) pls->
dev )->definePlotName( pls->
FileName,
"TIFF" );
686 #if defined ( PLD_svgqt ) && QT_VERSION >= 0x040300 689 #ifndef ENABLE_DYNDRIVERS 705 void plD_init_svgqt(
PLStream * pls )
736 pls->
dev =
new QtSVGDevice;
737 pls->
xlength = (int) ( ( (QtSVGDevice *) ( pls->
dev ) )->m_dWidth );
738 pls->
ylength = (int) ( ( (QtSVGDevice *) ( pls->
dev ) )->m_dHeight );
744 ( (QtSVGDevice *) pls->
dev )->setPLStream( pls );
747 handler.setMasterDevice( (QtSVGDevice *) ( pls->
dev ) );
775 ( (QtSVGDevice *) pls->
dev )->definePlotName( pls->
FileName );
788 ( (QtSVGDevice *) pls->
dev )->savePlot();
791 downscale = ( (QtSVGDevice *) pls->
dev )->downscale;
792 s = ( (QtSVGDevice *) pls->
dev )->size();
793 bool isMaster = ( handler.isMasterDevice( (QtSVGDevice *) pls->
dev ) );
794 delete ( (QtSVGDevice *) pls->
dev );
796 pls->
dev =
new QtSVGDevice( s.width(), s.height() );
797 ( (QtSVGDevice *) pls->
dev )->downscale = downscale;
798 ( (QtSVGDevice *) pls->
dev )->setPLStream( pls );
801 handler.setMasterDevice( (QtSVGDevice *) pls->
dev );
802 handler.DeviceChangedPage( (QtSVGDevice *) pls->
dev );
805 void plD_line_svgqt(
PLStream * pls,
short x1a,
short y1a,
short x2a,
short y2a )
807 QtSVGDevice* widget = (QtSVGDevice *) pls->
dev;
812 if ( widget == NULL )
816 widget->drawLine( x1a, y1a, x2a, y2a );
819 void plD_polyline_svgqt(
PLStream *pls,
short *xa,
short *ya,
PLINT npts )
821 QtSVGDevice * widget = (QtSVGDevice *) pls->
dev;
826 if ( widget == NULL )
830 widget->drawPolyline( xa, ya, npts );
836 unsigned char *r, *g, *b;
839 QtSVGDevice * widget = (QtSVGDevice *) pls->
dev;
844 if ( widget == NULL )
853 for ( i = 0; i < pls->
dev_npts; i++ )
855 xa[i] = pls->
dev_x[i];
856 ya[i] = pls->
dev_y[i];
859 widget->drawPolygon( xa, ya, pls->
dev_npts );
868 r =
new unsigned char[pls->
ncol1];
869 g =
new unsigned char[pls->
ncol1];
870 b =
new unsigned char[pls->
ncol1];
873 for ( i = 0; i < pls->
ncol1; i++ )
878 alpha[i] = pls->
cmap1[i].
a;
882 for ( i = 0; i < pls->
dev_npts; i++ )
884 xa[i] = pls->
dev_x[i];
885 ya[i] = pls->
dev_y[i];
887 widget->drawPolygon( xa, ya, pls->
dev_npts );
901 widget->drawText( (
EscText *) ptr );
911 QtSVGDevice * widget = (QtSVGDevice *) pls->
dev;
916 if ( widget == NULL )
922 widget->setWidthF( pls->
width );
937 void plD_tidy_svgqt(
PLStream * pls )
939 QtSVGDevice * widget = (QtSVGDevice *) pls->
dev;
941 if ( widget != NULL )
943 handler.DeviceClosed( widget );
953 #if defined ( PLD_epsqt ) 956 #ifndef ENABLE_DYNDRIVERS 973 #if defined ( PLD_pdfqt ) 976 #ifndef ENABLE_DYNDRIVERS 993 #if defined ( PLD_epsqt ) || defined ( PLD_pdfqt ) 994 void plD_init_epspdfqt(
PLStream * pls )
1027 pls->
dev =
new QtEPSDevice;
1028 pls->
xlength = (int) ( ( (QtEPSDevice *) ( pls->
dev ) )->m_dWidth );
1029 pls->
ylength = (int) ( ( (QtEPSDevice *) ( pls->
dev ) )->m_dHeight );
1035 ( (QtEPSDevice *) pls->
dev )->setPLStream( pls );
1038 handler.setMasterDevice( (QtEPSDevice *) ( pls->
dev ) );
1055 void plD_bop_epspdfqt_helper(
PLStream *pls,
int ifeps )
1066 ( (QtEPSDevice *) pls->
dev )->definePlotName( pls->
FileName, ifeps );
1070 void plD_eop_epspdfqt(
PLStream *pls )
1078 ( (QtEPSDevice *) pls->
dev )->savePlot();
1081 downscale = ( (QtEPSDevice *) pls->
dev )->downscale;
1082 bool isMaster = handler.isMasterDevice( (QtEPSDevice *) pls->
dev );
1083 delete ( (QtEPSDevice *) pls->
dev );
1085 pls->
dev =
new QtEPSDevice;
1086 ( (QtEPSDevice *) pls->
dev )->downscale = downscale;
1089 handler.setMasterDevice( (QtEPSDevice *) pls->
dev );
1090 handler.DeviceChangedPage( (QtEPSDevice *) pls->
dev );
1093 void plD_line_epspdfqt(
PLStream * pls,
short x1a,
short y1a,
short x2a,
short y2a )
1095 QtEPSDevice* widget = (QtEPSDevice *) pls->
dev;
1100 if ( widget == NULL )
1104 widget->drawLine( x1a, y1a, x2a, y2a );
1107 void plD_polyline_epspdfqt(
PLStream *pls,
short *xa,
short *ya,
PLINT npts )
1109 QtEPSDevice * widget = (QtEPSDevice *) pls->
dev;
1114 if ( widget == NULL )
1118 widget->drawPolyline( xa, ya, npts );
1121 void plD_esc_epspdfqt(
PLStream * pls,
PLINT op,
void* ptr )
1124 unsigned char *r, *g, *b;
1127 QtEPSDevice * widget = (QtEPSDevice *) pls->
dev;
1134 if ( widget == NULL )
1143 for ( i = 0; i < pls->
dev_npts; i++ )
1145 xa[i] = pls->
dev_x[i];
1146 ya[i] = pls->
dev_y[i];
1149 widget->drawPolygon( xa, ya, pls->
dev_npts );
1158 r =
new unsigned char[pls->
ncol1];
1159 g =
new unsigned char[pls->
ncol1];
1160 b =
new unsigned char[pls->
ncol1];
1163 for ( i = 0; i < pls->
ncol1; i++ )
1168 alpha[i] = pls->
cmap1[i].
a;
1172 for ( i = 0; i < pls->
dev_npts; i++ )
1174 xa[i] = pls->
dev_x[i];
1175 ya[i] = pls->
dev_y[i];
1177 widget->drawPolygon( xa, ya, pls->
dev_npts );
1191 widget->drawText( (
EscText *) ptr );
1195 widget->drawArc( arc_info->x, arc_info->y, arc_info->a, arc_info->b, arc_info->angle1, arc_info->angle2, arc_info->rotate, arc_info->fill );
1204 QtEPSDevice * widget = (QtEPSDevice *) pls->
dev;
1209 if ( widget == NULL )
1215 widget->setWidthF( pls->
width );
1231 void plD_tidy_epspdfqt(
PLStream * pls )
1233 QtEPSDevice * widget = (QtEPSDevice *) pls->
dev;
1235 if ( widget != NULL )
1237 handler.DeviceClosed( widget );
1247 #if defined ( PLD_epsqt ) 1248 void plD_bop_epsqt(
PLStream *pls )
1250 plD_bop_epspdfqt_helper( pls, 1 );
1254 #if defined ( PLD_pdfqt ) 1255 void plD_bop_pdfqt(
PLStream *pls )
1257 plD_bop_epspdfqt_helper( pls, 0 );
1261 #if defined ( PLD_qtwidget ) 1264 #ifndef ENABLE_DYNDRIVERS 1281 void plD_init_qtwidget(
PLStream * pls )
1292 widget =
new QtPLWidget;
1293 pls->
dev = (
void *) widget;
1294 pls->
xlength = (int) widget->m_dWidth;
1295 pls->
ylength = (
int) widget->m_dHeight;
1300 pls->
dev = (
void *) widget;
1302 widget->setPLStream( pls );
1305 handler.setMasterDevice( widget );
1307 if ( plsc->xlength > plsc->ylength )
1315 QPainter tempPainter( &temp );
1317 plP_setpxl( temp.logicalDpiX() / 25.4 / widget->downscale, temp.logicalDpiY() / 25.4 / widget->downscale );
1338 widget->setVisible(
true );
1339 widget->resize( plsc->xlength, plsc->ylength );
1340 widget->move( plsc->xoffset, plsc->yoffset );
1342 widget->setWindowTitle( pls->
plwindow );
1344 qApp->connect( &handler, SIGNAL( MasterChangedPage() ), widget, SLOT( nextPage() ) );
1345 qApp->connect( &handler, SIGNAL( MasterClosed() ), widget, SLOT( close() ) );
1348 void plD_eop_qtwidget(
PLStream *pls )
1350 QtPLWidget* widget = ( (QtPLWidget *) pls->
dev );
1356 void plD_wait_qtwidget(
PLStream *pls )
1358 QtPLWidget* widget = ( (QtPLWidget *) pls->
dev );
1359 int currentPage = widget->pageNumber;
1362 while ( currentPage == widget->pageNumber && handler.isMasterDevice( widget ) )
1364 qApp->processEvents( QEventLoop::WaitForMoreEvents );
1368 void plD_bop_qtwidget(
PLStream *pls )
1370 QtPLWidget* widget = ( (QtPLWidget *) pls->
dev );
1374 void plD_line_qtwidget(
PLStream * pls,
short x1a,
short y1a,
short x2a,
short y2a )
1376 QtPLWidget* widget = (QtPLWidget *) pls->
dev;
1377 if ( widget == NULL )
1381 widget->drawLine( x1a, y1a, x2a, y2a );
1384 void plD_polyline_qtwidget(
PLStream *pls,
short *xa,
short *ya,
PLINT npts )
1386 QtPLWidget * widget = (QtPLWidget *) pls->
dev;
1387 if ( widget == NULL )
1391 widget->drawPolyline( xa, ya, npts );
1394 void plD_esc_qtwidget(
PLStream * pls,
PLINT op,
void* ptr )
1398 unsigned char *r, *g, *b;
1400 QtPLWidget * widget = (QtPLWidget *) pls->
dev;
1402 if ( widget == NULL )
1411 for ( i = 0; i < pls->
dev_npts; i++ )
1413 xa[i] = pls->
dev_x[i];
1414 ya[i] = pls->
dev_y[i];
1418 widget->drawPolygon( xa, ya, pls->
dev_npts );
1427 r =
new unsigned char[pls->
ncol1];
1428 g =
new unsigned char[pls->
ncol1];
1429 b =
new unsigned char[pls->
ncol1];
1432 for ( i = 0; i < pls->
ncol1; i++ )
1437 alpha[i] = pls->
cmap1[i].
a;
1441 for ( i = 0; i < pls->
dev_npts; i++ )
1443 xa[i] = pls->
dev_x[i];
1444 ya[i] = pls->
dev_y[i];
1446 widget->drawPolygon( xa, ya, pls->
dev_npts );
1458 widget->drawText( (
EscText *) ptr );
1462 widget->drawArc( arc_info->x, arc_info->y, arc_info->a, arc_info->b, arc_info->angle1, arc_info->angle2, arc_info->rotate, arc_info->fill );
1477 QtPLWidget * widget = (QtPLWidget *) pls->
dev;
1478 if ( widget == NULL )
1484 widget->setWidthF( pls->
width );
1500 void plD_tidy_qtwidget(
PLStream * pls )
1502 QtPLWidget * widget = (QtPLWidget *) pls->
dev;
1504 if ( widget != NULL )
1506 handler.DeviceClosed( widget );
1515 #if defined ( PLD_extqt ) 1518 #ifndef ENABLE_DYNDRIVERS 1534 void plD_init_extqt(
PLStream * pls )
1541 if ( pls->
dev == NULL )
1543 printf(
"Error: use plsetqtdev to set up the Qt device before calling plinit()\n" );
1547 QtExtWidget* widget = (QtExtWidget *) ( pls->
dev );
1549 if ( widget->m_dWidth > widget->m_dHeight )
1557 QPainter tempPainter( &temp );
1559 plP_setpxl( temp.logicalDpiX() / 25.4 / widget->downscale, temp.logicalDpiY() / 25.4 / widget->downscale );
1587 void plD_line_extqt(
PLStream * pls,
short x1a,
short y1a,
short x2a,
short y2a )
1589 QtExtWidget * widget = NULL;
1591 widget = (QtExtWidget *) pls->
dev;
1593 widget->drawLine( x1a, y1a, x2a, y2a );
1596 void plD_polyline_extqt(
PLStream *pls,
short *xa,
short *ya,
PLINT npts )
1598 QtExtWidget * widget = NULL;
1600 widget = (QtExtWidget *) pls->
dev;
1602 widget->drawPolyline( xa, ya, npts );
1609 unsigned char *r, *g, *b;
1611 QtExtWidget * widget = NULL;
1614 widget = (QtExtWidget *) pls->
dev;
1621 for ( i = 0; i < pls->
dev_npts; i++ )
1623 xa[i] = pls->
dev_x[i];
1624 ya[i] = pls->
dev_y[i];
1627 widget->drawPolygon( xa, ya, pls->
dev_npts );
1636 r =
new unsigned char[pls->
ncol1];
1637 g =
new unsigned char[pls->
ncol1];
1638 b =
new unsigned char[pls->
ncol1];
1641 for ( i = 0; i < pls->
ncol1; i++ )
1646 alpha[i] = pls->
cmap1[i].
a;
1650 for ( i = 0; i < pls->
dev_npts; i++ )
1652 xa[i] = pls->
dev_x[i];
1653 ya[i] = pls->
dev_y[i];
1655 widget->drawPolygon( xa, ya, pls->
dev_npts );
1669 widget->drawText( (
EscText *) ptr );
1673 widget->drawArc( arc_info->
x, arc_info->
y, arc_info->
a, arc_info->
b, arc_info->
angle1, arc_info->
angle2, arc_info->
rotate, arc_info->
fill );
1682 QtExtWidget * widget = NULL;
1684 widget = (QtExtWidget *) pls->
dev;
1688 widget->setWidthF( pls->
width );
1704 void plD_tidy_extqt(
PLStream * pls )
1706 QtExtWidget * widget = NULL;
1708 widget = (QtExtWidget *) pls->
dev;
1709 if ( widget != NULL )
1711 handler.DeviceClosed( widget );
1724 void plD_bop_extqt(
PLStream *pls )
1726 QtExtWidget * widget = NULL;
1727 widget = (QtExtWidget *) pls->
dev;
1732 #if defined ( PLD_memqt ) 1735 #ifndef ENABLE_DYNDRIVERS 1751 void plD_init_memqt(
PLStream * pls )
1755 unsigned char *qt_mem;
1756 unsigned char *input_mem;
1786 if ( pls->
xdpi <= 0. )
1797 input_mem = (
unsigned char *) pls->
dev;
1801 ( (QtRasterDevice *) pls->
dev )->setPLStream( pls );
1802 ( (QtRasterDevice *) pls->
dev )->memory = input_mem;
1805 handler.setMasterDevice( (QtRasterDevice *) ( pls->
dev ) );
1814 plP_setpxl( dpi / 25.4 / ( (QtRasterDevice *) ( pls->
dev ) )->downscale, dpi / 25.4 / ( (QtRasterDevice *) ( pls->
dev ) )->downscale );
1820 qt_mem = ( (QtRasterDevice *) pls->
dev )->scanLine( 0 );
1824 qt_mem[2] = input_mem[0];
1825 qt_mem[1] = input_mem[1];
1826 qt_mem[0] = input_mem[2];
1829 qt_mem[3] = input_mem[3];
1839 ( (QtRasterDevice *) ( pls->
dev ) )->setResolution( dpi );
1850 void plD_eop_memqt(
PLStream *pls )
1853 unsigned char *memory;
1854 unsigned char *qt_mem;
1856 memory = ( (QtRasterDevice *) pls->
dev )->memory;
1857 qt_mem = ( (QtRasterDevice *) pls->
dev )->scanLine( 0 );
1861 memory[0] = qt_mem[2];
1862 memory[1] = qt_mem[1];
1863 memory[2] = qt_mem[0];
1866 memory[3] = qt_mem[3];
int plParseDrvOpts(DrvOpt *acc_opt)
PLDLLIMPEXP_DRIVER void plD_dispatch_init_bmpqt(PLDispatchTable *pdt)
PLDLLIMPEXP_DRIVER void plD_dispatch_init_memqt(PLDispatchTable *pdt)
PLDLLIMPEXP_DRIVER void plD_dispatch_init_ppmqt(PLDispatchTable *pdt)
bool initQtApp(bool isGUI)
static int qt_family_check(PLStream *pls)
void plOpenFile(PLStream *pls)
void plCloseFile(PLStream *pls)
void plGetFam(PLStream *pls)
void(* plD_tidy_fp)(struct PLStream_struct *)
void(* plD_init_fp)(struct PLStream_struct *)
PLDLLIMPEXP_DRIVER_DATA(const char *) plD_DEVICE_INFO_qt
void(* plD_eop_fp)(struct PLStream_struct *)
void(* plD_wait_fp)(struct PLStream_struct *)
void plFamInit(PLStream *pls)
PLDLLIMPEXP_DRIVER void plD_dispatch_init_extqt(PLDispatchTable *pdt)
void(* plD_line_fp)(struct PLStream_struct *, short, short, short, short)
void(* plD_esc_fp)(struct PLStream_struct *, PLINT, void *)
void(* plD_polyline_fp)(struct PLStream_struct *, short *, short *, PLINT)
static DrvOpt qt_options[]
PLDLLIMPEXP_DRIVER void plD_dispatch_init_tiffqt(PLDispatchTable *pdt)
void plP_setpxl(PLFLT xpmm, PLFLT ypmm)
static PLStream * pls[PL_NSTREAMS]
void plP_setphy(PLINT xmin, PLINT xmax, PLINT ymin, PLINT ymax)
static bool internal_qApp
PLDLLIMPEXP_DRIVER void plD_dispatch_init_pdfqt(PLDispatchTable *pdt)
void(* plD_bop_fp)(struct PLStream_struct *)
static int already_warned
PLDLLIMPEXP_DRIVER void plD_dispatch_init_epsqt(PLDispatchTable *pdt)
void plwarn(PLCHAR_VECTOR errormsg)
PLDLLIMPEXP_DRIVER void plD_dispatch_init_qtwidget(PLDispatchTable *pdt)
PLDLLIMPEXP_DRIVER void plD_dispatch_init_jpgqt(PLDispatchTable *pdt)
PLDLLIMPEXP_DRIVER void plD_dispatch_init_svgqt(PLDispatchTable *pdt)
static int internal_qAppCounter
plD_polyline_fp pl_polyline
void(* plD_state_fp)(struct PLStream_struct *, PLINT)
PLDLLIMPEXP_DRIVER void plD_dispatch_init_pngqt(PLDispatchTable *pdt)