Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Программирование под Unix/Linux > Рисование XFillPolygon


Автор: faith46 23.5.2012, 09:35
Доброго дня! подскажите, пожалуйста, как вывести XFillPolygon залитый не сплошным цветом, а заштрихованным?!
Если есть рабочий пример, поделитесь пожалуйста)

Автор: faith46 23.5.2012, 12:17
Делаю так:

Код

void IndicatorWindow::xDrawPolygon( const QVector< QPoint >& pts, bool filled, QRgb color, int line_width  )
{
   
    XGCValues gcVals;
    gcVals.line_width = line_width;
    XChangeGC( display( ), pixGc( ), GCLineWidth, &gcVals );
    XSetForeground( display( ), pixGc( ), color );
    XSetFillStyle(display( ), pixGc( ), FillOpaqueStippled);

    XPoint *points = new XPoint[pts.size( )];

    for ( int i = 0; i < pts.size( ); ++i )
    {
       points[i].x = pts.at( i ).x( );
       points[i].y = pts.at( i ).y( );
    }


    XFillPolygon(display( ), drawable( ), pixGc( ), points, pts.size( ), Complex, 0);

    delete [] points;
}


Видимо для применения XSetFillStyle(display( ), pixGc( ), FillOpaqueStippled); необходимо установить еще какие-то параметры..




Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)