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)