Esempio n. 1
0
void Selection::transform(QTransform transform, int pageNum)
{
  m_selectionPolygon = transform.map(m_selectionPolygon);

  qreal sx = transform.m11();
  qreal sy = transform.m22();
  qreal s = (sx + sy) / 2.0;

  for (int i = 0; i < m_strokes.size(); ++i)
  {
    m_strokes[i].points = transform.map(m_strokes[i].points);
    /*
    'if (!transform.isRotating())' doesn't work, since rotation of 180 and 360 degrees is treated as a scaling transformation. Same goes for
    'if (transform.isScaling())'
    */
    if (transform.determinant() != 1)
    {
      m_strokes[i].penWidth = m_strokes[i].penWidth * s;
    }
  }
  if (transform.determinant() != 1)
  {
    m_x_padding *= sx;
    m_y_padding *= sy;
  }
  if (transform.isRotating())
  {
    m_x_padding = m_padding;
    m_y_padding = m_padding;
  }

  m_angle = 0.0;

  setPageNum(pageNum);
}
Esempio n. 2
0
void Browser::output_formatCB(Widget , XtPointer , XtPointer )
{
#ifdef Comment
UIVDATA *uivdata;
    
    XtVaGetValues(w, XmNuserData, &uivdata, NULL);
    set_watch(uivdata->text);
    if(w == uivdata->ascii_w)
	uivdata->output_format = ASCII;
    else if(w == uivdata->hex8_w)
	uivdata->output_format = HEX8;
    else if(w == uivdata->hex16_w)
	uivdata->output_format = HEX16;
    else if(w == uivdata->hex32_w)
	uivdata->output_format = HEX32;
    else if(w == uivdata->float_w)
	uivdata->output_format = FLOAT;
    else if(w == uivdata->double_w)
	uivdata->output_format = DOUBLE;

    setPageNum(uivdata, uivdata->page_num);
    reset_cursor(uivdata->text);
#endif
}